Wprowadzenie do dostrajania modeli

Strategie projektowania promptów, takie jak prompty „kilka ujęć”, nie zawsze dają oczekiwane rezultaty. Użyj dostrajania modelu, aby poprawić wydajność modelu w przypadku określonych zadań lub pomóc modelowi spełnić określone wymagania dotyczące danych wyjściowych, gdy instrukcje nie są wystarczające. Masz też zestaw przykładów, które pokazują pożądane wyniki.

Na tej stronie znajdziesz wskazówki dotyczące dostrajania modelu tekstowego za pomocą usługi tekstowej Gemini API.

Jak działa dostrajanie modeli

Dostrajanie modelu ma na celu zwiększenie jego wydajności w przypadku konkretnego zadania. W jego ramach dostarcza się modelowi zbiór danych treningowych, które zawierają wiele przykładów zadania. W przypadku niszowych zadań możesz uzyskać znaczną poprawę wydajności modelu, dostrajając go na niewielkiej liczbie przykładów.

Dane treningowe powinny mieć strukturę przykładową z podanymi promptami i oczekiwanymi wynikami odpowiedzi. Możesz też dostrajać modele za pomocą przykładowych danych bezpośrednio w Google AI Studio. Celem jest nauczenie modelu naśladowania oczekiwanego zachowania lub zadania przez podanie mu wielu przykładów ilustrujących to zachowanie lub zadanie.

Gdy uruchamiasz zadanie dostrajania, model uczy się dodatkowych parametrów, które pomagają mu zakodować informacje niezbędne do wykonania pożądanego zadania lub wypracowania oczekiwanego zachowania. Parametry te mogą być następnie używane w czasie wnioskowania. Wynikiem zadania dostrajania jest nowy model, który w praktyce stanowi połączenie nowo zauczonych parametrów i oryginalnego modelu.

Obsługiwane modele

Poniższe modele podstawowe obsługują dostrajanie modeli. Obsługiwane jest tylko uzupełnianie tekstu jednoetapowego.

  • Gemini 1.0 Pro
  • text-bison-001

Proces dostrajania modeli

Proces dostrajania modelu wygląda tak:

  1. Przygotuj zbiór danych.
  2. Jeśli używasz Google AI Studio, zaimportuj zbiór danych.
  3. Rozpocznij zadanie dostrajania.

Po zakończeniu dostrajania zostanie wyświetlona nazwa dostrojonego modelu. Możesz też wybrać go w Google AI Studio jako model, którego chcesz używać podczas tworzenia nowego promptu.

Przygotowywanie zbioru danych

Zanim zaczniesz dostrajać, potrzebujesz zbioru danych, za pomocą którego dostrojesz model. Aby uzyskać najlepszą wydajność, przykłady w zbiorze danych powinny mieć wysoką jakość, być zróżnicowane i reprezentować prawdziwe dane wejściowe i wyjściowe.

Format

Przykłady w zbiorze danych powinny być zgodne z oczekiwanym ruchem produkcyjnym. Jeśli Twój zbiór danych zawiera określone formatowanie, słowa kluczowe, instrukcje lub informacje, dane produkcyjne powinny być sformatowane w ten sam sposób i zawierać te same instrukcje.

Jeśli np. w zbiorze danych znajdują się przykłady "question:" i "context:", ruch produkcyjny również powinien być sformatowany w taki sposób, aby zawierał "question:" i "context:" w takiej kolejności, w jakiej występuje w przykładach zbiorów danych. Jeśli wykluczysz kontekst, model nie rozpozna wzorca, nawet jeśli dokładne pytanie znajdowało się w przykładzie w zbiorze danych.

Dodanie promptu lub wstępu do każdego przykładu w zbiorze danych również może pomóc w zwiększeniu wydajności dostrojonego modelu. Uwaga: jeśli zbiór danych zawiera prompt lub wprowadzenie, powinien on też być uwzględniony w prośbie wysyłanym do dostrojonego modelu w momencie wnioskowania.

Rozmiar danych treningowych

Model można dostroić, używając maksymalnie 20 przykładów, a dodatkowe dane zazwyczaj poprawiają jakość odpowiedzi. W zależności od aplikacji należy zapewnić od 100 do 500 przykładów. W tabeli poniżej znajdziesz zalecane rozmiary zbiorów danych potrzebne do dostrajania modelu tekstowego do różnych typowych zadań:

