Langkau ke kandungan
Kembali ke senarai artikel
Infrastructure16分

Strategi Kelompok Inferens ML Perusahaan: Memaksimumkan Daya Pengeluaran GPU

LLM Serving Batching Strategies 2026: Continuous Batching, Chunked Prefill, RadixAttention

竹内 葵Staff Serving Infrastructure Engineer
2026-04-2116分
BatchingvLLMSGLangPagedAttentionRadixAttentionSLO

Strategi Batching Menentukan SLO

Dalam seni bina penghidangan LLM, perkara yang paling langsung mempengaruhi SLO adalah cara batching dibina. Tidak kira betapa canggihnya GPU yang digunakan, untuk memenuhi tiga metrik secara serentak — TTFT (Time To First Token), ITL (Inter-Token Latency), dan aggregate throughput — strategi batching perlu direka bentuk mengikut corak ketibaan permintaan, taburan panjang input, taburan panjang output, dan corak penghunian KV cache. Artikel ini menyusun ciri lima teknik yang digunakan secara nyata pada 2026 — continuous batching, chunked prefill, PagedAttention, RadixAttention, dan sorted batching — berserta kesannya terhadap SLO dan gabungannya dengan prompt cache.

Continuous Batching

Continuous batching (juga dikenali sebagai iteration-level scheduling) adalah kaedah yang menentukan semula komposisi batch pada setiap langkah decode. Berbanding static batching konvensional yang "tidak membenarkan masuk yang baharu sehingga semua permintaan dalam batch yang sama selesai", continuous batching "mengeluarkan permintaan yang selesai segera dan memasukkan permintaan baharu ke slot kosong". Hasilnya, penggunaan GPU kurang terpengaruh oleh ketakseragaman panjang permintaan, dan effective throughput meningkat 2 hingga 4 kali ganda terutama untuk beban kerja sembang dengan varians panjang output yang besar.

Walau bagaimanapun, continuous batching sahaja meninggalkan masalah di mana prefill dan decode berlanggar dalam langkah yang sama. Prefill permintaan dengan gesaan panjang (lebih 8K token) mengambil masa lebih 100ms, dan dalam tempoh itu decode permintaan lain terhenti. Halangan prefill ini mewujudkan ekor panjang dalam taburan ITL.

Chunked Prefill

Chunked prefill membahagikan gesaan panjang kepada potongan kecil (biasanya 512 hingga 2,048 token) dan memproses secara serentak "1 potongan prefill + decode permintaan lain" dalam setiap iterasi. Ini menyebarkan beban prefill merentasi pelbagai langkah, mengurangkan jitter ITL dengan drastik. Ini adalah ciri yang diperlukan untuk sistem yang perlu mengekalkan p99 ITL di bawah 50ms, dan disokong sebagai standard oleh vLLM, SGLang, dan TensorRT-LLM.

Jika saiz potongan terlalu kecil, overhed pelancaran kernel menjadi dominan; jika terlalu besar, decode akan terhenti semula. Sebagai peraturan praktik KGA, 4,096 hingga 8,192 token adalah titik permulaan yang wajar untuk H200, dan 8,192 hingga 16,384 token untuk B200. Menggabungkan prefill yang terikat compute dengan decode yang terikat memori mempunyai kesan sampingan di mana MFU menjadi lebih tinggi berbanding pemprosesan secara berasingan, kerana kedua-dua compute dan memori GPU digunakan secara serentak.

PagedAttention

PagedAttention adalah kaedah mengurus KV cache dengan membahagikannya kepada halaman bersaiz tetap (biasanya 16 token), dan merupakan teras vLLM. Ia mengurangkan fragmentasi memori secara drastik dan memberikan kapasiti efektif 2 hingga 4 kali ganda dalam penggunaan memori fizikal. Pada 2026, bukan sahaja vLLM tetapi juga sebahagian besar TensorRT-LLM, SGLang, dan DeepSpeed-Inference telah menggunakan mekanisme paging yang serupa.

PagedAttention juga penting sebagai asas "perkongsian prefix" — berbilang permintaan yang menggunakan gesaan sistem yang sama merujuk halaman yang sama, hanya menyimpan satu KV fizikal. Walau bagaimanapun, caching prefix asal vLLM adalah "unit prefix padanan tepat", dan untuk padanan separa atau pengoptimuman merentasi penyewa, RadixAttention menang.

RadixAttention

RadixAttention yang dicadangkan oleh SGLang mengurus KV cache menggunakan struktur radix tree, memungkinkan perkongsian "sebarang serpihan prefix". Gesaan sistem, contoh few-shot, definisi alat, konteks bersama penyewa — struktur bersarang tersebut dikesan secara automatik dan KV fizikal diagregat ke satu tempat.

Dalam ujian sebenar, RadixAttention menunjukkan pengurangan kos prefill sebanyak 40 hingga 60% dan peningkatan median TTFT sebanyak 30 hingga 45% berbanding caching prefix vLLM dalam sembang berbilang giliran dengan gesaan sistem bersama (purata 8 giliran, 256 sesi serentak). Untuk beban kerja ejen yang mengandungi definisi alat panjang, perbezaan 2 hingga 3 kali ganda kadang-kadang berlaku.

Sebaliknya, reka bentuk polisi eviction adalah sukar — penerapan mudah LRU menyebabkan TTFT melambung apabila penyewa aktif dan tidak aktif bergantian. Di KGA, kami memilih antara LRU berwajaran mengikut keutamaan setiap penyewa, atau hard partitioning yang memperuntukkan partition penyewa secara tetap, bergantung kepada keadaan.

Sorted Batching

Sorted batching adalah strategi "mengumpulkan permintaan dengan panjang input atau saki panjang output yang hampir sama dalam batch yang sama". Continuous batching naif menghasilkan ketidakcekapan padding dan padding mask apabila panjang bercampur, tetapi sorted batching mengurangkan ini. Sehingga 2026, ini lebih merupakan ciri yang dilaksanakan oleh penghala/penjadual lapisan atas berbanding yang dibina standard ke dalam rangka kerja penghidangan.

Reka bentuk yang memisahkan titik akhir khusus respons pendek (pengelasan, penyusunan semula, ringkasan pendek) dan titik akhir respons panjang (penjanaan laporan, penjanaan kod panjang), kemudian menerapkan sorted batching pada setiap satunya, adalah yang paling mudah dan memberikan peningkatan effective throughput sebanyak 20 hingga 35% dalam ujian sebenar.

Ringkasan Kesan terhadap SLO

  • TTFT: Chunked prefill dan caching prefix/RadixAttention adalah dominan. Dengan kedua-dua ini, p50 TTFT boleh dikekang sekitar 100ms, dan p99 di bawah 500ms.
  • ITL: Continuous batching dan chunked prefill berkesan. Tanpa chunked prefill, p99 ITL mudah melebihi 200ms.
  • Throughput: Dimaksimumkan dengan tiga perkara: kecekapan memori melalui PagedAttention, penumpatan slot melalui continuous batching, dan pemotongan pembaziran prefill melalui RadixAttention.
  • Ekor p99: Dijaga melalui sorted batching dan kawalan kemasukan. Polisi kemasukan yang menyebarkan permintaan keutamaan rendah ke barisan antrian diperlukan semasa lonjakan QPS.

Strategi Prompt Cache

Empat paksi apabila mereka bentuk prompt cache dalam tindanan pengeluaran.

Perkongsian gesaan sistem. Gesaan sistem bersama semua penyewa dipralam semasa permulaan dan dibiarkan kekal. Dalam RadixAttention, adalah amalan standard untuk menghantar permintaan `warmup` dalam skrip permulaan bagi memasukkannya ke dalam pokok KV.

Partition penyewa. Apabila mencampur berbilang penyewa dalam mod SaaS, konteks penyewa A dan B yang bercampur kadang-kadang menjadi masalah dari perspektif keselamatan/pematuhan. Memandangkan RadixAttention bukan pengasingan kriptografi, dalam domain ketat seperti kewangan dan penjagaan kesihatan, reka bentuk yang mengasingkan setiap penyewa mengikut proses (atau kumpulan GPU), dengan mengehadkan lapisan bersama kepada "gesaan sistem bukan sulit sahaja", adalah diperlukan.

TTL dan eviction. Untuk ejen sembang sesi panjang, reka bentuk yang menyimpan KV pertengahan perbualan berbilang giliran dalam cache sementara dan mengusirnya selepas N minit selepas sesi terputus adalah berkesan. Dalam kes pelanggan KGA, TTL ditetapkan pada 15 hingga 30 minit untuk mengimbangi tekanan memori dan kos prefill semula.

Deduplikasi merentasi permintaan. Dalam sistem ejen, terdapat banyak corak di mana respons alat yang sama dihantar kepada berbilang panggilan LLM. Teknik meletakkan respons alat tersebut ke dalam pokok KV hanya sekali menggunakan cap jari (fingerprint) untuk deduplikasi mengurangkan TTFT sebanyak lebih daripada 30%.

Contoh Konfigurasi: vLLM + chunked prefill + prefix caching

```python llm = LLM( model="Qwen/Qwen3-72B-Instruct", tensor_parallel_size=8, kv_cache_dtype="fp8", enable_prefix_caching=True, enable_chunked_prefill=True, max_num_batched_tokens=8192, max_num_seqs=256, gpu_memory_utilization=0.92, block_size=16, preemption_mode="recompute", ) ```

Membesarkan `max_num_seqs` terlalu banyak menyebabkan swap kerap berlaku akibat tekanan memori, jadi dalam operasi sebenar, ia perlu dikira terbalik daripada QPS yang dijangka dan panjang output p99. Nilai pengalaman KGA adalah QPS_puncak × panjang_output_p99 / kadar_decode_jangkaan sebagai had kira-kira.

Kesimpulan

Strategi batching bukan "memilih satu daripada lima teknik secara berasingan", tetapi "memasukkan semuanya kemudian menyesuaikan parameter mengikut SLO" adalah jawapan yang betul untuk 2026. Untuk mempertahankan TTFT: chunked prefill dan RadixAttention. Untuk mempertahankan ITL: chunked prefill dan sorted batching. Untuk meningkatkan throughput: continuous batching dan PagedAttention. Untuk mempertahankan pengasingan penyewa: hard partitioning dan eviction sedar penyewa. Dengan mereka bentuk seni bina menggunakan empat paksi ini, SLO aggregate 2,500 tok/s dan p99 TTFT di bawah 400ms boleh disasar dengan konfigurasi 8 keping H200 SXM untuk model 70B.

Mari selesaikan cabaran teknikal anda bersama.

KGA IT Solutions mempunyai pasukan pakar AI, awan dan DevOps untuk memberikan penyelesaian optimum bagi cabaran anda.

Hubungi Kami