Čo je to kontinuálne dávkovanie a ako sa implementuje v vLLM/TGI?
sobes.tech AI
Odpoveď od AI
Nepretržitá dávkovanie je technika spracovania požiadaviek na model strojového učenia, pri ktorej sa prichádzajúce požiadavky na inference kontinuálne a dynamicky zhromažďujú do dávok, aby sa maximálne využili výpočtové zdroje a znížilo oneskorenie. Namiesto čakania na pevný čas alebo pevný počet požiadaviek systém neustále tvorí dávky z prichádzajúcich požiadaviek a ich spracováva.
V vLLM a TGI (Text Generation Inference) je kontinuálne dávkovanie realizované prostredníctvom asynchrónneho čakania a dynamického tvorby dávok. Napríklad, keď príde požiadavka, je zaradená do fronty a motor sa snaží vytvoriť dávku z viacerých požiadaviek, bez zbytočného zdržania prvej. Ak nie sú žiadne nové požiadavky, dávka sa spustí s tým, čo je. To umožňuje súčasne spracovávať niekoľko požiadaviek, efektívne využívať GPU a minimalizovať oneskorenie pre každú požiadavku.
Približne to vyzerá takto:
- Požiadavky prichádzajú do fronty.
- Systém čaká, kým nedosiahne maximálnu veľkosť dávky alebo nevyprší časovač.
- Dávka sa vytvorí a odošle sa modelu.
- Výsledky sa rozdelia späť na požiadavky.
Tento prístup je obzvlášť užitočný pre transformátory, kde je spracovanie dávok oveľa efektívnejšie v porovnaní s jednotlivými požiadavkami.