Multi-Head Latent Attention mengubah state yang dipertahankan selama decoding autoregresif. Alih-alih mengharuskan cache berisi tensor key dan value penuh untuk setiap token serta attention head, arsitektur ini dapat menyimpan representasi laten berdimensi lebih kecil dan membentuk informasi key/value spesifik head melalui struktur proyeksi.
Perbedaannya berada tepat pada batas cache. Multi-head attention konvensional umumnya menyimpan key dan value per head setelah proyeksi. MLA memindahkan sebagian representasi tersebut ke balik bottleneck yang ringkas, sehingga bentuk state persisten tidak lagi sama dengan bentuk komputasi yang dikonsumsi attention.
Batas cache berpindah ke ruang laten
Untuk hidden state h_t pada posisi token t, jalur konvensional yang disederhanakan dapat ditulis sebagai:
K_t = h_t W_K
V_t = h_t W_V
cache <- (K_t, V_t)Dengan susunan ini, cache bertambah mengikuti dimensi state key dan value yang sudah diproyeksikan.
Jalur bergaya MLA menambahkan state terkompresi:
c_t = h_t W_D
cache <- c_tW_D merupakan down-projection. Transformasi spesifik head kemudian dapat menghasilkan representasi yang diperlukan attention dari c_t melalui struktur proyeksi tambahan.
Ini merupakan batas kompresi pada arsitektur, bukan codec penyimpanan umum. Vektor laten menjadi bagian dari komputasi model. Mengecilkan tensor cache MHA secara sembarang tidak menghasilkan MLA jika checkpoint dan execution graph tidak dibangun untuk representasi tersebut.
Struktur low-rank menukar state persisten dengan kerja proyeksi
KV cache penuh menyimpan informasi setelah ekspansi ke dimensi yang dipakai attention head. MLA memfaktorkan sebagian proyeksi melalui dimensi antara yang lebih kecil.
Secara konseptual, sebuah matriks dapat direpresentasikan melalui dua faktor:
W ~= W_D W_Udengan rank antara yang lebih kecil daripada lebar proyeksi awal. Pada MLA, faktorisasi konkret dan layout tensor bergantung pada model; sifat persamaan atau aproksimasinya mengikuti arsitektur dan proses training yang dipakai.
Dampaknya pada serving cukup jelas: jumlah elemen persisten per token dapat berkurang, sementara sebagian kerja proyeksi berpindah ke jalur eksekusi. Keseimbangan antara traffic memori dan operasi aritmetika ikut berubah. Hal ini tidak menjamin latency yang lebih rendah pada setiap perangkat. Kernel fusion, bentuk batch, panjang konteks, layout tensor parallel, bandwidth memori, dan throughput accelerator tetap menentukan hasil pengukuran.
Informasi posisi membatasi kompresi key
Transformasi posisi rotary tidak dapat dipindahkan secara bebas melewati setiap proyeksi tanpa risiko mengubah fungsi. Jika representasi key dikompresi sebelum transformasi yang bergantung pada posisi, eksekusi berikutnya tetap harus mempertahankan semantik posisi yang ditetapkan model.
Karena itu, desain MLA memerlukan batas yang jelas antara konten dalam state laten terkompresi dan komponen key yang membawa informasi posisi. Pembagian persisnya merupakan bagian dari arsitektur. Runtime tidak dapat memindahkan RoPE, menggabungkan dimensinya ke tensor lain, atau menyimpan intermediate berbeda hanya karena bentuk tensor tersebut lebih praktis.
Batas ini juga membedakan MLA dari kuantisasi cache biasa. Kuantisasi mengubah representasi numerik state yang disimpan dan membawa error rekonstruksi sesuai formatnya. MLA mengubah state model mana yang disimpan sejak awal.
Keragaman head tetap ada setelah kompresi
State laten bersama tidak membuat semua attention head identik. Proyeksi spesifik head dapat memetakan state ringkas yang sama ke subruang key atau value yang berbeda.
Untuk state laten c_t, ekspansi skematisnya dapat ditulis:
K_t^(i) = c_t U_K^(i)
V_t^(i) = c_t U_V^(i)untuk head i. Parameter proyeksi yang berbeda mempertahankan transformasi spesifik head walaupun sumber state persistennya dipakai bersama.
Mekanisme ini berbeda dari Grouped-Query Attention. GQA mengurangi jumlah KV head yang berbeda lalu membuat beberapa query head memakai KV head yang sama. MLA memakai representasi laten terkompresi beserta struktur proyeksi. Keduanya dapat menekan kebutuhan KV cache, tetapi parameterisasi dan semantik cache keduanya tidak sama.
Eksekusi decode dapat menyerap proyeksi pada lokasi berbeda
Sifat asosiatif perkalian matriks memungkinkan sebagian operasi linear disusun ulang tanpa harus membentuk setiap tensor hasil ekspansi secara eksplisit. Implementasi dapat menggabungkan matriks proyeksi yang kompatibel sebelum eksekusi atau memindahkan proyeksi ke sisi query/output jika aljabar dan graph model mengizinkannya.
Penyusunan ulang tersebut tetap dibatasi oleh ekuivalensi matematis. Operasi nonlinear, transformasi posisi, batas kuantisasi, perubahan presisi, serta komunikasi tensor parallel dapat mencegah rewrite yang tampak valid dari bentuk matriks saja.
Karena itu, rekonstruksi tensor KV penuh bukan persyaratan universal pada runtime. Implementasi tertentu dapat menghindari materialisasi representasi tersebut. Invarian arsitekturalnya adalah hasil komputasi harus tetap sesuai dengan fungsi attention yang ditetapkan checkpoint dalam batas perilaku numerik runtime.
Ukuran cache berbeda dari total memori model
Kompresi state KV mengurangi satu komponen memori yang tumbuh bersama panjang sequence aktif dan jumlah request konkuren. Mekanisme ini tidak mengecilkan bobot model, activation sementara, metadata allocator, workspace buffer, atau seluruh communication buffer.
Nilai praktisnya bergantung pada pola serving. Konteks panjang dan banyak sequence decode aktif dapat menjadikan state KV sebagai batas kapasitas serta bandwidth utama. Pada konteks pendek atau eksekusi yang berat di komputasi, bottleneck lain dapat muncul lebih dulu.
Perbandingan yang tepat juga harus memasukkan dimensi laten aktual dan state posisi tambahan yang ikut disimpan. Menghitung hanya vektor konten ringkas sambil mengabaikan tensor persisten lain akan menghasilkan estimasi cache yang terlalu kecil.
Batas teknis MLA bersifat spesifik: parameterisasi attention diubah agar informasi key/value persisten dapat melewati state laten ringkas sebelum dipakai secara spesifik oleh tiap head. Cache yang lebih kecil merupakan konsekuensi arsitektur tersebut, sedangkan kecepatan runtime tetap ditentukan oleh strategi eksekusi lengkap dan perangkat keras.