Ressourcen/Modelltraining/Tokens und Kontext

Konzept

Kontextfenster

Die maximale Anzahl an Token, die ein Modell auf einmal berücksichtigen kann, wie dieser Platz aufgeteilt wird und wie er sich von dem Limit pro Beispiel unterscheidet, das während des Trainings gilt.

Kapitel 23 Min. Lesezeit4 Quellen

Was es ist

Das Kontextfenster ist der Arbeitsspeicher des Modells für eine einzelne Anfrage: die maximale Anzahl an Token, die es auf einmal berücksichtigen kann. Es wird von allem geteilt — dem System-Prompt, jedem früheren Dialogschritt der Konversation, allen im Prompt platzierten Dokumenten, der neuen Nachricht und der Antwort, die das Modell gerade schreibt. Alles, was nicht hineinpasst, wird schlichtweg nicht gesehen.

Die Fenster sind schnell gewachsen, von ein paar Tausend Token in frühen Modellen auf Hunderttausende und rund eine Million in einigen aktuellen Modellen. Die Größe ist durch die Architektur und das Training des Modells festgelegt; Feintuning ändert sie nicht.

EINE ANFRAGEKontextfensterSystemfrühere Rundenneue NachrichtAntwortfreiTRAININGSDATENSATZ · VORHERsysRunde 1Runde 2Runde 3ZielNACH KÜRZUNGsysRunde 2Runde 3ZielLimit pro Beispielältester entfernt
Oben: eine Anfrage. Der System-Prompt, der Verlauf, die neue Nachricht und die Antwort teilen sich ein Fenster. Unten: Ein Trainingsdatensatz, der das Limit pro Beispiel überschreitet, verliert seinen ältesten Dialogschritt, behält aber den System-Prompt, den neuesten Kontext und das Ziel.

Funktionsweise

Ein Transformer liest seine Eingabe parallel und lässt auf jeder Ebene jedes Token durch einen Mechanismus namens Attention auf jedes frühere Token zurückblicken. Dies ermöglicht es, dass eine Antwort von einem Detail abhängt, das weit zurück in der Konversation liegt. Das ist auch der Grund, warum lange Kontexte teuer sind: Bei Standard-Attention wächst der Rechenaufwand mit dem Quadrat der Länge, und der Speicherbedarf, um die Konversation während der Generierung im Blick zu behalten, wächst mit jedem Token.

Die Antwort zählt ebenfalls. Wenn ein Modell ein Fenster von 128.000 Token hat und die Eingabe 126.000 Token lang ist, bleiben nur 2.000 Token für die Antwort übrig. Die meisten APIs begrenzen zudem die Länge der Ausgabe separat.

Größer ist nicht gleichbedeutend mit besser

Ein Modell kann eine lange Eingabe akzeptieren, ohne sie vollständig gut zu nutzen. Studien zu langen Kontexten zeigen, dass Modelle Informationen am Anfang und Ende der Eingabe zuverlässiger nutzen als solche, die in der Mitte verborgen sind, und dass viele Modelle, die mit sehr langen Fenstern beworben werden, weit vor ihrem angegebenen Limit an Genauigkeit verlieren. Sowohl für das Training als auch für die Nutzung gilt: Ein kurzer, relevanter Kontext liefert meist bessere Ergebnisse als ein langer, künstlich aufgeblähter.

Das Trainingslimit pro Beispiel

Das Training fügt ein zweites Limit hinzu: das Token-Limit pro Beispiel, also den längsten einzelnen Datensatz, mit dem ein Anbieter trainiert. Es ist oft kleiner als das Kontextfenster des Modells, da das Training mit einem langen Datensatz weitaus mehr Speicher benötigt als die Beantwortung desselben. Ein Datensatz, der das Limit überschreitet, muss gekürzt oder weggelassen werden.

Einpassen einer langen Support-Konversation
  1. Ein Datensatz besteht aus einem System-Prompt mit 300 Token, 14 vorherigen Dialogschritten mit jeweils etwa 600 Token und einer abschließenden Frage plus Zielantwort mit 400 Token: 300 + 8.400 + 400 = 9.100 Token.
  2. Das Limit des Anbieters pro Beispiel liegt für dieses Modell bei 8.192 Token, der Datensatz ist also um 908 Token zu lang.
  3. Beim Kürzen werden die ältesten Dialogschritte zuerst entfernt. Das Weglassen von zwei davon (etwa 1.200 Token) reduziert den Datensatz auf rund 7.900 Token.
  4. Der System-Prompt, die letzten zwölf Dialogschritte und die Zielantwort bleiben erhalten, sodass das Modell die Antwort weiterhin in dem Kontext lernt, in dem sie entstanden ist.

Häufige Fehler

  • Die Annahme, dass ein Modell mit einem großen Kontextfenster mit ebenso langen Datensätzen trainiert wird.
  • Zu vergessen, dass die Antwort neben der Eingabe ebenfalls in das Fenster passen muss.
  • Den Prompt mit jedem verfügbaren Dokument zu füllen, in der Annahme, dass mehr Kontext immer besser ist.
  • Lange Konversationen komplett zu verwerfen, wenn das Kürzen der ältesten Dialogschritte ein nützliches Ziel erhalten hätte.

Quellen und weiterführende Literatur

Externe Quellen werden in einem neuen Tab geöffnet.

  1. 01Lost in the Middle: How Language Models Use Long ContextsLiu et al., 2023 · arXiv · arxiv.orgZeigt, dass Informationen in der Mitte einer langen Eingabe am wenigsten zuverlässig genutzt werden.
  2. 02RULER: What's the Real Context Size of Your Long-Context Language Models?Hsieh et al., 2024 · arXiv · arxiv.orgMisst, wie weit unterhalb ihrer beworbenen Fenster Modelle zuverlässig bleiben.
  3. 03Attention Is All You NeedVaswani et al., 2017 · arXiv · arxiv.orgDas Transformer-Paper, aus dem die Attention über den gesamten Kontext stammt.
  4. 04Context windowsClaude Platform Docs · platform.claude.comDie Erklärung eines Anbieters, wie sich Eingabe und Ausgabe das Fenster teilen.

Verwandeln Sie wochenlange Expertenarbeit in Minuten

Erfahren Sie, wie Scalata zu Ihrem Team, Ihren Daten und Ihren Kontrollen passt.

Vertrieb kontaktieren