Agenci zmienili ekonomię inferencji. Byung-Gon Chun, założyciel i prezes Friendly AI, pokazał to na dwóch liczbach i na czterech filarach przebudowanej chmury. Ta sama gra zbudowana przez agenta kosztowała sto pięćdziesiąt dolarów na zamkniętym modelu i dwadzieścia siedem centów na modelu otwartym. Ale sam model to tylko część rachunku, bo inferencja agentowa to inny problem niż czat.
Kilka słów o mówcy, bo tłumaczą jego perspektywę. Friendly AI wyrosło z zespołu badawczego uniwersytetu w Seulu. To ten zespół wymyślił continuous batching, czyli optymalizację inferencji, która jest dziś standardem w całej branży. Ich praca o nazwie Orca zainspirowała jeden z szeroko używanych otwartych frameworków do serwowania modeli. Firma ma dziś centralę w San Francisco i zespół w Seulu.
Punkt wyjścia: rok dwa tysiące dwudziesty szósty to rok, w którym agenci wchodzą do produkcji na masową skalę. Składają się na to dwa trendy. Po pierwsze, agenci rosną wykładniczo w oprogramowaniu, w operacjach i w pracy umysłowej. Po drugie, modele o otwartych wagach dogoniły czołówkę i dzięki temu agenci stali się opłacalni.
Ten sam agent, dwa modele, dwa rachunki
Demonstracja była prosta. To samo zadanie, czyli zbudowanie gry typu tower defense, ten sam agent kodujący, dwa różne modele. Po lewej G L M pięć dwa, model o otwartych wagach uruchomiony na Friendly AI. Po prawej Opus cztery osiem od Anthropic.
Chun podkreślił, że nie chodzi o to, żeby wyniki były identyczne. Chodzi o to, że oba doprowadziły zadanie do poziomu wyraźnie użytecznego w wielu procesach agentowych. Modele o otwartych wagach przekroczyły próg jakości. Ekonomia jest jednak zupełnie inna. Opus cztery osiem kosztował około stu pięćdziesięciu dolarów. G L M pięć dwa na Friendly AI kosztował dwadzieścia siedem centów. To pięć i sześć dziesiątych raza taniej.
Na tym jednak historia się nie kończy. Żeby agent był naprawdę szybki i niezawodny, musi się zmienić sam stos inferencyjny.
Jednostką jest zadanie, nie zapytanie
Kiedyś dominującym zastosowaniem był czat. Jednostką było zapytanie. Człowiek pyta, model odpowiada, człowiek czyta. Opóźnienie znaczyło: jak szybko dostałem jedną odpowiedź.
Agenci działają inaczej. Jednostką jest zadanie. Jedno zadanie może obejmować wiele wywołań modelu i wiele wywołań narzędzi, i może działać samodzielnie przez dłuższy czas. Użytkownika nie obchodzi opóźnienie pojedynczego zapytania. Obchodzi go, kiedy skończy się całe zadanie.
To znaczy, że musimy optymalizować pod zadania, a nie pod pojedyncze zapytania.
Agent prowadzi sesję złożoną z zadań, a każde zadanie kręci się w pętli. Najpierw planuje, co zwykle oznacza wywołanie modelu. Potem działa, na przykład wywołując narzędzie. Potem obserwuje wynik i dokleja go z powrotem do kontekstu. I powtarza, aż zadanie się domknie. Ciągle więc przeplatamy inferencję z wykonaniem narzędzi, przez co między wywołaniami modelu powstają przerwy. Agent może też tworzyć podagentów i uruchamiać ich równolegle.
Wejścia też wyglądają inaczej niż w czacie. Rozkłady długości promptów i odpowiedzi z wewnętrznych przebiegów agenta kodującego Friendly AI, który sami stosują na co dzień, są znacznie dłuższe. I rosną w trakcie zadania, bo każda obserwacja trafia z powrotem do kontekstu.
Kolejne kroki dzielą ogromny prefiks
Tu pojawia się kluczowy wzorzec. Kolejne kroki agenta zwykle mają wspólny, bardzo długi prefiks. Jeśli za każdym razem przeliczamy ten sam prefiks od nowa, spalamy mnóstwo mocy obliczeniowej na pracę już wykonaną. Zdaniem Chuna to jedna z największych szans w inferencji agentowej.
Skalę apetytu na tokeny widać na zadaniach długodystansowych. Przykład z prezentacji: polecenie wyjaśnienia mechanizmu speculative decoding we frameworku v L L M na podstawie kodu. Takie zadanie ma wiele etapów, każdy etap składa się z podagentów, a każdy podagent wykonuje wiele inferencji i wywołań narzędzi. W sumie dziesiątki albo nawet setki kroków, czasem przez minuty lub godziny, przy wspólnym kontekście utrzymywanym przez cały czas.
Wnioski Chun zebrał w cztery punkty. Kontekst rośnie w czasie. Praca narzędzi przeplata się z wywołaniami modelu. Liczba wywołań modelu zależy od wejścia, więc nie da się planować wokół stałego tempa zapytań. A prawdziwą metryką jest opóźnienie całego zadania, nie pojedynczego zapytania.
Cztery filary chmury inferencyjnej dla agentów
Friendly AI przebudowało stos warstwa po warstwie wokół tych właśnie ograniczeń, z jednym celem: skrócić czas realizacji całego zadania. Cztery filary to prefix caching, zarządzanie pamięcią podręczną kluczy i wartości, routing świadomy cache’u oraz optymalizacja świadoma agenta. Pod spodem jest jeszcze warstwa optymalizacji samego modelu, w tym rzadka uwaga dla długiego kontekstu, techniki redukcji błędów i odporne serwowanie.
Pierwszy filar to prefix caching. Skoro kroki agenta dzielą długi prefiks, liczymy dla niego klucze i wartości raz i zapisujemy je w pamięci podręcznej. W kolejnych krokach czytamy z cache’u i przetwarzamy wyłącznie nową końcówkę. Czytanie z cache’u jest znacznie tańsze niż ponowne liczenie prefilla, więc poprawia się czas do pierwszego tokena i spada zużycie mocy w każdym kroku. Im dłużej działa zadanie, tym więcej to daje.
Drugi filar wynika z pierwszego. Cache działa tylko wtedy, gdy faktycznie się mieści i da się nim sprawnie ruszać. Friendly AI upakowuje więcej aktywnego kontekstu w pamięci pojedynczego G P U, zmniejsza zajętość pamięci przez cache kluczy i wartości, a przede wszystkim stosuje cache hierarchiczny rozpięty na pamięci G P U, pamięci hosta i dyskach. Dzięki temu można wyjść poza limit pamięci karty. Do tego dochodzi cache rozproszony, więc jeden prefiks może obsługiwać wiele replik, a nie tylko jedną instancję.
Routing świadomy cache’u
W skali globalnego klastra routing zaczyna mieć ogromne znaczenie. Naiwny load balancer rozkłada zapytania równo między klastry G P U, ale przy okazji niszczy lokalność cache’u. Router świadomy cache’u robi coś mądrzejszego: wysyła zapytanie do węzła, który ma już zbuforowany właściwy prefiks, i zamienia kosztowny prefill w trafienie w cache. Jednocześnie wciąż musi równoważyć obciążenie, żeby żaden węzeł nie stał się wąskim gardłem. W przykładzie z prezentacji dwa zapytania tego samego zadania trafiają do tego samego węzła właśnie dla lokalności cache’u.
Optymalizacja świadoma agenta
Czwarty filar Chun nazwał kolejną granicą inferencji agentowej. Dziś większość systemów planuje każde wywołanie modelu tak, jakby było niezależne. Nie rozumieją, że to wywołanie jest częścią dłuższego programu agenta.
Kiedy optymalizator zna kontekst na poziomie agenta, może podejmować lepsze decyzje. Może wywłaszczać właściwą pracę. Może spekulacyjnie wypełniać kontekst dla prawdopodobnego następnego kroku. Może mądrzej decydować, co usunąć z cache’u. Cel pozostaje ten sam: skrócić czas całego zadania, a nie sprawić, żeby jedno wywołanie wyglądało szybko.
Efekt złożenia tych czterech rzeczy pokazał znowu na porównaniu. Ten sam model G L M pięć dwa, ten sam agent Kilo Code, to samo zadanie stworzenia prostej gry mobilnej, uruchomione raz przez A P I Friendly AI, a raz przez innego znanego dostawcę inferencji. Friendly AI domyka zadanie od początku do końca szybciej.
Co to daje w produkcji
Układ jest prosty. Bierzemy agenta, którego już lubimy. Podpinamy pod niego czołowe modele o otwartych wagach, takie jak G L M pięć dwa, Minimax albo Kimi, serwowane przez Friendly AI. Model daje jakość i lepszą ekonomię, a chmura daje szybkość, niezawodność i czas realizacji zadania na poziomie akceptowalnym w produkcji.
Chun wskazał dwóch klientów z produkcji. Kilo to popularne narzędzie agentowe do kodowania obsługujące miliony użytkowników. L G to globalne przedsiębiorstwo działające od elektroniki przez ochronę zdrowia po energetykę. Bardzo różne firmy, a potrzebują tego samego.
Referencja od Kilo Code: przez ostatni rok testowali kilku dostawców inferencji hostujących modele otwarte i zamknięte. W teście porównawczym przy użyciu G L M pięć, zestawionym z innymi dostawcami zewnętrznymi i z dostępem bezpośrednio od twórcy modelu, Friendly AI było konsekwentnie siedem razy szybsze przy istotnie niższym poziomie błędów. Dziś jest podstawowym elementem ich stosu.
Sposoby wdrożenia są trzy. A P I modelowe, czyli najszybszy start przez bezserwerowy dostęp do czołowych modeli o otwartych wagach. Dedykowane endpointy, czyli własne odizolowane wdrożenie z gwarantowanym S L A. Oraz wariant z własnym G P U, w którym stos Friendly działa na infrastrukturze klienta. Ten sam stos, trzy sposoby wdrożenia.
Trzy rzeczy do zapamiętania, którymi Chun zamknął wystąpienie. Czołowe modele o otwartych wagach sprawiają, że agenci w produkcji stają się opłacalni w skali. Agenci to nie czat z większą liczbą wywołań, tylko inny problem, wymagający optymalizacji czasu całego zadania. A Friendly AI zostało zbudowane jako chmura inferencyjna właśnie pod ten świat.
Koniec artykułu.