Sun'iy intellekt

LLM xizmatida uzluksiz batchlash: samaradorlikni oshirishning yangi usuli

10-mart, 2026, 14:118 ko'rish3 daqiqa o'qish
LLM xizmatida uzluksiz batchlash: samaradorlikni oshirishning yangi usuli

ChatGPT, Claude yoki Qwen kabi katta til modellari (LLM) bilan suhbatlashganda, birinchi soʻzning koʻrinishi kechikadi, keyingi soʻzlar esa birma‑bir chiqadi. Bu holat modelning har bir tokenni alohida‑alohida hisoblashidan kelib chiqadi. Ko‘p foydalanuvchilar bir vaqtning o‘zida xizmatdan foydalansa, bu hisoblash juda qimmatga tushadi. Shuning uchun muhandislar uzluksiz batchlash (continuous batching) deb nomlangan usulni ishlab chiqdilar – bir nechta soʻrovni birgalikda ishlash va tugaganlarini darhol almashtirish orqali maksimal throughput (soniya ichida yaratilgan tokenlar soni) olish.

Diqqat (attention) mexanizmining asoslari

LLM matnni tokenlarga bo‘lib, har bir tokenni vektor (yashirin o‘lcham d) sifatida ifodalaydi. Tokenlar o‘rtasida o‘zaro ta’sir faqat attention qatlamida sodir bo‘ladi. Bu qatlam har bir tokenning query, key va value vektorlarini yaratadi, keyin query‑key ko‘paytmasi orqali tokenlar orasidagi o‘xshashlik (attention scores) hisoblanadi. Natijada value vektorlari bilan aralashib, keyingi tokenni bashorat qilishga yordam beradi. Diqqatning kvadrat murakkabligi (O(n²)) uzun ketma‑ketliklarda xotira va hisoblash resurslarini ko‘p talab qiladi.

KV kesh – takroriy hisoblashni kamaytirish

Matnni birinchi marta (prefill) tahlil qilganda, barcha tokenlar uchun key va value vektorlari yaratiladi. Keyingi tokenlarni (decode bosqichi) hisoblashda esa bu vektorlar qayta‑ishlatilishi mumkin. KV kesh bu vektorlarni xotirada saqlab, har bir yangi token uchun faqat oxirgi tokenning queryini hisoblaydi, key va valuelarni qayta hisoblamaydi. Natijada har bir yangi token uchun hisoblash hajmi bir tokenga kamayadi, lekin xotira sarfi token soniga proporsional bo‘ladi.

Chunked prefill – uzun promptlarni bo‘laklarga ajratish

Ba’zi ilovalarda foydalanuvchi prompti minglab tokenlarga yetadi (masalan, kod bazasini kontekst sifatida qo‘shish). Bunday holatda butun promptni bir martalik forward passda ishlash GPU xotirasini ortiqcha yuklaydi. Chunked prefill usuli promptni kichik bo‘laklarga bo‘lib, har bir bo‘lakni alohida forward passda ishlatadi va har bir bosqichda KV keshni yangilab boradi. Bu yondashuv xotira chegaralariga moslashib, katta promptlarni ham samarali ishlashga imkon beradi.

Ragged batchlash va dinamik rejalashtirish

Oddiy batchlashda barcha so‘rovlar bir xil uzunlikka ega bo‘lishi kerak, shuning uchun qisqa so‘rovlar ortiqcha padding tokenlari bilan to‘ldiriladi – bu esa GPUni bo‘sh ishlashiga olib keladi. Ragged batchlash esa so‘rovlarni birlashtirib, ularni attention mask orqali bir-biridan izolyatsiya qiladi. Mask yordamida har bir token faqat o‘z so‘rovining boshqa tokenlari bilan o‘zaro ta’sir qiladi, boshqa so‘rovlarning tokenlari esa “yolg‘iz” bo‘lib qoladi. Natijada paddingga ehtiyoj yo‘q.

Dinamik rejalashtirish esa tugagan so‘rovlarni batchdan olib tashlab, yangi kelgan so‘rovlarni darhol qo‘shadi. Bu jarayon ragged batchlash bilan birga ishlaganda, har bir forward passda barcha tokenlar foydali bo‘ladi va GPU doimiy ravishda to‘liq yuklanadi.

Uzluksiz batchlash qanday amalga oshadi?

  • GPU xotirasi uchun tokenlar soni limitini belgilash.
  • Decode bosqichida bo‘lgan barcha so‘rovlarni batchga qo‘shish (har biri 1 token).
  • Qolgan bo‘sh joyni chunked prefill bo‘laklari bilan to‘ldirish.
  • KV keshni saqlab, ragged batchlash maskalari bilan tokenlararo aloqani nazorat qilish.
  • Tugagan so‘rovlarni olib tashlab, yangi so‘rovlarni qo‘shish (dinamik scheduling).

Ushbu kombinatsiya LLM xizmatlarini minglab bir vaqtning o‘zida foydalanuvchiga javob bera olishiga imkon beradi. ChatGPT kabi platformalar bu texnikani qo‘llab, foydalanuvchi tajribasini kechikishsiz taqdim etadi.

Xulosa

Uzluksiz batchlash KV kesh, chunked prefill, ragged batchlash va dinamik rejalashtirishni birlashtiradi. Natijada padding yo‘qoladi, hisoblash samaradorligi oshadi va GPU resurslari to‘liq ishlatiladi. Bu yondashuv katta til modellari xizmatini kengaytirish va real‑vaqt talab qiluvchi ilovalarda yuqori throughputni ta'minlash uchun asosiy texnikadir.

Manba: Hacker News
#continuous batching #KV cache #LLM inference #ragged batch #prefill decoding
Telegram da muhokama qilish