OctoTools: otwartoźródłowe ramy Stanforda optymalizują rozumowanie LLM poprzez modułową orkiestrację narzędzi

Dołącz do naszych codziennych i cotygodniowych newsletterów, aby otrzymywać najnowsze aktualizacje i ekskluzywne treści na temat wiodących w branży relacji z AI. Dowiedz się więcej
OctoTools , nowa platforma agentowa typu open source wydana przez naukowców ze Stanford University, może turbodoładowywać duże modele językowe (LLM) dla zadań rozumowania poprzez rozbijanie zadań na podjednostki i ulepszanie modeli za pomocą narzędzi. Podczas gdy używanie narzędzi stało się już ważnym zastosowaniem LLM, OctoTools sprawia, że te możliwości są znacznie bardziej dostępne, usuwając bariery techniczne i umożliwiając deweloperom i przedsiębiorstwom rozszerzanie platformy o własne narzędzia i przepływy pracy.
Eksperymenty pokazują, że OctoTools przewyższa klasyczne metody podpowiedzi i inne struktury aplikacji LLM, co czyni je obiecującym narzędziem do rzeczywistego wykorzystania modeli AI.
LLM często zmagają się z zadaniami rozumowania, które obejmują wiele kroków, rozkład logiczny lub specjalistyczną wiedzę domenową. Jednym z rozwiązań jest zlecenie konkretnych kroków rozwiązania zewnętrznym narzędziom, takim jak kalkulatory, interpretatory kodu, wyszukiwarki lub narzędzia do przetwarzania obrazu. W tym scenariuszu model koncentruje się na planowaniu wyższego poziomu, podczas gdy rzeczywiste obliczenia i rozumowanie są wykonywane za pomocą narzędzi.
Jednak korzystanie z narzędzi ma swoje własne wyzwania. Na przykład klasyczne LLM często wymagają znacznego przeszkolenia lub nauki w kilku ujęciach z wyselekcjonowanymi danymi, aby dostosować się do nowych narzędzi, a po rozszerzeniu będą ograniczone do określonych domen i typów narzędzi.
Wybór narzędzi również pozostaje bolączką. LLM-owie mogą stać się dobrzy w używaniu jednego lub kilku narzędzi, ale gdy zadanie wymaga użycia wielu narzędzi, mogą się pogubić i wykonywać zadania źle.

OctoTools rozwiązuje te problemy za pomocą bezszkoleniowego frameworka agentowego, który może orkiestrować wiele narzędzi bez potrzeby dostrajania lub dostosowywania modeli. OctoTools wykorzystuje podejście modułowe do rozwiązywania zadań planowania i rozumowania i może używać dowolnego ogólnego LLM jako swojego kręgosłupa.
Wśród kluczowych komponentów OctoTools znajdują się „karty narzędzi”, które działają jak opakowania narzędzi, których system może używać, takich jak interpretery kodu Pythona i interfejsy API wyszukiwania w sieci. Karty narzędzi zawierają metadane, takie jak formaty wejścia-wyjścia, ograniczenia i najlepsze praktyki dla każdego narzędzia. Deweloperzy mogą dodawać własne karty narzędzi do struktury, aby dopasować je do swoich aplikacji.
Gdy do OctoTools zostanie wprowadzony nowy monit, moduł „planera” używa szkieletu LLM do wygenerowania planu wysokiego poziomu, który podsumowuje cel, analizuje wymagane umiejętności, identyfikuje odpowiednie narzędzia i uwzględnia dodatkowe uwagi dotyczące zadania. Planer określa zestaw podcelów, które system musi osiągnąć, aby wykonać zadanie, i opisuje je w planie działania opartym na tekście.
Dla każdego etapu planu moduł „przewidywania działań” doprecyzowuje podcel, aby określić narzędzie niezbędne do jego osiągnięcia i upewnić się, że jest on wykonalny i weryfikowalny.
Gdy plan jest gotowy do wykonania, „generator poleceń” mapuje plan tekstowy na kod Pythona, który wywołuje określone narzędzia dla każdego podcelu, a następnie przekazuje polecenie do „wykonawcy poleceń”, który uruchamia polecenie w środowisku Pythona. Wyniki każdego kroku są weryfikowane przez moduł „weryfikatora kontekstu”, a wynik końcowy jest konsolidowany przez „podsumowanie rozwiązania”.

„Dzięki oddzieleniu planowania strategicznego od generowania poleceń OctoTools redukuje błędy i zwiększa przejrzystość, dzięki czemu system jest bardziej niezawodny i łatwiejszy w utrzymaniu” – piszą badacze.
OctoTools używa również algorytmu optymalizacji, aby wybrać najlepszy podzbiór narzędzi dla każdego zadania. Pomaga to uniknąć przeciążenia modelu nieistotnymi narzędziami.
Istnieje kilka struktur do tworzenia aplikacji LLM i systemów agentowych, w tym Microsoft AutoGen , LangChain i „ wywoływanie funkcji ” API OpenAI. OctoTools przewyższa te platformy w zadaniach wymagających rozumowania i korzystania z narzędzi, według jego twórców.

Badacze przetestowali wszystkie frameworki na kilku testach porównawczych dla rozumowania wizualnego, matematycznego i naukowego, a także wiedzy medycznej i zadań agentowych. OctoTools osiągnął średni wzrost dokładności o 10,6% w porównaniu z AutoGen, 7,5% w porównaniu z GPT-Functions i 7,3% w porównaniu z LangChain przy użyciu tych samych narzędzi. Według badaczy, powodem lepszej wydajności OctoTools jest lepszy rozkład wykorzystania narzędzi i właściwy rozkład zapytania na podcele.
OctoTools oferuje przedsiębiorstwom praktyczne rozwiązanie do wykorzystania LLM do złożonych zadań. Jego rozszerzalna integracja narzędzi pomoże pokonać istniejące bariery w tworzeniu zaawansowanych aplikacji rozumowania AI. Naukowcy opublikowali kod OctoTools na GitHub .
Jeśli chcesz zaimponować swojemu szefowi, VB Daily ma dla Ciebie rozwiązanie. Dajemy Ci wewnętrzny wgląd w to, co firmy robią z generatywną sztuczną inteligencją, od zmian regulacyjnych po praktyczne wdrożenia, dzięki czemu możesz dzielić się spostrzeżeniami, aby uzyskać maksymalny zwrot z inwestycji.
Przeczytaj naszą Politykę prywatności
Dziękujemy za subskrypcję. Sprawdź więcej newsletterów VB tutaj .
Wystąpił błąd.

venturebeat