Skip to main content

Parametry próbkowania (Temperatura, Top-p, Min-p)

DLA AGENTÓW AIChatGPTClaude

Matematyczne hiperparametry dekodowania stochastycznego (Temperatura, Top-P, Min-P, kary), które sterują rozkładem prawdopodobieństwa wyboru następnego tokenu, określając poziom determinizmu, precyzji i kreatywności modelu.

1. Przegląd koncepcji i problem systemowy

Model językowy nie generuje gotowego tekstu wprost. Na każdym kroku autoregresyjnym warstwa wyjściowa transformera zwraca tablicę surowych, nienormalizowanych liczb — logitów (Logits) dla każdego słowa ze słownika składającego się z ponad 100 000 elementów. Przekształcenie tych surowych wartości na konkretny wybrany token regulowane jest przez algorytm dekodowania.

Jeśli zawsze wybieramy token o absolutnie najwyższym prawdopodobieństwie (algorytm zachłanny, Greedy Search), model staje się przewidywalny, suchy i często wpada w nieskończone pętle powtarzania tych samych fraz. Z kolei losowanie słów całkowicie przypadkowo zamienia generację w bezsensowne bełkotanie i błędy składniowe.

Parametry Samplingu (Sampling Parameters) to zestaw matematycznych regulatorów modyfikujących kształt rozkładu prawdopodobieństwa przed wyborem symbolu. Zrozumienie ich wewnętrznej mechaniki pozwala inżynierowi precyzyjnie balansować między surowym determinizmem kompilatora a kreatywną heurystyką poszukiwania rozwiązań.

2. Taksonomia architektoniczna i model mentalny

Potok przetwarzania logitów składa się z sekwencyjnych filtrów matematycznych:

┌─────────────────────────────────────────────────────────────┐
│                 PIPELINE DEKODOWANIA TOKENÓW                │
├─────────────────────────────────────────────────────────────┤
│ 1. Surowe logity z_i z liniowej głowicy Transformatory      │
├─────────────────────────────────────────────────────────────┤
│ 2. Modyfikacja kar:                                         │
│    • Kara za częstotliwość (zmniejszenie wagi za liczbę powtórzeń)│
│    • Kara za obecność (jednorazowa kara za już wspomniane słowa)│
├─────────────────────────────────────────────────────────────┤
│ 3. Skalowanie temperaturą: z'_i = z_i / T                   │
│    T ➔ 0: szczyty się zaostrzają (determinizm Argmax)       │
│    T > 1: rozkład wygładza się (wysoka entropia)            │
├─────────────────────────────────────────────────────────────┤
│ 4. Normalizacja Softmax: P(w_i) = exp(z'_i) / Sum(exp(z'_j))│
├─────────────────────────────────────────────────────────────┤
│ 5. Filtry przycinania (Top-K ➔ Top-P ➔ Min-P)               │
│    Odcinanie długiego „ogona” mało prawdopodobnych, śmieciowych tokenów│
├─────────────────────────────────────────────────────────────┤
│ 6. Losowe losowanie wielomianowe (finalny wybór tokenu)     │
└─────────────────────────────────────────────────────────────┘
  1. Temperatura (Temperature, $T$):
    • Mnożnik skalujący wektor logitów przed funkcją Softmax. Gdy $T \to 0$, różnica między najbardziej prawdopodobnym tokenem a pozostałymi dąży do nieskończoności (determinizm). Przy wysokiej temperaturze ($T = 1.0–1.5$) mało prawdopodobne tokeny zyskują realną szansę na wybór.
  2. Top-P (Nucleus Sampling):
    • Dynamiczny próg skumulowanego prawdopodobieństwa. Algorytm sortuje tokeny malejąco i zachowuje jedynie minimalny zbiór, którego suma prawdopodobieństw osiąga wartość $P$ (np. 0.9 = 90% masy rozkładu).
  3. Min-P (Dynamic Thresholding):
    • Nowoczesny, zaawansowany filtr. Odrzuca wszystkie tokeny, których indywidualne prawdopodobieństwo jest mniejsze niż $P_{\min} = \text{Min-P} \times P_{\max}$, gdzie $P_{\max}$ to prawdopodobieństwo lidera. Jeśli lider ma 80%, a Min-P wynosi 0.05, odrzucane są wszystkie opcje z szansą poniżej 4%.
  4. Kary za powtórzenia (Presence & Frequency Penalties):
    • Obniżają wartości logitów tokenów, które już wystąpiły w wygenerowanym tekście, zapobiegając zapętleniu.

