Translation not up to date
Można określić parametry sterujące generowaniem wyników przez model w odpowiedzi na pytanie. W tym temacie przedstawiono listę parametrów, które można kontrolować w laboratorium podpowiedzi.
Dekodowanie
Dekodowanie to proces używany przez model do wybierania tokenów w wygenerowanych danych wyjściowych.
Dekodowanie zachłanne wybiera leksem z największym prawdopodobieństwem na każdym etapie procesu dekodowania. Funkcja dekodowania zachłannego generuje wyniki, które są ściśle zgodne z najbardziej powszechnym językiem w danych wstępnego uczenia modelu i w tekście zachęty, co jest pożądane w mniej kreatywnych lub opartych na faktach przypadkach użycia. Słabością dekodowania zachłannego jest to, że może powodować powtarzające się pętle w wygenerowanych danych wyjściowych.
Dekodowanie losowe jest bardziej zmienne, bardziej losowe niż dekodowanie zachłanne. Zmienność i losowość są pożądane w kreatywnych przypadkach użycia. Jednak przy większej zmienności występuje ryzyko niedorzecznego wyniku. Dekodowanie próby wybiera leksemy z rozkładu prawdopodobieństwa w każdym kroku:
- Próbkowanie temperatury oznacza wybór następnego tokenu o wysokim lub niskim prawdopodobieństwie.
- Losowanie top-k odnosi się do losowego wyboru następnego tokenu z określonej liczby, k, leksemów o najwyższym prawdopodobieństwie.
- Losowanie top-p odnosi się do wyboru następnego leksemu losowo z najmniejszego zbioru leksemów, dla których skumulowane prawdopodobieństwo przekracza określoną wartość, p. (Próbkowanie Top-p jest również nazywane próbkowaniem jądra).
Można określić wartości zarówno dla górnych K, jak i górnych P. Gdy używane są oba parametry, najpierw stosowane jest górne K. Gdy obliczany jest górny P, wszystkie leksemy poniżej punktu odcięcia ustawionego przez górny K mają prawdopodobieństwo zerowe.
Parametr | obsługiwane wartości | Domyślne | Użycie |
---|---|---|---|
Temperatura | Liczba zmiennopozycyjna z zakresu od 0.0 (taka sama jak dekodowanie zachłanne) do 2.0 (maksymalna kreatywność) | 0.7 | Wyższe wartości prowadzą do większej zmienności |
Górne K | Liczba całkowita z zakresu od 1 do 100 | 50 | Wyższe wartości prowadzą do większej zmienności |
Górne P | Liczba zmiennopozycyjna z zakresu od 0.0 do 1.0 | 1.0 | Wyższe wartości prowadzą do większej zmienności |
Wartość początkowa
Po wielokrotnym wysłaniu tej samej zachęty do modelu z dekodowaniem próbkowania, zwykle za każdym razem otrzymywany jest inny wygenerowany tekst. Ta zmienność jest wynikiem zamierzonej pseudolosowości wbudowanej w proces dekodowania. Wartość początkowa generatora liczb losowych oznacza liczbę używaną do generowania tego pseudolosowego zachowania.
- Obsługiwane wartości: Liczba całkowita z zakresu od 1 do 4 294 967 295
- Wartość domyślna : generowany na podstawie bieżącego czasu systemowego serwera
- Użycie: Aby wygenerować powtarzalne wyniki, należy za każdym razem ustawić tę samą wartość początkową generatora liczb losowych.
Kara za powtórzenie
Jeśli wynik wygenerowany dla wybranego pytania, modelu i parametrów zawiera powtarzalny tekst, można spróbować dodać karę za powtórzenie.
- Obsługiwane wartości: Liczba zmiennopozycyjna z zakresu od 1.0 (bez kary) do 2.0 (z maksymalną karą).
- Wartość domyślna: 1.0
- Użycie: Im wyższa kara, tym mniejsze prawdopodobieństwo, że wynik będzie zawierał powtórzony tekst.
Kryteria zatrzymania
Na długość danych wyjściowych generowanych przez model można wpłynąć na dwa sposoby: określając sekwencje zatrzymania oraz ustawiając tokeny minimalne i maksymalne. Generowanie tekstu kończy się po tym, jak model uzna, że dane wyjściowe zostały zakończone, wygenerowano sekwencję zatrzymania lub osiągnięto maksymalny limit tokenów.
Sekwencje zatrzymania
Sekwencja zatrzymania to łańcuch składający się z jednego lub większej liczby znaków. Jeśli zostaną określone sekwencje zatrzymania, model automatycznie zatrzyma generowanie danych wyjściowych po pojawieniu się w wygenerowanych danych wyjściowych jednej z sekwencji zatrzymania określonych przez użytkownika. Na przykład jednym ze sposobów na zatrzymanie generowania wyników przez model po jednym zdaniu jest określenie kropki jako sekwencji zatrzymania. W ten sposób po wygenerowaniu przez model pierwszego zdania i zakończeniu go kropką generowanie wyników zostanie zatrzymane. Wybór efektywnych sekwencji zatrzymania zależy od przypadku użycia i rodzaju wygenerowanych danych wyjściowych.
Obsługiwane wartości: od 0 do 6 łańcuchów, z których każdy nie jest dłuższy niż 40 elementów
Wartość domyślna : brak sekwencji zatrzymywania
Użyj:
- Sekwencje zatrzymania są ignorowane, dopóki nie zostanie wygenerowana liczba tokenów określona w parametrze Minimalna liczba tokenów.
- Jeśli zachęta zawiera przykłady par wejścia-wyjścia, upewnij się, że przykładowe dane wyjściowe w przykładach kończą się jedną z sekwencji zatrzymania.
Minimalna i maksymalna liczba nowych tokenów
Jeśli wyniki z modelu są zbyt krótkie lub zbyt długie, należy spróbować dopasować parametry, które sterują liczbą wygenerowanych tokenów:
- Parametr Min tokens steruje minimalną liczbą tokenów w wygenerowanych danych wyjściowych.
- Parametr Maksymalna liczba tokenów steruje maksymalną liczbą tokenów w wygenerowanych danych wyjściowych.
Maksymalna liczba leksemów dozwolonych w wynikach różni się w zależności od modelu. Więcej informacji na ten temat zawiera sekcja Maksymalna liczba tokenów w sekcji Obsługiwane modele podstawowe.
Wartości domyślne:
- Minimalna liczba tokenów: 0
- Maksymalna liczba tokenów: 20
Użyj:
- Minimalna liczba tokenów musi być mniejsza lub równa maksymalnej liczbie tokenów.
- Ponieważ koszt korzystania z modeli podstawowych w produkcie IBM watsonx.ai jest oparty na wykorzystaniu, co jest częściowo związane z liczbą generowanych tokenów, określenie najniższej wartości dla maksymalnej liczby tokenów, która działa w danym przypadku użycia, jest strategią oszczędności kosztów.
- W przypadku uproszczonych planów dane wyjściowe przestają być generowane po osiągnięciu dynamicznego, specyficznego dla modelu, górnego limitu sterowanego środowiskiem, nawet jeśli wartość określona parametrem Maksymalna liczba tokenów nie została osiągnięta. Aby określić górny limit, zapoznaj się z sekcją Limity tokenów dla modelu w sekcji Obsługiwane modele podstawowe lub wywołaj funkcję
get_details
w bibliotece modeli podstawowych Python .
Temat nadrzędny: Laboratorium pytań