SelanjutnyaPanduan berikutnya
KServe dan Penyajian Model di Kubernetes
Teknis
PANDUAN Teknis
Arsitektur penyajian yang membagi inferensi model bahasa besar menjadi dua fase terpisah—pengisian awal dan dekode—dan menjalankannya pada kumpulan GPU yang berbeda.
Dengarkan panduan iniDiceritakan oleh AI · ~2 min
Hal ini penting karena kedua fase ini memiliki kebutuhan perangkat keras yang berlawanan, dan memaksa keduanya ke mesin yang sama akan membuang-buang kapasitas dan merugikan latensi.
Ketika LLM menjawab, ia bekerja dalam dua tahap. Pra-pengisian membaca seluruh prompt sekaligus dan membuat cache nilai kunci (KV); ini adalah ledakan besar, paralel, dan terikat komputasi yang memenuhi unit matematika GPU. Dekode kemudian menghasilkan token satu per satu, setiap langkah membaca seluruh cache KV—tetesan yang terikat pada bandwidth memori dan dihitung dengan ringan. Dijalankan bersama-sama, pengisian awal yang panjang menghentikan dekode semua orang (pemblokiran head-of-line), dan pengelompokan keduanya akan menimbulkan gangguan. Disagregasi menempatkan pra-pengisian pada satu kumpulan GPU dan mendekode pada kumpulan GPU lainnya, mentransfer cache KV di antara keduanya melalui interkoneksi cepat seperti NVLink atau InfiniBand. Setiap kumpulan disetel dan diskalakan secara independen, sehingga meningkatkan keluaran yang baik, memperlancar latensi ekor, dan memungkinkan operator mencapai target waktu-ke-token pertama dan waktu-per-token keluaran yang ketat secara bersamaan.
Asisten obrolan merutekan perintah dokumen yang panjang ke kluster pra-pengisian yang banyak melakukan komputasi, lalu mengalirkan balasan dari kluster dekode yang memorinya dioptimalkan agar latensi pengetikan tetap lancar.
NVIDIA Dynamo dan vLLM memungkinkan operator menerapkan kelompok pekerja pra-pengisian dan dekode terpisah sehingga serangkaian perintah yang panjang tidak menghentikan generasi yang sedang berlangsung.
Mooncake (digunakan oleh Kimi dari Moonshot AI) memisahkan pra-pengisian dan dekode serta menambahkan kumpulan cache KV terdistribusi untuk memotong penghitungan ulang cepat yang berlebihan dalam skala besar.
Layanan penyelesaian kode mendedikasikan kumpulan pra-pengisian kecil untuk perintah singkat dan kumpulan dekode besar, karena sebagian besar biaya berasal dari streaming banyak token keluaran.
Harapkan disagregasi menjadi default di tumpukan produksi. Sistem seperti DistServe, Splitwise, dan Mooncake mempopulerkannya, dan vLLM serta NVIDIA Dynamo kini mengirimkan mode terpilah. Penelitian mendorong optimalisasi transfer cache KV, pengumpulan dan penggunaan kembali cache di seluruh permintaan, penyeimbangan ulang dinamis rasio pra-pengisian/dekode dalam lalu lintas yang berpindah, dan integrasi yang lebih erat dengan cache awalan dan pra-pengisian yang dipotong. Ketika jendela konteks berkembang menjadi jutaan token, pemisahan fase-fase ini menjadi semakin penting untuk penyajian latensi rendah dan hemat biaya.
Buletin gratis
Tiga cerita AI terverifikasi setiap pagi hari kerja, ditulis dalam bahasa Inggris sederhana. Gratis selamanya, tanpa iklan.
Satu email setiap hari kerja. Berhenti berlangganan dalam satu klik. Kami tidak pernah menjual atau membagikan alamat Anda.
Uji diri Anda sendiri
Umpan balik instan untuk setiap jawaban, dan sertifikat yang dapat dibagikan dengan ID yang dapat diverifikasi setelah Anda lulus kursus.
Mendukung pendidikan AI gratis. AI Understanding adalah organisasi nirlaba 501(c)(3) — tanpa iklan, tanpa paywall, selamanya. Berikan sumbangan
Arsitektur penyajian yang membagi inferensi model bahasa besar menjadi dua fase terpisah—pengisian awal dan dekode—dan menjalankannya pada kumpulan GPU yang berbeda. Hal ini penting karena kedua fase ini memiliki kebutuhan perangkat keras yang berlawanan, dan memaksa keduanya ke mesin yang sama akan membuang-buang kapasitas dan mengganggu latensi.
Pra-pengisian memproses seluruh prompt secara paralel dan menjenuhkan komputasi, sementara dekode membaca cache KV setiap langkah dan dibatasi oleh bandwidth memori—kebalikan dari kebutuhan yang membenarkan kumpulan yang terpisah dan disetel secara independen.
Pra-pengisian membuat cache KV untuk prompt; dekode memerlukan cache tersebut untuk terus dibuat, sehingga cache dikirimkan melalui interkoneksi cepat ke kumpulan dekode.
Pada GPU bersama, ledakan pra-pengisian yang lama dapat memblokir langkah-langkah dekode yang sedang berlangsung; memisahkannya akan mencegah gangguan tersebut dan menstabilkan latensi ekor.
Pra-pengisian memproses semua token cepat secara bersamaan, sehingga batch yang lebih besar memberi makan inti tensor dengan baik; decode menghasilkan satu token pada satu waktu dan dilindungi oleh memori, sehingga skalanya berbeda.
Tautan dengan bandwidth tinggi dan latensi rendah seperti NVLink (intra-node) dan InfiniBand (antar-node) diperlukan agar transfer KV-cache tidak menjadi hambatan baru.
Teruslah belajar
Panduan lainnya dipilih untuk topik ini
SelanjutnyaPanduan berikutnya
KServe dan Penyajian Model di Kubernetes
Teknis