3. Potok techniczny i mechanika wewnętrzna

Cykl życia pojedynczego kroku probabilistycznego wyboru tokenu:

  1. Pozyskanie logitów: Ostatnia warstwa sieci zwraca surowy wektor logitów $z = [12.4, 8.1, 15.6, -3.2, \dots]$.
  2. Zastosowanie kar za powtórzenia: Jeśli słowo pojawiło się już trzykrotnie, jego logit zostaje zmniejszony o wartość $3 \times \text{frequency_penalty}$.
  3. Dzielenie przez temperaturę: Każda wartość wektora jest dzielona przez temperaturę: $z'_i = z_i / T$.
  4. Obliczenie prawdopodobieństw przez Softmax: Logity są konwertowane na znormalizowane prawdopodobieństwa z zakresu od 0 do 1, których suma wynosi ściśle 1.0.
  5. Filtracja przez Min-P: Znajdowana jest najwyższa ocena $P_{\max} = 0.70$. Przy $\text{Min-P} = 0.1$ próg wynosi $0.07$. Wszystkie tokeny o prawdopodobieństwie niższym niż 7% są usuwane z puli.
  6. Losowanie stochastyczne (Multinomial Sampling): Generator liczb pseudolosowych (PRNG) dokonuje wyboru z zachowanej puli prawdopodobieństw. Wybrany token jest przekazywany na wyjście.

4. Praktyczne scenariusze inżynierskie w środowisku produkcyjnym

01. Bezpieczna generacja zapytań SQL i schematów walidacji

Serwis backendowy generuje kod migracji na podstawie promptu użytkownika:

  • Konfiguracja: temperature: 0.0 (Greedy Search).
  • Model gwarantuje wybór najbardziej standardowych konstrukcji składniowych, eliminując przypadkowe błędy przecinkowe czy nieistniejące słowa kluczowe.

02. Wykorzystanie Min-p do wysokojakościowego refaktoryzingu

Agent refaktoryzuje złożony moduł algorytmiczny:

  • Konfiguracja: temperature: 0.7, min_p: 0.05.
  • Model zyskuje twórczą swobodę w wyborze wzorca architektonicznego, ale mechanizm Min-P skutecznie chroni przed wyborem losowych, halucynowanych funkcji.

03. Eksploracyjny brainstorm architektury (High Entropy Search)

Generowanie nietrywialnych pomysłów biznesowych i scenariuszy testowych:

  • Konfiguracja: temperature: 0.9, top_p: 0.95.
  • Model proponuje nieoczekiwane przypadki brzegowe, niestandardowe scenariusze obciążeniowe oraz alternatywne hipotezy awarii systemów.

5. Pułapki, typowe błędy i bezpieczeństwo

  • Kary za powtórzenia psują składnię kodu: Wysoki frequency_penalty (np. > 0.5) w zadaniach programistycznych prowadzi do katastrofy: model stara się unikać naturalnych powtórzeń słów kluczowych (return, const, zamykających nawiasów klamrowych }}), co łamie kompilację. Dla kodu kary powinny wynosić 0.
  • Stała temperatura w nowych modelach rozumowania: W modelach klasy OpenAI o1 lub DeepSeek-R1 wewnętrzny łańcuch myślenia był trenowany przy ściśle ustalonej temperaturze (zazwyczaj $T=1.0$ lub $0.6$). Próba wymuszenia $T=0$ przez API jest często zabroniona lub niszczy proces autokorekty modelu.
  • Konflikt nadmiernie agresywnych filtrów: Jednoczesne ustawienie top_p: 0.1 i wysokiego min_p może zredukować próbkę do jednego lub zerowego tokenu, powodując awarię silnika inferencji.
  • Iluzja reprodukowalności przez Seed: Parametr seed ustala początkowy stan generatora liczb losowych, ale nie gwarantuje identycznego tekstu przy zmianie wersji sterownika CUDA lub liczby równoległych wątków w batchu.
/ Najczęściej zadawane pytaniaSchema.org FAQPage

FAQ: Parametry próbkowania (Temperatura, Top-p, Min-p)

Dla ścisłego kodu i schematów strukturalnych zaleca się ustawienie `Temperature = 0.0` (dekodowanie zachłanne, Greedy Search) lub `Temperature = 0.2` w połączeniu z `Min-P = 0.05`. Minimalizuje to odchylenia składniowe i eliminuje przypadkowe błędy typów.
/ Linki wewnętrzne
Wszystkie hasła