PANDUAN Teknikal

Penyajian Praisi dan Nyahkod yang diasingkan

Seni bina penyajian yang membahagikan inferens model bahasa besar kepada dua fasa berasingan—praisi dan nyahkod—dan menjalankannya pada kumpulan GPU yang berbeza.

2 min dibacaKemas kini terakhir

Gambaran keseluruhan

It matters because these two phases have opposite hardware appetites, and forcing them onto the same machines wastes capacity and hurts latency.

Menyelam dalam

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.

Wawasan Teknikal

Kedua-dua fasa berbeza dalam kesesakan mereka. Praisi memproses semua token segera secara selari, jadi skala FLOPnya dengan panjang segera dan ia memaksimumkan teras tensor. Nyahkod adalah autoregresif: setiap token baharu memerlukan satu pas ke hadapan yang membaca semula cache KV penuh daripada HBM, jadi daya pemprosesan dikawal oleh lebar jalur memori, bukan pengiraan. Pengasingan mengeksploitasi ini dengan mensaiz, menyusun dan juga memilih keselarian yang berbeza untuk setiap kumpulan, kemudian menghantar cache KV daripada pekerja praisi kepada menyahkod pekerja.

Kesan Strategik

Kos dan bajet

Keputusan seni bina memacu prestasi dan kos operasi selama bertahun-tahun.

Keputusan yang lebih jelas

Pendidikan teknikal membantu pasukan memilih timbunan yang betul, bukan hanya yang terbaharu.

Kawalan kualiti

Pilihan kejuruteraan yang lebih baik mengurangkan insiden kebolehpercayaan dalam pengeluaran.

Masa Depan Penyajian Praisi dan Nyahkod Terpisah

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.

Pelaksanaan Dunia Sebenar

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.

Risiko & Pengawal

Mengoptimumkan satu penanda aras boleh menyembunyikan kelemahan sistem yang lebih luas.

Kos infrastruktur dan penyelenggaraan sering dipandang remeh.

Jurang keselamatan dan pemerhatian boleh berkembang apabila sistem menjadi lebih kompleks.

Hala Tuju Pelaksanaan

1

Tentukan sasaran kependaman, kualiti dan kos sebelum pelaksanaan.

2

Penanda aras di bawah beban realistik dan keadaan data.

3

Pemantauan instrumen untuk ralat, drift dan kesan pengguna.

4

Sediakan laluan balik dan tindak balas insiden sebelum penskalaan.

Teruskan Meneroka

Free newsletter

Get the daily AI briefing

Three verified AI stories every weekday morning, written in plain English. Free forever, no ads.

One email each weekday. Unsubscribe in one click. We never sell or share your address.

Test yourself

Take the Disaggregated Prefill and Decode Serving quiz

Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.

Mulakan kuiz

Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation

Panduan seterusnya

KServe dan Model Serving pada Kubernetes

Soalan lazim

What is Disaggregated Prefill and Decode Serving?

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.

Apakah sebab perkakasan teras untuk memisahkan praisi dan nyahkod ke kumpulan GPU yang berbeza?

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.

Apakah struktur data yang mesti dipindahkan daripada pekerja praisi kepada menyahkod pekerja?

Praisi membina cache KV untuk gesaan; nyahkod memerlukan cache itu untuk terus menjana, jadi cache dihantar melalui sambungan pantas ke kolam penyahkod.

Masalah manakah yang dikurangkan secara khusus dalam persediaan GPU kongsi?

Pada GPU kongsi, letusan praisi yang panjang boleh menyekat langkah penyahkod yang sedang berjalan; memisahkannya menghalang gangguan itu dan menstabilkan kependaman ekor.

Mengapakah praisi boleh dikumpulkan secara agresif tetapi menyahkod faedah daripada penalaan yang berbeza?

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.

Sambungan manakah yang biasanya digunakan untuk mengalihkan cache KV antara kumpulan terpisah?

Pautan jalur lebar tinggi, kependaman rendah seperti NVLink (intra-nod) dan InfiniBand (antara-nod) diperlukan supaya pemindahan KV-cache tidak menjadi kesesakan baharu.