Strategie projektowania promptów, takie jak prompty „few-shot”, nie zawsze zapewniają w odpowiednich wynikach wyszukiwania. Dostrajanie modelu to proces, który może poprawić wydajność modelu w przypadku określonych zadań lub pomóc mu spełnić określone wymagania dotyczące danych wyjściowych, gdy same instrukcje nie są wystarczające, a masz zestaw przykładów, które pokazują pożądane dane wyjściowe.
Ta strona zawiera ogólne omówienie dostrajania modelu tekstowego, na podstawie którego Gemini API. Gdy wszystko będzie gotowe, możesz rozpocząć dostrajanie. Skorzystaj z samouczka dotyczącego dostrajania. Jeśli chcesz bardziej ogólnego wprowadzenia do dostosowywania modeli LLM do konkretnych przypadków użycia, spalone LLM: dostrajanie, oczyszczanie i inżynieria promptów w Szybkie szkolenie z systemów uczących się.
Jak działa dostrajanie
Celem dostrajania jest zwiększenie wydajności modelu konkretnego zadania. Dostrajanie polega na trenowaniu modelu który zawiera wiele przykładów zadania. W przypadku zadań niszowych możesz uzyskać znaczną poprawę wydajności modelu, dostrajając go na niewielkiej liczbie przykładów. Ten rodzaj dostrajania modelu jest czasami określany jako dostrajania nadzorowanego, aby odróżnić je od innych rodzajów dostrajania.
Dane treningowe powinny być uporządkowane jako przykłady z danymi wejściowymi promptów oczekiwanych odpowiedzi. Możesz też dostroić modele bezpośrednio na podstawie danych przykładowych w Google AI Studio. Celem jest nauczenie modelu naśladowania oczekiwanego zachowania. lub zadaniu, podając wiele przykładów ilustrujących takie zachowanie lub zadanie.
Gdy uruchamiasz zadanie dostrajania, model uczy się dodatkowych parametrów, które pomagają mu zakodować informacje niezbędne do wykonania danego zadania lub poznać zachowanie użytkownika. Parametry te można następnie wykorzystać podczas wnioskowania. Dane wyjściowe funkcji zadanie dostrajania to nowy model, który jest właściwie kombinacją nowo utworzonych nauczone parametry i model oryginalny.
Przygotowywanie zbioru danych
Zanim zaczniesz dostrajanie, musisz mieć zbiór danych, na podstawie którego będziesz dostrajać model. Aby uzyskać największą skuteczność, przykłady w zbiorze danych powinny być wysokiej jakości, zróżnicowane i reprezentatywne dla rzeczywistych danych wejściowych i wyjściowych.
Format
Przykłady zawarte w zbiorze danych powinny być zgodne z oczekiwaną wersją produkcyjną ruchu. Jeśli zbiór danych zawiera określone formatowanie, słowa kluczowe, instrukcje lub informacje, dane produkcyjne powinny być sformatowane w taki sam sposób i zawierać te same instrukcje.
Jeśli więc przykłady w zbiorze danych obejmują "question:"
(pytanie) i "context:"
(kontekst), ruch produkcyjny również powinien być sformatowany tak, aby obejmować "question:"
i "context:"
w takim samym porządku jak w przypadku przykładów w zbiorze danych. Jeśli wykluczysz kontekst, model nie rozpozna wzorca,
nawet jeśli dokładne pytanie znajduje się
w przykładzie w zbiorze danych.
Oto kolejny przykład danych treningowych w języku Python dla aplikacji, która generuje następną liczbę w sekwencji:
training_data = [
{"text_input": "1", "output": "2"},
{"text_input": "3", "output": "4"},
{"text_input": "-3", "output": "-2"},
{"text_input": "twenty two", "output": "twenty three"},
{"text_input": "two hundred", "output": "two hundred one"},
{"text_input": "ninety nine", "output": "one hundred"},
{"text_input": "8", "output": "9"},
{"text_input": "-98", "output": "-97"},
{"text_input": "1,000", "output": "1,001"},
{"text_input": "10,100,000", "output": "10,100,001"},
{"text_input": "thirteen", "output": "fourteen"},
{"text_input": "eighty", "output": "eighty one"},
{"text_input": "one", "output": "two"},
{"text_input": "three", "output": "four"},
{"text_input": "seven", "output": "eight"},
]
Pomocne może też być dodanie promptu lub wprowadzenia do każdego przykładowego zbioru danych. poprawi wydajność dostrojonego modelu. Uwaga: jeśli prompt lub wprowadzenie to zawarte w zbiorze danych, należy go również uwzględnić w prompcie do dostrojonego w czasie wnioskowania.
Ograniczenia
Uwaga: podczas dostrajania zbiorów danych pod kątem Gemini 1.5 Flash: Ograniczenia:
- Maksymalny rozmiar danych wejściowych na przykład to 40 000 znaków.
- Maksymalny rozmiar danych wyjściowych na przykład to 5000 znaków.
Rozmiar danych treningowych
Model możesz dostroić na podstawie zaledwie 20 przykładów. Dane dodatkowe zasadniczo poprawia jakość odpowiedzi. W zależności od aplikacji należy ustawić od 100 do 500 przykładów. W tabeli poniżej znajdziesz zalecane rozmiary zbiorów danych do dopracowywania modelu tekstowego na potrzeby różnych typowych zadań:
Zadanie | Liczba przykładów w zbiorze danych |
---|---|
Klasyfikacja | 100+ |
Podsumowywanie | 100-500+ |
Wyszukiwanie dokumentów | 100+ |
Prześlij zbiór danych dostrajania
Dane są przekazywane bezpośrednio przez interfejs API lub przez pliki przesłane do Google. AI Studio,
Aby korzystać z biblioteki klienta, podaj plik danych w wywołaniu createTunedModel
.
Maksymalny rozmiar pliku to 4 MB. Zobacz
Krótkie wprowadzenie do dostrajania w języku Python
aby rozpocząć.
Aby wywołać interfejs API REST za pomocą cURL, podaj przykłady treningowe w formacie JSON w argumencie training_data
. Zobacz
dostrajanie krótkiego wprowadzenia za pomocą cURL
aby rozpocząć.
Zaawansowane ustawienia dostrajania
Podczas tworzenia zadania do dostosowania możesz określić te ustawienia zaawansowane:
- Epoki: pełne zaliczenie całego zestawu treningowego, dzięki któremu każdy został przetworzony raz.
- Wielkość wsadu: zbiór przykładów używanych w 1 powtarzaniu trenowania. Rozmiar wsadki określa liczbę przykładów we wsadzie.
- Tempo uczenia się: liczba zmiennoprzecinkowa, która informuje algorytm, jak aby dostosować parametry modelu przy każdej iteracji. Na przykład plik tempo uczenia się 0,3 spowodowałoby 3-krotne dostosowanie wagi i odchylenia niż tempo uczenia się wynoszące 0,1. Wysokie i niskie wskaźniki uczenia się zawierają unikalne kompromisy i należy je dostosować odpowiednio do przypadku użycia.
- Mnożnik tempa uczenia się: mnożnik szybkości oryginalne tempo uczenia się. Wartość 1 wykorzystuje pierwotne tempo uczenia się model atrybucji. Wartości większe niż 1 zwiększają szybkość uczenia się, a wartości między 1 a 0 ją zmniejszają.
Zalecane konfiguracje
W tabeli poniżej znajdziesz zalecane konfiguracje do dostrajania model podstawowy:
Hiperparametr | Wartość domyślna | Zalecane dostosowania |
---|---|---|
Epoka | 5 |
Jeśli straty zacznie spadać przed 5 epokami, użyj mniejszej wartości. Jeśli wartość staje się zbieżna i nie wygląda na płaskowyż, użyj większej wartości. |
Wielkość wsadu | 4 | |
Tempo uczenia się | 0,001 | W przypadku mniejszych zbiorów danych używaj mniejszej wartości. |
Krzywa strat pokazuje, jak bardzo prognoza modelu odbiega od idealnej wartości
w przykładach treningowych po każdej epoce. w miarę możliwości
w najniższym punkcie krzywej tuż przed płaskowyżem. Przykład:
Poniższy wykres przedstawia płaskowyż krzywej straty w okresie 4–6 epoki, co oznacza, że
możesz ustawić parametr Epoch
na 4, ale nadal uzyskiwać taką samą skuteczność.
Sprawdzanie stanu zadania dostrajania
Stan zadania dostrajania możesz sprawdzić w Google AI Studio w
Moja biblioteka lub za pomocą właściwości metadata
dostrojonego modelu w
Gemini API.
Rozwiązywanie problemów
Ta sekcja zawiera wskazówki dotyczące rozwiązywania błędów, które mogą wystąpić podczas podczas tworzenia modelu dostrojonego.
Uwierzytelnianie
Dostrajanie przy użyciu interfejsu API i biblioteki klienta wymaga uwierzytelnienia użytkownika. klucz interfejsu API,
nie jest wystarczające. Jeśli wyświetla się błąd 'PermissionDenied: 403 Request had
insufficient authentication scopes'
, musisz skonfigurować użytkownika
uwierzytelnianie.
Aby skonfigurować dane logowania OAuth dla Pythona, zapoznaj się z artykułem samouczek konfiguracji OAuth.
Anulowane modele
Możesz anulować zadanie dopasowywania w dowolnym momencie przed jego zakończeniem. Pamiętaj jednak: wydajność wnioskowania w anulowanym modelu jest nieprzewidywalna, zwłaszcza jeśli zadanie dostrajania jest anulowane na wczesnym etapie trenowania. Jeśli anulujesz zadanie, ponieważ chcesz przerwać trenowanie na wcześniejszej epoce, utwórz nowe zadanie do dostosowania i ustaw epokę na niższą wartość.
Ograniczenia dostrojonych modeli
Uwaga: dostrojone modele mają następujące ograniczenia:
- Limit wprowadzania danych w dostrojonym modelu Flash Gemini 1.5 to 40 000 znaków.
- Tryb JSON nie jest obsługiwany w przypadku dostrojonych modeli.
- Możesz wpisywać tylko tekst.
Co dalej?
Zacznij od samouczków dotyczących dostrajania: