W dzisiejszym dynamicznie rozwijającym się krajobrazie technologicznym, duże modele językowe (LLM) stały się potężnymi narzędziami do przetwarzania języka naturalnego. Jednak ich poleganie na statycznych danych treningowych ogranicza ich zdolność do adaptacji do rzeczywistych scenariuszy. Wraz ze wzrostem zapotrzebowania branż na rozwiązania AI zdolne do podejmowania świadomych decyzji, integracja zewnętrznych narzędzi i API stała się sprawą najwyższej wagi. Precyzja, z jaką te narzędzia są wykorzystywane, ma kluczowe znaczenie dla zwiększenia zdolności decyzyjnych i efektywności operacyjnej autonomicznych agentów, co ostatecznie toruje drogę do rozwoju zaawansowanych przepływów pracy agentów.
Artykuł zagłębia się w techniczne aspekty wywoływania narzędzi za pomocą modeli Amazon Nova za pośrednictwem Amazon Bedrock. Ponadto, bada różne metody dostosowywania tych modeli w celu osiągnięcia większej dokładności w wykorzystaniu narzędzi.
Rozszerzanie możliwości LLM dzięki wykorzystaniu narzędzi
LLM wykazały niezwykłą biegłość w szerokim zakresie zadań związanych z językiem naturalnym. Jednak ich prawdziwy potencjał zostaje odblokowany dzięki bezproblemowej integracji z narzędziami zewnętrznymi, takimi jak API i ramy obliczeniowe. Te narzędzia umożliwiają LLM dostęp do danych w czasie rzeczywistym, wykonywanie obliczeń specyficznych dla danej domeny i pobieranie precyzyjnych informacji, co zwiększa ich niezawodność i wszechstronność.
Rozważ integrację API pogodowego, która umożliwia LLM dostarczanie dokładnych i aktualnych prognoz pogody. Podobnie, API Wikipedii może wyposażyć LLM w możliwość dostępu do ogromnego repozytorium informacji, pozwalając im odpowiadać na złożone zapytania z większą dokładnością. W kontekstach naukowych narzędzia takie jak kalkulatory i silniki symboliczne mogą pomóc LLM pokonać niedokładności numeryczne, czyniąc je bardziej niezawodnymi w przypadku złożonych obliczeń.
Dzięki bezproblemowej integracji z tymi narzędziami, LLM ewoluują w solidne, świadome domeny systemy zdolne do obsługi dynamicznych i wyspecjalizowanych zadań z rzeczywistą użytecznością.
Modele Amazon Nova i Amazon Bedrock
Modele Amazon Nova, wprowadzone na AWS re:Invent w grudniu 2024 roku, zostały zaprojektowane tak, aby zapewnić wyjątkową wartość w stosunku do ceny. Modele te oferują najnowocześniejszą wydajność w kluczowych testach porównawczych rozumienia tekstu, zachowując jednocześnie efektywność kosztową. Seria składa się z trzech wariantów:
- Micro: Model tylko tekstowy, zoptymalizowany pod kątem użytku na krawędzi, oferujący ultra-wydajną wydajność.
- Lite: Model multimodalny, który zapewnia równowagę między wszechstronnością a wydajnością.
- Pro: Model multimodalny o wysokiej wydajności, przeznaczony do rozwiązywania złożonych zadań.
Modele Amazon Nova mogą być wykorzystywane do szerokiego zakresu zadań, w tym generowania i rozwoju przepływów pracy agentów. Modele te posiadają zdolność interakcji z narzędziami zewnętrznymi lub usługami za pośrednictwem procesu zwanego wywoływaniem narzędzi. Ta funkcjonalność jest dostępna za pośrednictwem konsoli Amazon Bedrock i API, takich jak Converse i Invoke.
Oprócz wykorzystania wstępnie wytrenowanych modeli, programiści mają możliwość dostrajania tych modeli za pomocą danych multimodalnych (Pro i Lite) lub danych tekstowych (Pro, Lite i Micro). Ta elastyczność pozwala programistom osiągnąć pożądany poziom dokładności, opóźnienia i efektywności kosztowej. Ponadto, programiści mogą wykorzystać konsolę Amazon Bedrock i API do samodzielnego dostrajania i destylacji większych modeli do mniejszych.
Przegląd rozwiązania
Rozwiązanie obejmuje przygotowanie niestandardowego zestawu danych specjalnie zaprojektowanego do użytku narzędzi. Ten zestaw danych jest następnie wykorzystywany do oceny wydajności modeli Amazon Nova za pośrednictwem Amazon Bedrock, przy użyciu API Converse i Invoke. Następnie, modele AmazonNova Micro i Amazon Nova Lite są dostrajane przy użyciu przygotowanego zestawu danych za pośrednictwem Amazon Bedrock. Po zakończeniu procesu dostrajania, te dostosowane modele są oceniane za pośrednictwem zapewnionej przepustowości.
Narzędzia
Wykorzystanie narzędzi w LLM obejmuje dwie podstawowe operacje: wybór narzędzia i ekstrakcję lub generowanie argumentów. Na przykład, rozważ narzędzie zaprojektowane do pobierania informacji o pogodzie dla określonej lokalizacji. Po przedstawieniu zapytania, takiego jak “Jaka jest teraz pogoda w Londynie?”, LLM ocenia swoje dostępne narzędzia, aby określić, czy istnieje odpowiednie narzędzie. Jeśli zostanie zidentyfikowane odpowiednie narzędzie, model wybiera je i wyodrębnia niezbędne argumenty – w tym przypadku “Londyn” – aby skonstruować wywołanie narzędzia.
Każde narzędzie jest starannie zdefiniowane za pomocą formalnej specyfikacji, która określa jego zamierzoną funkcjonalność, obowiązkowe i opcjonalne argumenty oraz powiązane typy danych. Te precyzyjne definicje, zwane konfiguracją narzędzia, zapewniają, że wywołania narzędzi są wykonywane poprawnie i że parsowanie argumentów jest zgodne z wymaganiami operacyjnymi narzędzia. Zgodnie z tym wymaganiem, zestaw danych użyty w tym przykładzie definiuje osiem różnych narzędzi, każde z własnymi argumentami i konfiguracjami, wszystkie ustrukturyzowane w formacie JSON. Zdefiniowano następujące osiem narzędzi:
- weather_api_call: Niestandardowe narzędzie zaprojektowane do pobierania informacji o pogodzie.
- stat_pull: Niestandardowe narzędzie do identyfikacji statystyk.
- text_to_sql: Niestandardowe narzędzie do konwersji tekstu na zapytania SQL.
- terminal: Narzędzie do wykonywania skryptów w środowisku terminala.
- wikipedia: Narzędzie API Wikipedii do przeszukiwania stron Wikipedii.
- duckduckgo_results_json: Narzędzie do wyszukiwania w Internecie, które wykorzystuje DuckDuckGo do wykonywania wyszukiwań.
- youtube_search: Narzędzie do wyszukiwania API YouTube do przeszukiwania list wideo.
- pubmed_search: Narzędzie do wyszukiwania PubMed do przeszukiwania abstraktów PubMed.
Zestaw danych
Zestaw danych użyty w tym rozwiązaniu jest syntetycznym zestawem danych do wywoływania narzędzi, stworzonym przy pomocy modelu foundation (FM) z Amazon Bedrock, a następnie ręcznie zweryfikowanym i dostosowanym. Zestaw danych został opracowany dla zestawu ośmiu narzędzi omówionych wcześniej, w celu wygenerowania różnorodnej kolekcji pytań i wywołań narzędzi, które umożliwiają innemu modelowi uczenie się z tych przykładów i uogólnianie na niewidoczne wywołania narzędzi.
Każdy wpis w zestawie danych jest ustrukturyzowany jako obiekt JSON, zawierający pary klucz-wartość, które definiują pytanie (zapytanie użytkownika w języku naturalnym dla modelu), narzędzie ground truth wymagane do udzielenia odpowiedzi na zapytanie użytkownika, jego argumenty (słownik zawierający parametry wymagane do wykonania narzędzia) i dodatkowe ograniczenia, takie jak order_matters: boolean
, które wskazuje, czy kolejność argumentów jest krytyczna, oraz arg_pattern: optional
, wyrażenie regularne (regex) do walidacji lub formatowania argumentów. Te etykiety ground truth są używane do nadzorowania trenowania wstępnie wytrenowanych modeli Amazon Nova, dostosowując je do użytku narzędzi. Ten proces, znany jako nadzorowane dostrajanie, jest dalej badany w następnych sekcjach.
Zestaw treningowy składa się z 560 pytań, podczas gdy zestaw testowy zawiera 120 pytań. Zestaw testowy jest ustrukturyzowany tak, aby zawierał 15 pytań na kategorię narzędzia, co daje łącznie 120 pytań.
Przygotowanie zestawu danych dla Amazon Nova
Aby skutecznie wykorzystać ten zestaw danych z modelami Amazon Nova, konieczne jest sformatowanie danych zgodnie z określonym szablonem czatu. Natywne wywoływanie narzędzi obejmuje warstwę tłumaczenia, która formatuje dane wejściowe do odpowiedniego formatu przed przekazaniem ich do modelu. W tym rozwiązaniu przyjęto podejście do samodzielnego użytku narzędzi, wykorzystując niestandardowy szablon monitu. W szczególności, monit systemowy, wiadomość użytkownika osadzona w konfiguracji narzędzia i etykiety ground truth muszą być dodane jako wiadomość asystenta.
Przesyłanie zestawu danych do Amazon S3
Ten krok jest niezbędny, aby umożliwić Amazon Bedrock dostęp do danych treningowych podczas procesu dostrajania. Zestaw danych można przesłać za pośrednictwem konsoli Amazon Simple Storage Service (Amazon S3) lub programowo.
Wywoływanie narzędzi za pomocą modeli bazowych za pośrednictwem API Amazon Bedrock
Po utworzeniu zestawu danych do użytku narzędzi i sformatowaniu go zgodnie z wymaganiami, można go użyć do testowania modeli Amazon Nova. Zarówno API Converse, jak i Invoke mogą być używane do użytku narzędzi w Amazon Bedrock. API Converse umożliwia dynamiczne, świadome kontekstu rozmowy, pozwalając modelom angażować się w wieloetapowe dialogi, podczas gdy API Invoke pozwala użytkownikom wywoływać i wchodzić w interakcje z bazowymi modelami w Amazon Bedrock.
Aby użyć API Converse, wiadomości, monit systemowy (jeśli istnieje) i konfiguracja narzędzia są wysyłane bezpośrednio do API.
Aby przeanalizować narzędzie i argumenty z odpowiedzi LLM, rozważ pytanie: “Hej, jaka jest teraz temperatura w Paryżu?”. Dane wyjściowe zostaną przeanalizowane w celu zidentyfikowania narzędzia i argumentów potrzebnych do udzielenia odpowiedzi na pytanie.
Dostrajanie modeli Amazon Nova w celu ulepszonego użytkowania narzędzi
Dostrajanie jest kluczowym krokiem w dostosowywaniu wstępnie wytrenowanych modeli językowych, takich jak Amazon Nova, do określonych zadań. Trenując model na zestawie danych dostosowanym do pożądanej aplikacji, model może nauczyć się wykonywać zadanie z większą dokładnością i wydajnością. W kontekście użytkowania narzędzi, dostrajanie może znacznie poprawić zdolność modelu do wyboru odpowiedniego narzędzia i wyodrębniania poprawnych argumentów.
Proces dostrajania polega na dostosowaniu wewnętrznych parametrów modelu w celu zminimalizowania różnicy między jego przewidywaniami a etykietami ground truth w zestawie danych treningowych. Zwykle osiąga się to poprzez proces iteracyjny, w którym model jest wielokrotnie wystawiany na działanie danych treningowych, a jego parametry są dostosowywane na podstawie zaobserwowanych błędów.
Przygotowanie zestawu danych do dostrajania
Zestaw danych do dostrajania powinien być starannie dobrany, aby odzwierciedlał rodzaje pytań i wywołań narzędzi, które model ma obsługiwać w rzeczywistych scenariuszach. Zestaw danych powinien zawierać różnorodny zakres przykładów, obejmujących różne kategorie narzędzi i wzorce argumentów.
Każdy przykład w zestawie danych powinien składać się z pytania, odpowiadającego mu narzędzia do wywołania i argumentów wymaganych do wykonania narzędzia. Argumenty powinny być sformatowane w sposób ustrukturyzowany, zwykle jako obiekt JSON.
Proces dostrajania
Proces dostrajania można wykonać za pomocą konsoli Amazon Bedrock lub API. Proces obejmuje określenie modelu do dostrojenia, zestawu danych do dostrajania i pożądanych parametrów treningowych.
Parametry treningowe kontrolują różne aspekty procesu dostrajania, takie jak współczynnik uczenia się, rozmiar partii i liczba epok. Współczynnik uczenia się określa wielkość dostosowań parametrów dokonywanych podczas każdej iteracji. Rozmiar partii określa liczbę przykładów przetwarzanych w każdej iteracji. Liczba epok określa liczbę razy, gdy model jest wystawiany na działanie całego zestawu danych treningowych.
Ocena dostrojonego modelu
Po zakończeniu procesu dostrajania, konieczne jest ocenienie wydajności dostrojonego modelu. Można to zrobić, testując model na oddzielnym zestawie danych testowych, który nie był używany podczas procesu dostrajania.
Zestaw danych testowych powinien być reprezentatywny dla rodzajów pytań i wywołań narzędzi, które model ma obsługiwać w rzeczywistych scenariuszach. Wydajność modelu można ocenić, mierząc wskaźniki, takie jak dokładność, precyzja, recall i F1-score.
Korzyści z dostosowywania modeli Amazon Nova do użytku narzędzi
Dostosowywanie modeli Amazon Nova do użytku narzędzi oferuje kilka korzyści:
- Poprawiona dokładność: Dostrojenie modelu na zestawie danych specyficznym dla zadania może znacznie poprawić dokładność wyboru narzędzia i ekstrakcji argumentów.
- Zwiększona wydajność: Dostrojone modele często mogą wykonywać zadania związane z użytkowaniem narzędzi wydajniej niż wstępnie wytrenowane modele.
- Zwiększona zdolność adaptacji: Dostrajanie pozwala modelowi dostosować się do określonych domen i przypadków użycia.
- Zredukowane koszty: W niektórych przypadkach, dostrajanie może zmniejszyć zasoby obliczeniowe wymagane do wykonywania zadań związanych z użytkowaniem narzędzi.
Wniosek
Dostosowywanie modeli Amazon Nova do użytku narzędzi jest cenną techniką zwiększania wydajności i zdolności adaptacji LLM. Dostrajając model na zestawie danych specyficznym dla zadania, programiści mogą znacznie poprawić dokładność, wydajność i zdolność adaptacji aplikacji do użytku narzędzi. Wraz ze wzrostem zapotrzebowania branż na rozwiązania AI zdolne do podejmowania świadomych decyzji, dostosowywanie LLM do użytku narzędzi będzie stawało się coraz ważniejsze.