Skip to main content

Next-Token Prediction

FÜR AI-AGENTENChatGPTClaude

Der fundamentale Mechanismus autoregressiver großer Sprachmodelle (LLMs). Berechnung von Logits, Softmax-Funktion, Einfluss von Temperatur und Sampling (Top-P/Top-K). Erläuterung, warum die Textgenerierung ein sequentieller O(N)-Prozess ist und wie Wahrscheinlichkeiten über die API betrachtet werden können.

1. Konzeptüberblick und mathematische Essenz

Wenn man beobachtet, wie eine KI eine Microservices-Architektur entwirft oder ein Gedicht verfasst, liegt der Schluss nahe, dass im Inneren des Computers ein Bewusstsein mit einem eigenen inneren Monolog entstanden ist.

Auf der Rechenebene führt jedoch jede autoregressive LLM (GPT-4o, Claude 3.7, Llama 3.3, DeepSeek R1) unter der Haube einen einzigen iterativen Zyklus aus:

$$P(W) = \prod_{t=1}^{T} P(w_t \mid w_1, w_2, \dots, w_{t-1})$$

  1. Die Eingangssequenz der Tokens $w_1, \dots, w_{t-1}$ lesen.
  2. Die Vektoren durch die Transformer-Schichten leiten (Self-Attention + MLP).
  3. Einen numerischen Score (Logit) für jedes der 128.000 Tokens im Vokabular berechnen.
  4. Softmax und Sampling-Algorithmen (Temperature, Top-P) anwenden, um ein einzelnes Token $w_t$ auszuwählen.
  5. $w_t$ zum Kontext hinzufügen und den Schritt wiederholen.

Mentales Modell: Es handelt sich nicht um ein Orakel, das das Endergebnis vorab kennt, sondern um einen statistischen Trajektorie-Generator, der einen Schritt macht und erst danach sieht, wohin er als Nächstes treten kann.

┌─────────────────────────────────────────────────────────────┐
│              МАТЕМАТИЧНИЙ КОНВЕЄР ОДНОГО КРОКУ              │
├─────────────────────────────────────────────────────────────┤
│ 1. Вхідний контекст: «Київ — столиця»                       │
│    Векторизація токенів ➔ Прохід крізь шари трансформера    │
├─────────────────────────────────────────────────────────────┤
│ 2. Вихідний шар (Unembedding): 128 000 логітів              │
│    • Токен " України"   ➔ Logit: +14.2                      │
│    • Токен " стародавня" ➔ Logit: +8.1                      │
│    • Токен " Франції"   ➔ Logit: -4.5                       │
├─────────────────────────────────────────────────────────────┤
│ 3. Нормалізація Softmax(Logits / Temperature):              │
│    • " України"   ➔ 94.2%                                   │
│    • " стародавня" ➔ 5.1%                                   │
│    • " Франції"   ➔ 0.0001%                                 │
├─────────────────────────────────────────────────────────────┤
│ 4. Семплінг: вибір токена " України"                        │
│    Новий контекст: «Київ — столиця України» ➔ Наступний крок│
└─────────────────────────────────────────────────────────────┘

2. Implementierung des Samplings in Python und Inspektion via CLI

So sieht die Berechnung der Wahrscheinlichkeiten für das nächste Token in Python unter Berücksichtigung der Temperatur aus:

import numpy as np

def compute_next_token_probs(logits: np.ndarray, temperature: float = 0.7) -> np.ndarray:
    # 1. Масштабування температурою
    scaled = logits / max(temperature, 1e-4)
    # 2. Стабільний Softmax (віднімання максимуму для запобігання overflow)
    exp_logits = np.exp(scaled - np.max(scaled))
    probs = exp_logits / np.sum(exp_logits)
    return probs

# Приклад виклику: 4 можливі токени
mock_logits = np.array([12.5, 9.1, 4.0, 1.2])
print("Ймовірності токенів:", np.round(compute_next_token_probs(mock_logits, temperature=0.7), 4))

So sehen Sie die rohen Token-Wahrscheinlichkeiten über cURL im Terminal:

Sie können die API bitten, exakte logische Wahrscheinlichkeiten (logprobs) zurückzugeben, um die Alternativen zu sehen, die das Modell in Betracht gezogen hat:

curl https://api.openai.com/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -d '{
    "model": "gpt-4o-mini",
    "messages": [{"role": "user", "content": "Столиця Франції — це"}],
    "max_tokens": 1,
    "logprobs": true,
    "top_logprobs": 3
  }'

In der JSON-Antwort zeigt der Parameter top_logprobs die exakten mathematischen Scores für Varianten wie Paris, Stadt usw. an.


3. Warum Next-Token zu Halluzinationen führt und wie man dies behebt

Da das Modell Text lokal „hier und jetzt“ generiert, neigt es dazu, in statistische Fallen zu tappen:

  1. Early Commitment Error: Wenn das Modell bei den ersten beiden Wörtern zufällig ein ungünstiges Token auswählt, werden alle folgenden Tokens versuchen, diese falsche Wahl zu rechtfertigen, anstatt den Fehler zuzugeben.
  2. Kein Backtracking möglich: Standard-Inference kann bereits generierte Wörter nicht löschen.
  3. Warum Reasoning Models (DeepSeek R1 / o3) besser funktionieren: Sie nutzen Chain-of-Thought (<thought>...</thought>), wobei sie vor der finalen Antwort hunderte von Tokens für interne Analyse und Selbstprüfung generieren.

4. Praktische Schlussfolgerung für Entwickler

Behalten Sie den autoregressiven Pipeline im Blick:

  • Prompts wie "Think before answering" oder "Step-by-step reasoning" funktionieren nicht, weil die KI aufmerksamer wird, sondern weil Sie sie dazu zwingen, Thinking-Tokens zu generieren, die physisch zum Eingabekontext für das finale Token mit der korrekten Antwort werden!
/ Häufig gestellte FragenSchema.org FAQPage

FAQ: Next-Token Prediction

Um den nächsten Token in Code oder wissenschaftlichen Artikeln mit mathematischer Präzision vorherzusagen, darf sich das Modell nicht auf oberflächliche Wortstatistiken verlassen: Während des Pretrainings auf Billionen von Tokens wurde es gezwungen, in seinen Gewichten ein komprimiertes Weltmodell, kausale Zusammenhänge und algorithmische Logik zu bilden.
/ Interne Links
Alle Begriffe