Ressourcen/Modelltraining/Datenaufbereitung

Einstellung

Token-Limits und Kürzen

Jeder Anbieter begrenzt, wie viele Token ein Trainingsbeispiel enthalten darf. Lange Konversationen, die diese Obergrenze überschreiten, werden entweder gekürzt — wobei die ältesten Interaktionen zuerst entfernt werden — oder verworfen.

Kapitel 53 Min. Lesezeit3 Quellen

Was es ist

Ein Modell liest Text als Token, und das Training verarbeitet jedes Beispiel als eine Sequenz von Token. Anbieter legen ein Token-Limit pro Beispiel fest: die längste Sequenz, die ein einzelner Trainingsdatensatz enthalten darf. Dieses ist oft kleiner als das Kontextfenster des Modells bei normaler Nutzung, da das Training nicht nur Speicherplatz zum Lesen der Token benötigt, sondern auch zur Berechnung, wie sich jede Gewichtung ändern soll.

Die meisten Support-Chats passen problemlos. Ausnahmen sind lange Threads zur Fehlerbehebung, Konversationen, in die jemand eine Protokolldatei eingefügt hat, oder Chats, die sich über einen ganzen Nachmittag hinzogen. Für jeden dieser Fälle muss eine Entscheidung getroffen werden.

Wie es funktioniert

das Budget
record tokens = system prompt + every earlier turn + the target reply
fits          = record tokens ≤ per-example limit

rough estimate: tokens ≈ characters ÷ 4   (English text)

Kürzen arbeitet rückwärts von der Zielantwort. Der System-Prompt und das Ziel werden immer beibehalten, dann werden Interaktionen beginnend vom Anfang der Konversation entfernt, bis die Gesamtlänge passt. Interaktionen werden als Ganzes entfernt — eine Benutzernachricht zusammen mit der dazugehörigen Antwort —, sodass der Datensatz niemals mit einer zusammenhanglosen Antwort auf eine nicht mehr vorhandene Frage beginnt.

systemSie sind der Support-Assistent für…250 · beibehalten
user · asstNachrichtenwechsel 1: Einrichtung des Kontos1,500 · gekürzt
user · asstNachrichtenwechsel 2: Import der Daten vom letzten Jahr1,300 · gekürzt
user · asstNachrichtenwechsel 3: Der Import ist in Zeile 212 fehlgeschlagen1,200 · beibehalten
userWie korrigiere ich also Zeile 212?350 · beibehalten
assistantZeile 212 enthält ein Datum im falschen Format. Ändern Sie es in…600 · Zielantwort, beibehalten
Eine Konversation mit 5.200 Token und ein Limit von 3.000 Token. Beim Kürzen werden ganze Nachrichtenwechsel beginnend beim ältesten entfernt, bis der Datensatz passt, sodass der System-Prompt, der aktuelle Kontext und die Zielantwort intakt bleiben.

Warum das älteste Ende? Für die meisten Chats ist der aktuellste Kontext am relevantesten: die Frage, die beantwortet wird, die gerade zitierte Fehlermeldung, der letzte Vorschlag des Assistenten. Forschungen zu langen Eingaben zeigen zudem, dass Modelle Informationen am Anfang und Ende ihres Kontexts besser nutzen als Material, das in der Mitte verborgen ist (Liu et al., 2023). Ein kürzerer, fokussierter Datensatz verliert also weniger, als die Token-Anzahl vermuten lässt.

Verwerfen schließt den Datensatz aus. Verwenden Sie dies, wenn der frühe Teil einer Konversation für die Antwort essenziell ist — zum Beispiel, wenn der Benutzer in der ersten Nachricht seinen Kontotyp oder eine wichtige Einschränkung angibt und die Zielantwort davon abhängt. Eine gekürzte Version eines solchen Chats würde dem Modell beibringen, ohne die tatsächlich benötigten Informationen zu antworten, was ihm unbemerkt das Raten beibringt.

KürzenTypisch Standard#

Entfernt die ältesten Interaktionen, bis der Datensatz passt, wobei der System-Prompt, der neueste Kontext und das Ziel beibehalten werden. Behält jedes Beispiel im Datensatz.

Verwerfen#

Schließt jeden Datensatz aus, der das Limit überschreitet. Wählen Sie dies, wenn Antworten von Details abhängen, die früh in langen Konversationen genannt wurden, oder wenn nur eine Handvoll Datensätze betroffen sind.

Rechenbeispiel: ein Thread mit 5.200 Token und ein Limit von 3.000 Token
  1. Der Datensatz enthält einen System-Prompt mit 250 Token, drei frühere Austausche mit 1.500, 1.300 und 1.200 Token, die Frage des Nutzers (350) und die Zielantwort (600): 5.200 Token.
  2. Austausch 1 entfernen: 3.700 Token. Immer noch zu viel.
  3. Austausch 2 entfernen: 2.400 Token. Es passt, mit 600 Token Puffer.
  4. Der trainierte Datensatz behält den System-Prompt, Austausch 3 (in dem der Importfehler zitiert wurde), die Frage und die Antwort — alles, worauf sich das Ziel tatsächlich bezieht.
  5. Hätte der Nutzer in Austausch 1 gesagt „Ich nutze den Legacy-Tarif“ und die Antwort hing davon ab, wäre Drop die sicherere Wahl gewesen.

Warum Zählungen Schätzungen sind

Jede Modellfamilie hat ihren eigenen Tokenizer, sodass derselbe Satz für ein Modell 20 Token und für ein anderes 24 Token umfassen kann. Die vor dem Training angezeigten Zählungen sind daher Schätzwerte (Englisch hat im Durchschnitt etwa vier Zeichen pro Token); der Anbieter zählt exakt, wenn er die Datei erhält. Code, Zahlen, URLs und nicht-englischer Text benötigen in der Regel mehr Token pro Zeichen als einfaches Englisch. Planen Sie also Spielraum ein, wenn Ihre Daten viele dieser Elemente enthalten.

Häufige Fehler

  • Vergessen, dass der System-Prompt in jedem Datensatz mitgezählt wird: Ein Prompt mit 600 Token lässt 600 Token weniger für die Konversation übrig.
  • Chats kürzen, deren Antwort von Informationen zu Beginn abhängt, und sich dann wundern, warum das Modell Kontodetails erfindet.
  • Davon ausgehen, dass die Schätzung exakt ist, und das Limit mit code- oder zahlenlastigen Daten voll ausschöpfen.
  • Ignorieren, wie viele Datensätze gekürzt wurden: Wenn es die meisten sind, passt der Datensatz möglicherweise besser zu einem Modell mit einem höheren Limit.

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.orgModelle nutzen Informationen am Anfang und Ende langer Eingaben besser als in der Mitte.
  2. 02Prepare data for fine-tuning your modelsAmazon Bedrock User Guide · docs.aws.amazon.comTatsächliche Token-Limits pro Beispiel für verschiedene Modelle im direkten Vergleich.
  3. 03Prepare supervised fine-tuning data for Gemini modelsGoogle Cloud documentation · docs.cloud.google.comDie Datensatzanforderungen eines anderen Anbieters, einschließlich Größenbeschränkungen.

Verwandeln Sie wochenlange Expertenarbeit in Minuten

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

Vertrieb kontaktieren