Sobes.tech
Middle — Senior

Czym jest ciągłe grupowanie i jak jest realizowane w vLLM/TGI?

sobes.tech AI

Odpowiedź od AI

Ciągłe batchowanie to technika obsługi zapytań do modelu uczenia maszynowego, w której przychodzące zapytania inferencyjne są zbierane w partie w sposób ciągły i dynamiczny, aby maksymalnie efektywnie wykorzystać zasoby obliczeniowe i zmniejszyć opóźnienia. Zamiast czekać na ustalony czas lub określoną liczbę zapytań, system nieustannie tworzy partie z nadchodzących zapytań i je uruchamia.

W vLLM i TGI (Text Generation Inference) ciągłe batchowanie realizowane jest przez asynchroniczne oczekiwanie i dynamiczne tworzenie partii. Na przykład, gdy przychodzi zapytanie, jest ono umieszczane w kolejce, a silnik próbuje utworzyć partię z kilku zapytań, nie opóźniając zbytnio pierwszego z nich. Jeśli nie ma nowych zapytań, partia jest uruchamiana z tym, co jest. Pozwala to jednocześnie przetwarzać wiele zapytań, efektywnie korzystając z GPU i minimalizując opóźnienia dla każdego z nich.

Przybliżony schemat wygląda tak:

  • Zapytania trafiają do kolejki.
  • System czeka na osiągnięcie maksymalnego rozmiaru partii lub upływ czasu oczekiwania.
  • Tworzona jest partia i wysyłana do modelu.
  • Wyniki są rozdzielane z powrotem do zapytań.

Takie podejście jest szczególnie przydatne dla transformerów, gdzie przetwarzanie w partiach jest znacznie bardziej efektywne w porównaniu do pojedynczych zapytań.