Leitfaden KI-Inferenz
Warum Inferenz nichtdeterministisch ist
Der Mythos der „gleichen“ Frage
LLM-Ausgaben können sich unterscheiden, selbst wenn zwei Anfragen identisch aussehen. Sampling führt bewusst Variation ein; Änderungen am Serving, verborgener Kontext, Tool-Ergebnisse und manche parallelen Kernel können weitere hinzufügen. Bytegleiche Reproduzierbarkeit erfordert Kontrolle über die gesamte Eingabe, die Decoding-Konfiguration, die Modell- und Runtime-Version sowie die Ausführungsumgebung.
Kernaussage: Die Abweichungen stammen aus vier Hauptbereichen: Generierung und Sampling, Kontext und Eingabe, System und Architektur sowie Hardware und Implementierung. Diese Faktoren zu verstehen ist entscheidend für verlässliche KI-Systeme.
Kategorie 1: Bewusste Parameter für Generierung und Sampling
Der „Würfelwurf“: Sampling kann die Vielfalt der Ausgaben erhöhen
1. Temperature
Skaliert die Token-Logits vor dem Sampling neu und verändert damit, wie konzentriert die Wahrscheinlichkeitsverteilung ist.
2. Der Seed
Computer nutzen einen „Seed“ (Startwert), um pseudozufällige Folgen zu erzeugen.
3. Top-P (Nucleus Sampling)
Das Modell zieht aus der kleinsten Token-Menge, deren kumulierte Wahrscheinlichkeit den Schwellwert erreicht (zum Beispiel 0,9). Die Kandidatenmenge wird in jedem Generierungsschritt neu berechnet.
4. Top-K
Das Modell zieht aus den K wahrscheinlichsten Tokens (zum Beispiel den obersten 50).
5. Alternative Sampling-Strategien
Sampler wie Mirostat oder Typical Sampling wählen Kandidaten-Tokens nach anderen Regeln aus.
Kategorie 2: Anfrageeinstellungen, die die Ausgabe formen
Diese Einstellungen zu ändern ändert den Ausgabevertrag; das ist kein Beleg für Nichtdeterminismus
6. Repetition-, Frequency- und Presence-Penalties
Diese Einstellungen senken die Werte bereits aufgetretener Tokens und können Wiederholungen unterdrücken. Eine geänderte Penalty verändert die Kandidatenverteilung auch bei festem Seed.
7. Abbruchbedingungen (Max Tokens)
Harte Obergrenze für die Antwortlänge. Ein Lauf mit max_tokens=50 unterscheidet sich von max_tokens=500.
8. Abbruchbedingungen (Stoppsequenzen)
Das Modell hält an, wenn es eine konfigurierte Zeichenfolge erzeugt (zum Beispiel "\nHuman:"). Bei stochastischem Sampling können verschiedene Pfade an unterschiedlichen Stellen auf eine Stoppsequenz treffen.
Kategorie 3: Kontext- und Eingabevariablen
Das „Gedächtnis“: Die Modelleingabe enthält oft mehr als die letzte Nutzernachricht
9. Gesprächsverlauf (das Kontextfenster)
Häufigster Grund für wahrgenommenen Nichtdeterminismus. Das Modell sieht das gesamte vorangegangene Gespräch, nicht nur die letzte Frage.
Ein einziges geändertes Token erzeugt eine andere Eingabe und kann die Ausgabe verändern
10. Grenze des Kontextfensters (der „Vergessenspunkt“)
Modelle haben endliche Kontextfenster, deren Größe je Modell variiert. Lange Gespräche können von der umgebenden Anwendung gekürzt, zusammengefasst oder abgelehnt werden; Inhalte außerhalb des übergebenen Kontexts stehen dem Modell nicht zur Verfügung.
11. System-Prompt
Eine höher priorisierte Anweisung der Anwendung oder API. Sie kann für Entwickelnde sichtbar, für Endnutzende aber verborgen sein, und Änderungen daran können Stil und Verhalten der Antworten verändern.
12. Retrieval und externe Tools
Eine wesentliche Quelle für Eingabeunterschiede von Anfrage zu Anfrage. In einem suchgestützten Ablauf kann die Anwendung:
- Die Generierung anhalten
- Ein externes Tool aufrufen (z. B. die Google Search API)
- Neue, dynamische Daten erhalten (Suchergebnisse)
- Diese Daten in den Kontext einfügen
Tool-Ergebnisse können sich zwischen Anfragen ändern, was die Modelleingabe verändert und die Antwort verändern kann
Kategorie 4: System- und Architekturvariablen
Das „Orchester“: Das „Modell“ ist oft ein komplexes System aus mehreren Modellen
13. Modellaktualisierungen und Versionen
Das Modell, das Sie heute nutzen, kann eine neue, neu trainierte oder aktualisierte Fassung von gestern sein. Ein Modell v1.2 antwortet anders als ein Modell v1.3.
14. A/B-Tests und Canary-Rollouts
Ein Anbieter oder Ihr eigenes Gateway kann den Traffic während eines Rollouts zwischen Versionen verteilen. Ohne Versionsbindung können zwei Anfragen verschiedene Deployments erreichen und verschiedene Antworten liefern.
15. Spekulatives Decoding
Ein Entwurfsmodell schlägt Tokens vor, die das Zielmodell prüft. Exakte Implementierungen wollen die Zielverteilung erhalten, doch Unterschiede in Runtime, Batching, Näherung oder Konfiguration können die Reproduzierbarkeit dennoch beeinflussen.
16. Mixture-of-Experts-Architektur (MoE)
Ein Router wählt für jedes Token eine Teilmenge der Experten aus. Die Routing-Funktion kann bei fester Eingabe deterministisch sein, während Kapazitätsgrenzen, Batching und Implementierungsdetails Variation auf Deployment-Ebene erzeugen können.
Kategorie 5: Hardware und hardwarenahe Implementierung
Die „Physik“: die tiefste und am schwersten kontrollierbare Quelle der Variation
Achtung: Manche Laufzeitentscheidungen können selbst dann variieren, wenn die Temperatur 0 ist und ein Seed festgelegt wurde.
17. Parallele Kernel und Reihenfolge der Gleitkomma-Reduktion
Feste Operationen in fester Reihenfolge können wiederholbar sein. Variation kann entstehen, wenn parallele Kernel oder Reduktionen in anderer Reihenfolge ausgeführt werden und sich Rundungsunterschiede fortpflanzen:
- Parallelität: GPUs führen Milliarden Berechnungen parallel aus
- Gleitkomma-Arithmetik: Maschinelles Rechnen mit Dezimalzahlen ist nicht perfekt assoziativ
- Folge: Kleine Wertänderungen können die Tokenauswahl verschieben, wenn Kandidaten sehr dicht beieinanderliegen
Beispiel: (a+b)+c ≠ a+(b+c) wegen Rundung → 0,81234567 statt 0,81234568 → ein anderes Wort wird gewählt
18. Quantisierungskonfiguration
Ein quantisiertes Modell nutzt Darstellungen geringerer Präzision als ein anderer Build und kann deshalb andere Werte oder Ausgaben liefern. Ein festes quantisiertes Modell samt Runtime ist nicht von sich aus nichtdeterministisch; halten Sie die genaue Quantisierung und Runtime als Teil der Modellversion fest.
19. Batching
Ihre Anfrage wird in einem „Batch“ zusammen mit Anfragen anderer Nutzender verarbeitet. Wie diese gruppiert und aufgefüllt werden, kann die genaue Reihenfolge der GPU-Berechnungen ändern und Gleitkommaeffekte auslösen.
20. Dropout zur Inferenzzeit
Dropout ist bei Inferenz normalerweise abgeschaltet. Forschungsverfahren wie Monte-Carlo-Dropout lassen es bewusst aktiv; eine so konfigurierte Produktions-Runtime ist stochastisch, solange ihr Zufallszustand nicht kontrolliert wird.
Die wichtigsten Punkte für Entwickelnde
Annähernd deterministisch werden
- Temperatur auf 0 setzen (gieriges Decoding)
- Einen festen Seed-Wert verwenden
- Den gesamten Eingabekontext exakt kontrollieren
- Dieselbe Modellversion verwenden
- Akzeptieren, dass Variationen auf Hardwareebene weiterhin auftreten können
Nichtdeterminismus annehmen
- Systeme bauen, die Variation sauber verkraften
- Evaluierungsmetriken nutzen, die semantische Äquivalenz berücksichtigen
- Begrenzte Wiederholungen nur bei sicheren oder idempotenten Operationen einsetzen
- Auf gleichbleibende Qualität achten, nicht auf identische Ausgaben