Blog

WordPiece und SentencePiece

WordPiece und SentencePiece sind zwei Verfahren aus der Google-Forschung, die Text vor der Verarbeitung durch ein Sprachmodell in Subwort-Einheiten zerlegen. WordPiece wählt beim Aufbau des Vokabulars nicht das häufigste, sondern das für die Wahrscheinlichkeit des Textes ertragreichste Zeichenpaar; SentencePiece ist kein eigenes Zerlegungskriterium, sondern ein Werkzeug, das Text als rohe Zeichenfolge ohne sprachabhängige Vorzerlegung verarbeitet und dabei wahlweise Byte Pair Encoding oder ein Unigram-Sprachmodell anwendet.

Zusammenfassung

Beide Verfahren beantworten dieselbe Grundfrage wie Byte Pair Encoding: Wie zerlegt man Text in eine überschaubare Zahl wiederverwendbarer Bausteine, ohne bei jedem unbekannten Wort zu scheitern? Sie unterscheiden sich aber in dem, was sie eigentlich lösen.

WordPiece, bei Google für die Spracherkennung entwickelt und 2018 durch BERT bekannt geworden, verändert nur ein Kriterium gegenüber Byte Pair Encoding: Beim Aufbau des Vokabulars wird nicht das häufigste benachbarte Paar verschmolzen, sondern jenes, dessen Verschmelzung die Wahrscheinlichkeit des Trainingskorpus am stärksten erhöht. Das bevorzugt seltene, aber charakteristische Verbindungen gegenüber bloß häufigen.

SentencePiece löst ein anderes Problem. Es ist ein Softwarepaket, kein Auswahlkriterium, das Kudo und Richardson 2018 veröffentlichten. Es behandelt den Eingabetext als reine Folge von Unicode-Zeichen einschließlich der Leerzeichen und verzichtet auf die sonst übliche Vorzerlegung an Wortgrenzen. Innerhalb dieses Rahmens lässt sich sowohl BPE als auch ein Unigram-Sprachmodell betreiben – WordPiece selbst gehört nicht zu den in SentencePiece implementierten Verfahren, ist ihm aber im Auswahlkriterium eng verwandt.

Wer die beiden verwechselt, verwechselt eine Regel mit ihrer Verpackung. Das erklärt auch, warum sie in der Praxis oft gemeinsam auftauchen, ohne dasselbe zu sein.

Abgrenzung

Byte Pair Encoding – verschmilzt beim Vokabularaufbau das häufigste Paar. WordPiece verschmilzt stattdessen das Paar mit dem größten Wahrscheinlichkeitsgewinn. Der Rechenweg ist ähnlich, das Auswahlkriterium nicht.

Subwort-Modelle – der Überblicksartikel stellt BPE, WordPiece und das Unigram-Verfahren als gemeinsame Familie nebeneinander. Dieser Artikel geht bei WordPiece und SentencePiece stärker in die Tiefe: das genaue Auswahlkriterium von WordPiece, der Werkzeugcharakter von SentencePiece und die konkreten Modelle, die beide einsetzen.

Unigram-Sprachmodell – geht vom Vokabular her den umgekehrten Weg wie WordPiece: Es beginnt groß und streicht schrittweise, statt klein zu beginnen und zu verschmelzen. SentencePiece implementiert dieses Verfahren neben BPE, nicht WordPiece.

Begriffsgeschichte

WordPiece entstand nicht für Sprachmodelle im heutigen Sinn, sondern für die Spracherkennung bei Google. Schuster und Nakajima beschrieben 2012 ein Verfahren zur Zerlegung japanischer und koreanischer Texte, dessen Auswahlkriterium – Verschmelzung nach Wahrscheinlichkeitsgewinn statt nach Häufigkeit – später in die Textverarbeitung übernommen wurde. Bekannt wurde es breit erst 2018, als Devlin, Chang, Lee und Toutanova es für BERT verwendeten.

SentencePiece verfolgte ein anderes Ziel. Bis dahin setzten Tokenisierungsverfahren fast durchweg voraus, dass ein vorgeschalteter Schritt den Text bereits an Wortgrenzen aufteilt – meist an Leerzeichen. Für Sprachen wie Japanisch oder Thailändisch, die keine Leerzeichen zwischen Wörtern setzen, war diese Annahme keine Vereinfachung, sondern ein eigenes ungelöstes Problem. Kudo und Richardson veröffentlichten SentencePiece 2018 als Open-Source-Werkzeug, das genau diese Annahme fallen lässt: Der Text wird als reine Zeichenfolge behandelt, das Leerzeichen selbst wird zu einem gewöhnlichen Zeichen im Vokabular.

Beide Linien trafen sich in der Praxis der folgenden Jahre. Modelle, die international und über viele Schriftsysteme hinweg funktionieren sollten, brauchten eine Tokenisierung, die keine sprachspezifische Vorverarbeitung voraussetzt – SentencePiece lieferte den Rahmen, WordPiece oder BPE das Auswahlkriterium innerhalb dieses Rahmens.

Methodische Grundlagen

Das WordPiece-Kriterium. Wie bei BPE beginnt das Training bei Einzelzeichen und verschmilzt schrittweise Paare, bis eine festgelegte Vokabulargröße erreicht ist. Der Unterschied liegt allein in der Auswahlregel: Statt des häufigsten Paars wird jenes gewählt, das die Wahrscheinlichkeit des gesamten Trainingskorpus unter einem einfachen Sprachmodell am stärksten erhöht. Praktisch läuft das auf ein Verhältnis hinaus, das die gemeinsame Häufigkeit eines Paars gegen die Häufigkeiten seiner beiden Teile abwägt – hoch, wenn die Teile selten einzeln, aber häufig zusammen auftreten.

Anwendung bei neuem Text. Bei WordPiece wird ein Wort typischerweise von links nach rechts in die längsten bekannten Bausteine zerlegt; ein Bindestrich-Präfix (häufig ##) markiert Bausteine, die nicht am Wortanfang stehen. Das unterscheidet die Ausgabe optisch von BPE, dessen Einheiten diese Markierung nicht tragen.

SentencePiece als Rahmen. SentencePiece trainiert unmittelbar auf rohen Unicode-Sätzen, ohne eine vorgeschaltete Zerlegung an Wortgrenzen vorauszusetzen. Leerzeichen werden dabei durch ein eigenes Symbol ersetzt, wodurch der ursprüngliche Text aus der Zerlegung verlustfrei rekonstruierbar bleibt – eine Eigenschaft, die viele wortbasierte Vorverarbeitungen nicht bieten.

Zwei Modi in einem Werkzeug. Innerhalb dieses Rahmens bietet SentencePiece zwei Trainingsalgorithmen an: eine BPE-Variante und ein Unigram-Sprachmodell. Beim Unigram-Modus existieren für dieselbe Zeichenfolge mehrere zulässige Zerlegungen mit unterschiedlicher Wahrscheinlichkeit; das erlaubt eine Form der Regularisierung, bei der während des Trainings zufällig zwischen plausiblen Zerlegungen gewechselt wird.

Sprachunabhängigkeit als Konsequenz, nicht als Zusatz. Weil keine Vorzerlegung an Leerzeichen vorausgesetzt wird, funktioniert derselbe Trainingslauf für Sprachen mit und ohne Wortzwischenräume gleichermaßen – ein Vorteil, der sich erst bei mehrsprachigen oder nicht lateinisch geschriebenen Korpora bemerkbar macht.

Anwendungsfelder

BERT und seine Nachfolger. BERT verwendet WordPiece mit einem Vokabular von rund 30.000 Einheiten. Spätere Modelle aus derselben Linie, darunter ALBERT, übernahmen dasselbe Verfahren.

T5 und mehrsprachige Modelle. Googles T5-Reihe setzt SentencePiece im Unigram-Modus ein, ebenso XLNet und zahlreiche mehrsprachige Modelle, bei denen eine einheitliche, schriftsystemunabhängige Tokenisierung ohne sprachspezifische Vorverarbeitung besonders vorteilhaft ist.

Spracherkennung. WordPieces ursprüngliches Einsatzfeld bei Google blieb auch nach der Übertragung in die Textverarbeitung bestehen; das Auswahlkriterium eignet sich für Systeme, die auf phonetisch begründete Einheiten angewiesen sind.

Werkzeuglandschaft. SentencePiece wird in der Praxis oft unabhängig davon eingesetzt, welches Modell später darauf aufbaut, weil es als eigenständige, gut dokumentierte Bibliothek vorliegt, die sich in bestehende Trainingspipelines einbinden lässt, ohne dass ein eigenes Vorverarbeitungsskript geschrieben werden muss.

Kontroversen und Kritik

Uneindeutige Namensverwendung. In der Praxis werden „SentencePiece” und „WordPiece” gelegentlich so verwendet, als bezeichneten sie konkurrierende Verfahren mit demselben Geltungsbereich. Tatsächlich liegen sie auf verschiedenen Ebenen: WordPiece ist ein Auswahlkriterium, SentencePiece ein Werkzeug, das dieses Kriterium nicht selbst implementiert, sondern BPE und Unigram anbietet. Diese Unschärfe erschwert Vergleiche zwischen Modellen, deren Dokumentation die Begriffe nicht sauber trennt.

Rechenaufwand beim Training. Das WordPiece-Kriterium ist beim Aufbau des Vokabulars aufwendiger zu berechnen als die reine Häufigkeitszählung von BPE, weil bei jedem Schritt der Wahrscheinlichkeitsgewinn über alle möglichen Paare neu bewertet werden muss. Für die Anwendung auf neuen Text – nach abgeschlossenem Training – entfällt dieser Unterschied weitgehend.

Geteilte Schwächen der Familie. Die Einwände, die für Subwort-Verfahren allgemein gelten – Ungleichbehandlung der Sprachen je nach Korpuszusammensetzung, Zerlegung von Ziffernfolgen nach Häufigkeit statt Stellenwert, Unveränderlichkeit des einmal trainierten Vokabulars – treffen WordPiece und SentencePiece in demselben Maß wie BPE. Der Wechsel des Auswahlkriteriums oder der Verpackung behebt diese strukturellen Grenzen nicht.

Fehlende Standardisierung der Präfix-Markierung. Verschiedene Implementierungen von WordPiece verwenden unterschiedliche Symbole, um Wortfortsetzungen zu kennzeichnen. Das erschwert den unmittelbaren Vergleich von Vokabularen zwischen Bibliotheken, obwohl das zugrunde liegende Verfahren identisch ist.

Verwandte Begriffe

Quellenangaben

  1. Devlin, Jacob / Chang, Ming-Wei / Lee, Kenton / Toutanova, Kristina, 2019. BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding. In: Proceedings of the 2019 Conference of the North American Chapter of the Association for Computational Linguistics (NAACL 2019), S. 4171–4186. DOI: 10.18653/v1/N19-1423.
  2. Kudo, Taku, 2018. Subword Regularization: Improving Neural Network Translation Models with Multiple Subword Candidates. In: Proceedings of the 56th Annual Meeting of the Association for Computational Linguistics (ACL 2018), S. 66–75. DOI: 10.18653/v1/P18-1007.
  3. Kudo, Taku / Richardson, John, 2018. SentencePiece: A Simple and Language Independent Subword Tokenizer and Detokenizer for Neural Text Processing. In: Proceedings of the 2018 Conference on Empirical Methods in Natural Language Processing: System Demonstrations (EMNLP 2018), S. 66–71. DOI: 10.18653/v1/D18-2012.
  4. Schuster, Mike / Nakajima, Kaisuke, 2012. Japanese and Korean Voice Search. In: 2012 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP), S. 5149–5152. DOI: 10.1109/ICASSP.2012.6289079.

← Zurück zur Lexikon-Übersicht