O technicznych aspektach LLM-ów i AI dla nieinformatyków cz. 8. "vLLM: większa użyteczność modeli językowych w biznesie"

Posłuchaj:

Co zyskujesz czytając ten artykuł?

  • Argumenty do rozmowy z wewnętrznym IT i dostawcami rozwiązań AI
  • Wiedzę jak zwiększyć efektywność funkcji finansowej za pomocą AI
  • Przesłanki do zbudowania lepszego partnerstwa CFO z działami biznesowymi

Świat sztucznej inteligencji przyspiesza. Nowe modele językowe, jakie pojawiają się co chwila, osiągają niespotykany wcześniej poziom możliwości i zrozumienia języka naturalnego. Wraz z ich rosnącą mocą pojawiła się nowy problem: jak efektywnie je uruchamiać w praktyce?

Dla wielu firm, które wdrażają AI w finansach, controllingu czy innych obszarach, kluczowe znaczenie ma nie tylko jakość odpowiedzi, ale też czas, skalowalność i koszty uzyskiwanych odpowiedzi oraz infrastruktury. W tym kontekście dla dużych i skomplikowanych projektów brakowało rozwiązań, aż do teraz, gdyż pojawiło się nowy rozwiązanie - vLLM czyli silnik inferencyjny, który może nie zrewolucjonizuje, ale znacząco zmienia sposób, w jaki możemy korzystać z dużych modeli językowych.

Czym jest inferencja LLM i dlaczego to takie ważne?

Wyobraźmy sobie, że model językowy (LLM) to ogromna biblioteka wiedzy, która może być zasilana wieloma innymi bibliotekami wiedzy. Trenowanie modelu to jak uczenie się wszystkich książek w tej bibliotece i powiązanych z nią bibliotek. Ale samo „nauczenie się” to dopiero początek – prawdziwa "magia" dzieje się wtedy, gdy zadajemy pytanie i oczekujemy odpowiedzi, czy to  formie tekstowej czy jak w przypadku multimodalnych modeli w postaci grafiki, audio czy video. Ten moment nazywamy inferencją – czyli wykorzystaniem wytrenowanego modelu do generowania odpowiedzi.

W praktyce oznacza to, że model musi „przeczytać” nasze pytanie, zrozumieć polecenie, kontekst oraz przeszukać bazę wiedzy i wygenerować odpowiedź – i wszystko to w ułamku sekundy! A co jeśli takich użytkowników jest setki lub tysiące jednocześnie? Tu właśnie zaczynają się schody.

Dlaczego dotychczas wykorzystywane rozwiązania nie wystarczają?

Standardowe podejście do uruchamiania modeli LLM ma kilka istotnych ograniczeń. Po pierwsze generuje wysokie zużycie pamięci GPU, dlatego że modele „rezerwują” sobie więcej zasobów, niż faktycznie potrzebują a to powoduje że występuje spowolnienie w generowaniu odpowiedzi przy wielu jednoczesnych asynchronicznych użytkownikach (czy agentach) którzy domagają się natychmiastowej odpowiedzi, a z tym te "tradycyjne" systemy nie radzą sobie zbyt dobrze - czyli z dużą liczbą zapytań jednocześnie. Kolejnym problemem jest obsługa długich kontekstów np. jednoczesna analiza wielu dokumentów np. finansowych czy umów. Co to oznacza? Dla firm oznacza to wyższe koszty przetwarzania i dłuższe czasy uzyskiwania odpowiedzi, a tym samym niższą jakość usług i ograniczoną skalowalność. I tu pojawiają się vLLM.

Co to jest vLLM?

vLLM to rozwiązanie na szybkie i tanie LLM-y. To otwarto źródłowy silnik, który nie jest nowym modelem, to infrastruktura, która pozwala uruchamiać istniejące modele (np. Bielik, GPT, LLaMA, Mistral) szybciej, taniej i bardziej efektywnie. 

Co to oznacza dla finansów i controllingu? Jakie są przykładowe zastosowania vLLM w praktyce?

Dla specjalistów od finansów - efekty biznesowe. Dzięki vLLM możliwe jest efektywne budowanie środowisk o wysokim obciążeniu np. muliagentowych (Multiagent AI) z niskim czasem uzyskiwania odpowiedzi, gdzie czas uzyskiwanej odpowiedzi skraca się z sekund do milisekund. Ma kluczowe znaczenie

- tam gdzie odpowiedzi są oczekiwane natychmiast, gdzie decyzje muszą być podejmowane w czasie rzeczywistym, jak np. na rynku giełdowym, walutowym, produkcji, logistyce czy obsłudze klienta, w analizie napływających danych w czasie rzeczywistym, 

