Sobes.tech
Middle — Senior

Co je to kontinuální batchování a jak je implementováno v vLLM/TGI?

sobes.tech AI

Odpověď od AI

Nepřetržité dávkování je technika zpracování požadavků na model strojového učení, při které jsou příchozí požadavky na inference shromažďovány kontinuálně a dynamicky do dávky, aby bylo možné maximálně využít výpočetní zdroje a snížit zpoždění. Namísto čekání na pevný čas nebo pevný počet požadavků systém neustále vytváří dávky z přicházejících požadavků a spouští je.

V vLLM a TGI (Text Generation Inference) je nepřetržité dávkování realizováno prostřednictvím asynchronního čekání a dynamického vytváření dávky. Například, když přijde požadavek, je zařazen do fronty a motor se snaží vytvořit dávku z několika požadavků, aniž by příliš zdržoval první. Pokud nejsou žádné nové požadavky, dávka se spustí s tím, co je. To umožňuje současně zpracovávat několik požadavků, efektivně využívat GPU a minimalizovat zpoždění pro každý požadavek.

Přibližně to vypadá takto:

  • Požadavky přicházejí do fronty.
  • Systém čeká, dokud nedosáhne maximální velikosti dávky nebo nevyprší časový limit.
  • Dávka je vytvořena a odeslána modelu.
  • Výsledky jsou rozděleny zpět na požadavky.

Tento přístup je obzvláště užitečný pro transformátory, kde je zpracování dávky mnohem efektivnější ve srovnání s jednotlivými požadavky.