SeterusnyaPanduan seterusnya
KServe dan Model Serving pada Kubernetes
Teknikal
PANDUAN Teknikal
Seni bina penyajian yang membahagikan inferens model bahasa besar kepada dua fasa berasingan—praisi dan nyahkod—dan menjalankannya pada kumpulan GPU yang berbeza.
Dengar panduan iniAI-diceritakan · ~2 min
Ini penting kerana kedua-dua fasa ini mempunyai selera perkakasan yang bertentangan, dan memaksa mereka ke mesin yang sama membazir kapasiti dan menjejaskan kependaman.
Apabila LLM menjawab, ia berfungsi dalam dua peringkat. Praisi membaca keseluruhan gesaan sekaligus dan membina cache nilai kunci (KV); ini adalah letusan besar, selari, terikat pengiraan yang memenuhi unit matematik GPU. Nyahkod kemudian menjana token satu demi satu, setiap langkah membaca keseluruhan cache KV—sebuah titisan yang dikira dengan jalur lebar memori dan mudah dikira. Berjalan bersama-sama, praisi yang panjang menghalang penyahkod semua orang (penyekatan ketua baris), dan menggabungkan kedua-duanya mewujudkan gangguan. Pengasingan meletakkan praisi pada satu kumpulan GPU dan menyahkod pada yang lain, memindahkan cache KV antara mereka melalui sambungan pantas seperti NVLink atau InfiniBand. Setiap kumpulan ditala dan diskalakan secara bebas, menambah baik goodput, melicinkan kependaman ekor, dan membiarkan operator mencapai sasaran masa-ke-pertama-token dan masa-setiap-output-token yang ketat secara serentak.
Pembantu sembang mengarahkan dokumen yang panjang menggesa ke gugusan praisi berat mengira, kemudian menstrim balasan daripada gugusan penyahkod yang dioptimumkan memori untuk memastikan kependaman menaip lancar.
NVIDIA Dynamo dan vLLM membenarkan pengendali menggunakan kumpulan pekerja praisi dan nyahkod yang berasingan supaya gesaan yang panjang tidak membekukan generasi yang sedang berjalan.
Mooncake (digunakan oleh Kimi Moonshot AI) mengasingkan praisi dan menyahkod serta menambahkan kumpulan cache KV yang diedarkan untuk mengurangkan pengiraan semula segera yang berlebihan pada skala.
Perkhidmatan pelengkapan kod mengkhususkan kumpulan praisi kecil untuk gesaan pendek dan kumpulan penyahkod yang besar, kerana kebanyakan kos datang daripada penstriman banyak token output.
Jangkakan pengasingan menjadi lalai dalam susunan pengeluaran. Sistem seperti DistServe, Splitwise dan Mooncake mempopularkannya, dan vLLM dan NVIDIA Dynamo kini menghantar mod terpisah. Penyelidikan sedang mendorong pengoptimuman pemindahan cache KV, pengumpulan cache dan penggunaan semula merentas permintaan, pengimbangan semula dinamik nisbah praisi/nyahkod di bawah trafik peralihan dan penyepaduan yang lebih ketat dengan cache awalan dan praisi bongkah. Apabila tetingkap konteks berkembang menjadi berjuta-juta token, pemisahan fasa ini menjadi semakin penting untuk penyajian yang menjimatkan kos dan kependaman rendah.
Newsletter percuma
Tiga cerita AI yang disahkan setiap pagi hari bekerja, ditulis dalam Bahasa Inggeris biasa. Percuma selamanya, tiada iklan.
Satu e-mel setiap hari bekerja. Berhenti melanggan dalam satu klik. Kami tidak pernah menjual atau berkongsi alamat anda.
Uji diri anda
Maklum balas segera pada setiap jawapan, dan sijil yang boleh dikongsi dengan ID yang boleh disahkan sebaik sahaja anda lulus kursus.
Sokong pendidikan AI percuma. AI Understanding ialah pertubuhan bukan keuntungan 501(c)(3) — tiada iklan, tiada bayaran dinding, selamanya. Buat derma
Seni bina penyajian yang membahagikan inferens model bahasa besar kepada dua fasa berasingan—praisi dan nyahkod—dan menjalankannya pada kumpulan GPU yang berbeza. Ini penting kerana kedua-dua fasa ini mempunyai selera perkakasan yang bertentangan, dan memaksa mereka ke mesin yang sama membazir kapasiti dan menjejaskan kependaman.
Praisi memproses keseluruhan gesaan secara selari dan tepu pengiraan, manakala penyahkod membaca cache KV setiap langkah dan dihadkan oleh lebar jalur memori—selera berlawanan yang mewajarkan kumpulan berasingan yang ditala secara bebas.
Praisi membina cache KV untuk gesaan; nyahkod memerlukan cache itu untuk terus menjana, jadi cache dihantar melalui sambungan pantas ke kolam penyahkod.
Pada GPU kongsi, letusan praisi yang panjang boleh menyekat langkah penyahkod yang sedang berjalan; memisahkannya menghalang gangguan itu dan menstabilkan kependaman ekor.
Praisi memproses semua token segera bersama-sama, jadi kelompok yang lebih besar memberi makan teras tensor dengan baik; nyahkod menjana satu token pada satu masa dan dikawal oleh ingatan, jadi skalanya berbeza.
Pautan jalur lebar tinggi, kependaman rendah seperti NVLink (intra-nod) dan InfiniBand (antara-nod) diperlukan supaya pemindahan KV-cache tidak menjadi kesesakan baharu.
Teruskan belajar
Lebih banyak panduan dipilih untuk topik ini
SeterusnyaPanduan seterusnya
KServe dan Model Serving pada Kubernetes
Teknikal