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ólny przegląd dopracowywania modelu tekstowego usługi tekstowej Gemini API. Gdy wszystko będzie gotowe, możesz rozpocząć dostrajanie. W tym celu skorzystaj z samouczka na temat dostrajania. Jeśli chcesz zapoznać się z ogólnymi informacjami o dostosowywaniu LLM do konkretnych zastosowań, zapoznaj się z artykułem LLMs: Fine-tuning, distillation, and prompt engineering (Duże modele językowe: dostrajanie, skracanie i tworzenie promptów) w Szybkim szkoleniu z systemów uczących się.
Jak działa dostrojenie
Dostrojenie ma na celu zwiększenie wydajności modelu w przypadku konkretnego zadania. W ramach dostrajania dostarcza się modelowi zbiór danych treningowych, które zawierają wiele przykładów zadania. W przypadku niszowych zadań możesz: znacząco poprawiła wydajność modelu przez dostrojenie modelu na skromny większą liczbę przykładów. Ten rodzaj dostrajania modelu jest czasami określany jako dostrajania nadzorowanego, aby odróżnić je od innych rodzajów dostrajania.
Dane szkoleniowe powinny być uporządkowane w postaci przykładów z promptami i oczekiwanymi odpowiedziami. Możesz też dostosować modele, korzystając z przykładowych danych bezpośrednio 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 uruchomisz zadanie dostrajania, model nauczy się dodatkowych parametrów, które pomogą mu zakodować niezbędne informacje do wykonania pożądanego zadania lub wyuczyć się pożądanego zachowania. Parametry te można następnie wykorzystać podczas wnioskowania. Wynikiem zadania dostrojenia jest nowy model, który jest połączeniem nowo wyuczonych parametrów i pierwotnego modelu.
Przygotuj zbiór danych
Zanim zaczniesz dostrajać, potrzebujesz zbioru danych, za pomocą którego dostrój 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 przykład danych treningowych Pythona 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. Pamiętaj, że jeśli w Twoim zbiorze danych znajduje się prompt lub wstęp, powinny one być również uwzględnione w promptach dostosowanego modelu w momencie 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 wyjściowy na przykład wynosi 5000 znaków.
Rozmiar danych treningowych
Model możesz dostroić na podstawie zaledwie 20 przykładów. Dane dodatkowe zasadniczo poprawia jakość odpowiedzi. Powinien to być 100, i 500 przykładów w zależności od zastosowania. Tabela poniżej pokazuje zalecane rozmiary zbiorów danych do dostrajania modelu tekstowego do 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 w ramach interfejsu API lub za pomocą plików przesłanych w Google AI Studio.
Aby użyć biblioteki klienta, podaj plik danych w wyzwaniu 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 dostrajania 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 wsadu określa liczbę przykładów we wsadzie.
- Tempo uczenia się: liczba zmiennoprzecinkowa, która informuje algorytm, jak mocno dostosowywać parametry modelu na każdej iteracji. Na przykład współczynnik 0,3 będzie dostosowywał wagi i uśrednienia 3 razy skuteczniej niż współczynnik 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 oznacza użycie pierwotnego tempa uczenia się modelu. Wartości większe niż 1 zwiększają tempo uczenia się i wartości od 1 a 0 obniża tempo uczenia się.
Zalecane konfiguracje
W tabeli poniżej znajdziesz zalecane konfiguracje do dostrajania model podstawowy:
Hiperparametr | Wartość domyślna | Zalecane dostosowania |
---|---|---|
Epoch | 5 |
Jeśli strata zacznie się stabilizować 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
Dostosowanie za pomocą interfejsu API i biblioteki klienta wymaga uwierzytelnienia. Możesz skonfigurować uwierzytelnianie, używając klucza interfejsu API (zalecane) lub danych logowania OAuth. Dokumentację konfigurowania klucza interfejsu API znajdziesz tu Skonfiguruj klucz interfejsu API.
Jeśli widzisz błąd 'PermissionDenied: 403 Request had insufficient authentication
scopes'
, konieczne może być skonfigurowanie uwierzytelniania użytkownika za pomocą danych logowania OAuth. Aby skonfigurować dane logowania OAuth dla Pythona, otwórz
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: modele dostosowane mają te ograniczenia:
- Limit danych wejściowych w dostosowanym modelu Gemini 1.5 Flash wynosi 40 tys. znaków.
- Tryb JSON nie jest obsługiwany w przypadku dostrojonych modeli.
- Możesz wpisywać tylko tekst.
Co dalej?
Zapoznaj się z samouczkami dotyczącymi dokładnego dostrajania: