Tokens, Tokenisierung und Nachrichtenformat
BOS
Heißt auch Beginning-of-Sequence Token oder BOS-Token.
Spezialtoken für den Anfang einer Sequenz.
BOS steht für „Beginning of Sequence“ und bezeichnet einen Spezialtoken, der den Beginn einer Tokenfolge markiert. In Tokenizer-Konfigurationen begegnet dir dafür häufig das Feld bos_token. (Hugging Face) Ob und an welcher Stelle ein solcher Marker eingefügt wird, richtet sich nach dem vorgesehenen Modellformat. (Hugging Face)
So kannst du dir das vorstellen
Vor dem ersten Musikstück einer Aufnahme steht ein Startsignal. Dieses Signal gehört nicht zur Melodie, hilft aber dabei, den Beginn eindeutig zu markieren.
Beim BOS-Token geht es ebenfalls um einen definierten Anfang. Anders als in diesem Bild erhält das Sprachmodell allerdings keinen akustischen Hinweis, sondern einen dafür vorgesehenen Eintrag in seiner Tokenfolge. (Hugging Face)
Anfang wovon?
Die Bezeichnung „Sequence“ meint hier die vom jeweiligen Format abgegrenzte Folge. Daraus sollte man keine allgemeine Regel wie „Vor jeden deutschen Satz kommt BOS“ ableiten: Tokenizer unterstützen unterschiedliche Muster für einzelne Texte und Textpaare, manche auch ohne automatisch hinzugefügte Spezialtokens. (Hugging Face)
Auch der Start einer Assistant-Nachricht ist eine eigene Formatfrage. Ein Chat Template kann dafür spezielle Rollen- oder Startmarkierungen verwenden, die sich je nach Modell unterscheiden. (Hugging Face)
Ein kleiner Marker mit praktischen Folgen
Angenommen, du betreibst ein Chatmodell lokal und kombinierst zwei Bibliotheken: Die erste baut das Chatformat zusammen, die zweite tokenisiert den fertigen Text. Hier würde ich gezielt kontrollieren, ob beide denselben Anfangsmarker hinzufügen.
Ein bekannter Fallstrick sind doppelt eingefügte Spezialtokens, wenn ein bereits formatiertes Gespräch noch einmal mit automatischer Spezialtoken-Ergänzung tokenisiert wird. (Hugging Face) Bei der dortigen API ist die direkte Tokenisierung über apply_chat_template ein Weg, diese Doppelung zu vermeiden. (Hugging Face)
Für die normale Nutzung einer fertigen Chatoberfläche musst du solche Marker nicht selbst schreiben. Dieser Artikel soll vor allem helfen, das Kürzel in Modellkonfigurationen und technischen Fehlerbeschreibungen einzuordnen.
Verwandte Begriffe
EOS behandelt das Ende einer Folge. Special Tokens, Chat Template und Encoding erklären, wie die Markierungen in die Modelleingabe gelangen.