Każde wywołanie wysłane do modelu zawiera wartości parametrów, które określają, jak model wygeneruje odpowiedź. Model może generować różne wyniki zależnie od tych wartości. Wypróbuj różne wartości parametrów, aby uzyskać najlepsze wyniki w tym zadaniu. Parametry dostępne w różnych modelach mogą się różnić.
Konfiguracja jest utrzymywana przez cały okres istnienia zainicjowanej Vertex AIusługi i instancji modelu. Aby zaktualizować konfigurację modelu, należy ponownie zainicjować jego instancję.
Dalej na tej stronie dowiesz się, jak skonfigurować parametry modelu.
Opis każdego parametru
Najczęstsze parametry to:
W kolejnych sekcjach tej strony znajdziesz informacje o każdym z tych parametrów.
Maksymalna liczba tokenów wyjściowych
Maksymalna liczba tokenów, które można wygenerować w odpowiedzi. Token ma około 4 znaków. 100 tokenów odpowiada około 20 słowom.
Jeśli chcesz uzyskiwać krótsze odpowiedzi, podaj niższą wartość, a jeśli dłuższe – wyższą.
Temperatura
Temperatura jest używana do próbkowania podczas generowania odpowiedzi, co ma miejsce, gdy są stosowane topP
i topK
. Temperatura decyduje o stopniu losowości wyboru tokenów. Niższe temperatury są przydatne w przypadku promptów, na które oczekuje się bardziej deterministycznej i mniej otwartej lub kreatywnej odpowiedzi, a wyższe mogą prowadzić do bardziej różnorodnych lub kreatywnych wyników. Temperatura 0
jest deterministyczna, co oznacza, że zawsze wybierana jest odpowiedź o najwyższym prawdopodobieństwie.
W większości przypadków dobrze jest zacząć od temperatury 0.2
. Jeśli model zwróci zbyt ogólną lub krótką odpowiedź, albo odpowiedź zastępczą, spróbuj zwiększyć temperaturę.
Top-K
Parametr Top-K zmienia sposób, w jaki model wybiera tokeny w celu wygenerowania odpowiedzi. Top-K o wartości 1
oznacza, że wybierany jest najbardziej prawdopodobny token spośród wszystkich tokenów w słowniku modelu (jest to też nazywane dekodowaniem zachłannym), natomiast Top-K o wartości 3
oznacza, że następny token jest wybierany z użyciem temperatury spośród 3 najbardziej prawdopodobnych.
Na każdym etapie wyboru tokena próbkowane są tokeny górnego K o największym prawdopodobieństwie. Tokeny są następnie filtrowane na podstawie górnego P, a ostateczny wybór tokena dokonywany jest przy użyciu próbkowania z użyciem temperatury.
Jeśli chcesz uzyskiwać mniej losowe odpowiedzi, podaj niższą wartość, a jeśli bardziej – wyższą. Wartość domyślna parametru górnego K to 40
.
Top-P
Parametr Top-P również zmienia sposób, w jaki model wybiera tokeny w celu wygenerowania odpowiedzi. Tokeny są wybierane od najbardziej (patrz górne K) do najmniej prawdopodobnych, aż suma ich prawdopodobieństw będzie równa wartości górnego P. Jeśli na przykład tokeny A, B i C mają prawdopodobieństwa 0,3, 0,2 i 0,1, a wartością Top-P jest 0.5
, jako kolejny token model wybierze A lub B (z użyciem temperatury), a token C zostanie wykluczony.
Jeśli chcesz uzyskiwać mniej losowe odpowiedzi, podaj niższą wartość, a jeśli bardziej – wyższą. Wartość domyślna parametru górnego P to 0.95
.
Konfigurowanie parametrów modelu
Parametry modelu konfigurujesz w zadaniu generationConfig
podczas jego inicjowania. Oto prosty przykład:
Kotlin+KTX
// ...
val config = generationConfig {
maxOutputTokens = 200
stopSequences = listOf("red")
temperature = 0.9f
topK = 16
topP = 0.1f
}
val generativeModel = Firebase.vertexAI.generativeModel(
modelName = "MODEL_NAME",
generationConfig = config
)
// ...
Java
// ...
GenerationConfig.Builder configBuilder = new GenerationConfig.Builder();
configBuilder.maxOutputTokens = 200;
configBuilder.stopSequences = List.of("red");
configBuilder.temperature = 0.9f;
configBuilder.topK = 16;
configBuilder.topP = 0.1f;
GenerationConfig generationConfig = configBuilder.build();
GenerativeModel gm = FirebaseVertexAI.getInstance().generativeModel(
"MODEL_NAME",
generationConfig
);
GenerativeModelFutures model = GenerativeModelFutures.from(gm);
// ...
Inne opcje kontrolowania generowania treści
- Dowiedz się więcej o projektowaniu promptów, aby móc wpływać na model w celu generowania wyników odpowiadających Twoim potrzebom.
- Użyj ustawień bezpieczeństwa, aby dostosować prawdopodobieństwo otrzymania odpowiedzi, które mogą być uznane za szkodliwe, w tym wypowiedzi szerzące nienawiść i treści o charakterze jednoznacznie seksualnym.
- Ustaw instrukcje systemowe, aby kierować działaniem modelu. Ta funkcja jest jak „wstęp”, który dodaje się, zanim model otrzyma jakiekolwiek dalsze instrukcje od użytkownika.
- Przekaż schemat odpowiedzi wraz z promptem, aby określić konkretny schemat wyjściowy. Ta funkcja jest najczęściej używana podczas generowania danych wyjściowych JSON, ale można jej też używać do zadań klasyfikacji (na przykład gdy chcesz, aby model używał określonych etykiet lub tagów).