Sobes.tech
Middle — Senior

Ce este batching-ul continu și cum este implementat în vLLM/TGI?

sobes.tech AI

Răspuns de la AI

Procesarea în lot continuu este o tehnică de gestionare a solicitărilor către un model de învățare automată, în care solicitările de inferență care sosesc sunt colectate în loturi în mod continuu și dinamic, pentru a utiliza resursele de calcul în mod eficient și a reduce întârzierile. În loc să aștepte un timp fix sau un număr fix de solicitări, sistemul formează constant loturi din solicitările primite și le procesează.

În vLLM și TGI (Text Generation Inference), procesarea în lot continuu se realizează prin așteptare asincronă și formare dinamică de loturi. De exemplu, când sosește o solicitare, ea este plasată într-o coadă, iar motorul încearcă să formeze un lot din mai multe solicitări, fără a întârzia prea mult prima solicitare. Dacă nu există solicitări noi, lotul este lansat cu ceea ce există. Acest lucru permite procesarea simultană a mai multor solicitări, utilizând eficient GPU-ul și minimizând întârzierile pentru fiecare solicitare.

Aproximativ, arată astfel:

  • Solicitările sosesc în coadă.
  • Sistemul așteaptă până când se atinge dimensiunea maximă a lotului sau expiră timpul de așteptare.
  • Se formează un lot și se trimite la model.
  • Rezultatele sunt redistribuite înapoi către solicitări.

Această abordare este deosebit de utilă pentru transformatoare, unde procesarea în lot este mult mai eficientă comparativ cu solicitările individuale.