Liderzy opinii
Przenoszenie dużych modeli językowych (LLM) do aplikacji biznesowych

Duże modele językowe są wszędzie. Każda rozmowa z klientem lub prezentacja dla inwestorów wiąże się z pytaniami o to, jak gotowe są technologie LLM i jak wpłyną na przyszłe aplikacje. Omówiłem niektóre wzorce na ten temat w poprzednim poście. Tutaj będę mówił o niektórych wzorcach zastosowania w branży farmaceutycznej, nad którymi pracowała firma Persistent Systems.
Duże modele językowe i ich podstawowe zalety
LLM są dobre w rozumieniu języka, to ich specjalność. Najczęstszy wzorzec, jaki obserwujemy w aplikacjach, to generacja wspomagana przez odzyskiwanie (RAG), gdzie wiedza jest skompilowana z zewnętrznych źródeł danych i udostępniana w kontekście jako podpowiedź dla LLM, aby sformułować odpowiedź. W tym przypadku bardzo szybkie mechanizmy wyszukiwania, takie jak bazy danych wektorowych i silniki oparte na Elasticsearch, służą jako pierwsza linia wyszukiwania. Następnie wyniki wyszukiwania są skompilowane w podpowiedź i wysyłane do LLM, zwykle jako wywołanie API.
Inny wzorzec to generowanie zapytania na danych strukturalnych przez podanie LLM modelu danych jako podpowiedzi i konkretnego zapytania użytkownika. Ten wzorzec można wykorzystać do opracowania zaawansowanego interfejsu “rozmawiaj z danymi” dla baz danych SQL, takich jak Snowflake, a także baz grafowych, takich jak Neo4j.
Wykorzystywanie wzorców LLM do uzyskania wglądu w rzeczywiste przypadki
Firma Persistent Systems niedawno przyjrzała się wzorcowi dla Blast Motion, firmy telemetrycznej sportowej (analiza uderzeń w baseballu, golfa itp.), gdzie analizowaliśmy dane szeregowe podsumowań graczy, aby uzyskać rekomendacje.
Dla bardziej złożonych aplikacji często musimy łączyć żądania LLM z przetwarzaniem między wywołaniami. Dla firmy farmaceutycznej opracowaliśmy inteligentną aplikację do filtrowania pacjentów do badań klinicznych na podstawie kryteriów wyodrębnionych z dokumentu badania. Tutaj wykorzystaliśmy podejście łańcuchowe LLM. Najpierw opracowaliśmy LLM do odczytu dokumentu PDF badania i wykorzystaliśmy wzorzec RAG do wyodrębnienia kryteriów włączających i wyłączających.
Do tego celu wykorzystano stosunkowo prostszy LLM, taki jak GPT-3.5-Turbo (ChatGPT). Następnie połączyliśmy te wyodrębnione jednostki z modelem danych bazy danych SQL pacjentów w Snowflake, aby utworzyć podpowiedź. Ta podpowiedź została podana do bardziej zaawansowanego LLM, takiego jak GPT4, co dało nam zapytanie SQL do filtrowania pacjentów, gotowe do uruchomienia w Snowflake. Ponieważ wykorzystujemy łańcuchowe LLM, możemy wykorzystać wiele LLM dla każdego kroku łańcucha, co pozwala nam zarządzać kosztami.
Obecnie zdecydowaliśmy się zachować ten łańcuch deterministyczny, aby lepiej go kontrolować. To znaczy, zdecydowaliśmy się umieścić więcej inteligencji w łańcuchu i zachować prostą i przewidywalną orkiestrację. Każdy element łańcucha jest złożoną aplikacją, która wymagałaby kilku miesięcy rozwoju w erze przed LLM.
Napędzanie bardziej zaawansowanych przypadków użycia
W przypadku bardziej zaawansowanym możemy wykorzystać agenci, takie jak ReAct, do podpowiedzi LLM w celu utworzenia krok po kroku instrukcji do wykonania dla konkretnego zapytania użytkownika. To oczywiście wymagałoby wysokiej jakości LLM, takiego jak GPT4 lub Cohere lub Claude 2. Jednak wtedy istnieje ryzyko, że model podejmie nieprawidłowy krok, który wymagałby weryfikacji za pomocą barier ochronnych. To jest kompromis między umieszczeniem inteligencji w kontrolowalnych ogniach łańcucha a uczynieniem całego łańcucha autonomicznym.
Dziś, gdy przyzwyczajamy się do ery sztucznej inteligencji generatywnej dla języka, branża zaczyna przyjmować aplikacje LLM z przewidywalnymi łańcuchami. W miarę jak ta adopcja rośnie, wkrótce zaczniemy eksperymentować z większą autonomią tych łańcuchów za pomocą agentów. To jest to, co jest przedmiotem debaty na temat AGI, i jesteśmy zainteresowani, aby zobaczyć, jak to wszystko ewoluuje w czasie.