Działanie 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 w tekście za pomocą interfejsu API lub przez pliki przesłane do Google AI Studio.

Kliknij przycisk Importuj, aby zaimportować dane z pliku, lub wybierz uporządkowany prompt z przykładami do zaimportowania jako zbiór danych dostrajania.

Biblioteka klienta

Aby użyć biblioteki klienta, podaj plik danych w wywołaniu funkcji createTunedModel. Maksymalny rozmiar pliku to 4 MB. Aby rozpocząć, zapoznaj się z krótkim wprowadzeniem do Pythona.

Włosy do włosów

Aby wywołać interfejs API REST za pomocą Curl, podaj w argumencie training_data przykłady treningowe w formacie JSON. Na początek zapoznaj się z krótkim wprowadzeniem do Curl.

Zaawansowane ustawienia dostrajania

Podczas tworzenia zadania dostrajania możesz określić te ustawienia zaawansowane:

  • Epoki – pełne przejście treningowe na cały zbiór treningowy, w ramach którego każdy przykład został przetworzony raz.
  • Rozmiar wsadu – zbiór przykładów używanych w jednej iterze trenowania. Rozmiar serii określa liczbę przykładów w wsadzie.
  • Szybkość uczenia się – liczba zmiennoprzecinkowa, która informuje algorytm, jak mocno ma dostosowywać parametry modelu przy każdej iteracji. Na przykład tempo uczenia się na poziomie 0,3 skorygowałoby wagi i odchylenia 3 razy silniej niż tempo uczenia się równe 0,1. Wysokie i niskie tempo uczenia się wiąże się z unikalnymi kompromisami i należy je dostosować do konkretnego przypadku użycia.
  • Mnożnik tempa uczenia się – mnożnik stawki modyfikuje pierwotne tempo uczenia się modelu. Wartość 1 korzysta z pierwotnego tempa uczenia się modelu. Wartości większe niż 1 zwiększają tempo uczenia się, a wartości w przedziale od 1 do 0 – zmniejszają tempo uczenia się.

W tabeli poniżej znajdziesz zalecane konfiguracje do dostrajania modelu podstawowego:

Hiperparametr Wartość domyślna Zalecane dostosowania
Epoka 5 Jeśli strata zacznie spadać przed 5 epokami, użyj mniejszej wartości.
Jeśli strata jest zbieżna i nie wygląda na utrzymującą się na stałym poziomie, użyj większej wartości.
Wielkość wsadu 4
Tempo uczenia się 0,001 W przypadku mniejszych zbiorów danych użyj mniejszej wartości.

Krzywa straty pokazuje, w jakim stopniu prognozy modelu odbiegają od idealnych prognoz w przykładach treningowych po każdej epoce. Najlepiej skończyć trenowanie w najniższym punkcie krzywej, tuż przed płaskowyżem. Na przykład wykres poniżej przedstawia krzywą straty utrzymującą się w okresie 4–6 epoki, co oznacza, że możesz ustawić parametr Epoch na 4 i utrzymać tę samą skuteczność.

Krzywa straty

Sprawdzanie stanu zadania dostrajania

Stan zadania dostrajania możesz sprawdzić w interfejsie Google AI Studio na karcie Moja biblioteka. Możesz też użyć właściwości metadata dostrojonego modelu w interfejsie API Gemini.

Rozwiązywanie problemów

Ta sekcja zawiera wskazówki dotyczące rozwiązywania problemów, które mogą wystąpić podczas tworzenia modelu dostrojonego.

Uwierzytelnianie

Dostrajanie za pomocą interfejsu API i biblioteki klienta wymaga uwierzytelnienia użytkownika. Sam klucz interfejsu API nie wystarczy. Jeśli pojawia się błąd 'PermissionDenied: 403 Request had insufficient authentication scopes', musisz skonfigurować uwierzytelnianie użytkowników.

Aby skonfigurować dane logowania OAuth w Pythonie, zapoznaj się z samouczkiem konfiguracji OAuth.

Anulowane modele

Zadanie dostrajania modelu możesz anulować w dowolnym momencie przed jego zakończeniem. Wyniki wnioskowania anulowanego modelu są jednak nieprzewidywalne, zwłaszcza jeśli zadanie dostrajania zostanie anulowane na początku trenowania. Jeśli anulujesz trenowanie, ponieważ chcesz przerwać trenowanie we wcześniejszej epoce, utwórz nowe zadanie dostrajania i ustaw mniejszą wartość epoki.

Co dalej