- tam gdzie koszty infrastruktury mają duże znaczenie, bo mniej GPU oznacza mniejsze rachunki za chmurę

- tam gdzie trzeba skalować rozwiązania AI na setki użytkowników jednoczesnych i asynchronicznych bez utraty jakości

- tam gdzie AI ma wspierać ludzi w podejmowaniu szybkich decyzji lub dziąłać samodzielnie i autonomicznie ale i bezpiecznie.

Jakie są korzyści z zastosowania vLLM dla firm i CFO?

  • Niższe koszty infrastruktury gdyż vLLM umożliwia obsługę większej liczby zapytań przy mniejszym zużyciu GPU, co przekłada się na niższe koszty chmury i energii.
  • Większa skalowalność dzięki dynamicznemu batchowaniu i PagedAttention, vLLM może obsługiwać setki równoczesnych zapytań bez spadku wydajności wiec jest to rozwiązanie dla firm z dużym ruchem (np. chatboty, multi asystenci AI, systemy BI).
  • Szybsze odpowiedzi przy niższych opóźnieniach (latencji) oznaczające lepsze doświadczenie użytkownika i możliwość wdrażania AI w procesy wymagające reakcji niemal w czasie rzeczywistym (np. konwersacji, w analizie, raportowaniu, prognozowaniu, wspieraniu decyji).
  • Zgodność z API dużych dostawców LLM oznaczające łatwą integracje z istniejącymi systemami i modelami co przyspiesza wdrożenia i obniża koszty rozwoju.

 

Dołącz do Klubu Dyrektorów Finansowych "Dialog" już dzisiaj.

Zyskaj dostęp do wyjątkowych wydarzeń i atrakcyjnych możliwości zawodowych.

Dołącz do nas

 vLLM zbudowana jest z kilku podstawowych elementów:

  • PagedAttention algorytmy inspirowane technikami stronicowania znanymi z systemów operacyjnych. Rozwiązanie to umożliwia przechowywanie danych KV cache w nieciągłych blokach pamięci, co minimalizuje fragmentację i pozwala na współdzielenie pamięci między zapytaniami. Technika ta inspirowana pamięcią wirtualną pozwala lepiej zarządzać pamięcią GPU.
  • BucketServe (dynamic batching) algorytmy dynamicznego grupowania (batchowania) zapytań oparte na segmentacji zapytań według m.in. długości sekwencji. pozwalające grupować zapytania w jednorodne „koszyki” (buckets), co minimalizuje narzut związany z paddingiem, czyli niepotrzebnym zużyciem zasobów obliczeniowych i pamięciowych, które wynika z konieczności wyrównywania długości sekwencji w partii (batchu) podczas inferencji dużych modeli językowych (LLM) i optymalizuje wykorzystanie zasobów. Wprowadza również adaptacyjne mechanizmy dzielenia i scalania koszyków oraz priorytetowe planowanie zadań, co pozwala na elastyczne dostosowanie do zmiennych warunków obciążenia i zapewnienie zgodności z wymaganiami poziomu obsługi (Service Level Objectives - SLO) oraz przyjętymi metrykami poziomów systemowego (Service Level Metrics - SLM).
  • GPU multitasking czyli techniki przejścia od singletaskingu czyli przetwarzania pojedynczych zadań na GPU które staje się coraz mniej wydajne i trudne do utrzymania, a z którym współczesne centra danych spotykają się coraz częściej i tym samym niskim wykorzystaniem GPU, mimo ich ogromnych możliwości obliczeniowych i pamięciowych -do GPU multitaskingu czyli przetwarzania wielu zadań na GPU.  To jednoczesna obsługa wielu GPU, w ramach której nowe zapytania (taski) mogą „dołączać” do już przetwarzanych na GPU i tym samym znacząco zwiększa to przepustowość. Rozwiązanie to jest dedykowane nie tylko dużym modelom językowym, ale przede wszystkim środowiskom typu enterprise gdzie wydajność i skalowalność ma kluczowe znaczenie.

Co to jest i jak działa Attention Operations oraz jaki ma to związek z PagedAttention?


Tzw. operacje uwagi (attention operations) to kluczowy mechanizm stosowany w nowoczesnych modelach językowych, który pozwala modelowi skupić się na istotnych fragmentach danych wejściowych podczas generowania odpowiedzi. Jak to działa? W uproszczeniu każde słowo wejściowe jest przekształcane w tzw. wektor (reprezentację liczbową). Dla każdego słowa model oblicza Query (zapytanie – czego szukam?), Key (klucz – co oferuje inne słowo?), Value (wartość – jaka jest zawartość tego słowa?). Model porównuje zapytania z kluczami innych słów i oblicza uwagę (attention score) – czyli jak bardzo dane słowo powinno „zwracać uwagę” na inne. Na tej podstawie tworzy nową reprezentację słowa, która uwzględnia kontekst całego zdania. Natomiast 

PagedAttention technika inspirowana stronicowaniem w systemach operacyjnych to zoptymalizowana implementacja mechanizmu uwagi, zaprojektowana z myślą o efektywnym wykorzystaniu pamięci GPU w dużych modelach językowych (LLM). W "klasycznym" mechanizmie uwagi (np. w Transformerach), każdy token wejściowy „zwraca uwagę” na inne tokeny w sekwencji, aby zrozumieć kontekst. Wymaga to przechowywania tzw. Key i Value dla każdego tokena w pamięci tworząc tzw. KV cache, który jest przechowywany w ciągłych blokach pamięci GPU, a to znacząco obciąża pamięć, prowadzi do fragmentacji pamięci (niewykorzystane przestrzenie), trudności w obsłudze długich sekwencji (długie zapytania) i ograniczonej liczby możliwych. PagedAttention zamiast przechowywać KV cache w jednym dużym, ciągłym bloku, dzieli go na małe, niezależne strony (pages) równoczesnych zapytań. Pozwala to na dynamiczne zarządzanie pamięcią, gdzie strony mogą być alokowane i zwalniane w locie, obsługę długich kontekstów, bez ryzyka przekroczenia limitów pamięci, realną wielozadaniowość (multitasking), gdzie wiele zapytań może współdzielić GPU bez kolizji. Umożliwia większą skalowalność, dając większej ilości jednoczesnych użytkowników możliwość korzystania z modelu jednocześnie.

Multi Agenci AI – kolejny krok w automatyzacji

Wraz z rozwojem inferencji pojawia się nowy trend: agenci AI. To nie tylko chatboty, ale "inteligentne" samodzielnie działające algorytmy, które potrafią: analizować dane, podejmować decyzje, korzystać z narzędzi (np. wyszukiwarek, baz danych), współpracować z innymi agentami. Dzięki takim rozwiązaniom,  możliwe jest tworzenie wieloagentowych rozwiązań, które nie tylko szybko odpowiadają na pytania, ale aktywnie wspierają procesy biznesowe – np. analizują dane  finansowe, przygotowują rekomendacje czy automatyzują zadania kontrolingowe dostarczając interaktywne raporty w czasie rzeczywistym.

Przykładowa architektura rozwiązania

  • Client API Layer - Komunikuje się z "użytkownikiem końcowym" (np. chatbot, aplikacja). Wysyła zapytania do systemu vLLM.
  • Scheduler - Zarządza kolejką zapytań. Odpowiada za dynamiczne batchowanie i planowanie zadań.
  • KV Cache Manager - Zarządza pamięcią podręczną kluczy i wartości (PagedAttention). Obsługuje dynamiczne przydzielanie i zwalnianie pamięci.
  • PagedAttention Engine - Wykonuje operacje uwagi (attention) na danych wejściowych. Pozwala modelowi skupić się na istotnych fragmentach danych wejściowych podczas generowania odpowiedzi. Wspiera nieciągłe zarządzanie pamięcią (paged memory).
  • Model Executor - Wykonuje model LLM (np. LLaMA, GPT). Obsługuje dekodowanie autoregresywne.
  • GPU Resource Manager - Zarządza zasobami GPU (obsługa wielu GPU, skalowanie). Współpracuje z Schedulerem i KV Cache Managerem.
  • Monitoring & Metrics - Zbiera dane o wydajności (latencja, throughput). Wspiera decyzje o skalowaniu i optymalizacji.

 

 

Zależności:

Client API komunikuje się z Schedulerem.
Scheduler współpracuje z KV Cache Managerem i Model Executorem.
Model Executor korzysta z PagedAttention Engine i GPU Resource Managera.
Monitoring zbiera dane ze wszystkich komponentów.

Od czego zacząć?

Od zapoznania się z przykładowymi rozwiązaniami np. od Open AI, Google i vLLM Project. Zmiany paradygmatu - wykorzystania vLLM zamiast LLM i Multi Agentów AI co otwiera nowe możliwości dla firm, które chcą wykorzystać potencjał wielu dużych modeli językowych i agentów.
 


Polecane źródła:

Polecane strony:

Bartosz Radziszewski