Kurs Kursraum

Tokenisierung und Batching: zwei Wartungstexte gemeinsam verarbeiten

Zusammenfassung

Eine Meldung ergibt drei Tokens, eine zweite fünf. Damit beide Eingaben in einen rechteckigen Tensor passen, braucht die kürzere Zeile zusätzliche Positionen. Die entscheidende Frage ist, ob das Modell diese Positionen als Inhalt behandelt.

Lektion 2 / 2 · 2 Min. · Einstieg · DeutschVideosprache · English

IDs und Maske nebeneinander schreiben

Die Zahlen im Beispiel sind frei gewählte Token-IDs. Ergänzen Sie die erste Zeile mit zwei Füllwerten und markieren Sie an denselben Stellen die Attention Mask mit null. Bei der zweiten Zeile bleiben alle fünf Positionen aktiv. Zählen Sie die Einsen und vergleichen Sie sie mit der ursprünglichen Länge.

Den Weg durch die Pipeline nachzeichnen

Ein Tokenizer zerlegt Text nach seinem Vokabular. Das Modell verarbeitet die daraus entstehenden IDs zusammen mit weiteren Eingaben. Die Nachverarbeitung übersetzt die Modellwerte in die Ausgabe der jeweiligen Aufgabe. Ein passendes Zahlenformat allein garantiert noch keine gültige Eingabe: Tokenizer, Modell und Konfiguration müssen zueinander passen.

Den Weg durch die Pipeline nachzeichnen

Eigene Darstellung zum Rechen- oder Prüfbeispiel.

Token-IDs

Attention Mask

Anzahl sichtbarer Tokens

[11, 12, 13]

[1, 1, 1, 0, 0]

3

[21, 22, 23, 24, 25]

[1, 1, 1, 1, 1]

5

Wenn beim Zusammenfassen ein Wort verschwindet

Unterscheiden Sie Padding und Trunkierung. Padding ergänzt Positionen. Trunkierung entfernt Tokens, wenn die erlaubte Länge überschritten wird. Ein Wort, das schon abgeschnitten wurde, kann durch eine korrekte Maske nicht zurückgebracht werden. Vergleichen Sie bei einer Abweichung zuerst die IDs, dann die Maske und zuletzt die Modellwerte.

Das Beispiel mit Python prüfen

rows = [[11, 12, 13], [21, 22, 23, 24, 25]]
width = max(map(len, rows))
for row in rows:
    pad = width - len(row)
    ids = row + [0] * pad
    mask = [1] * len(row) + [0] * pad
    print(ids, mask, sum(mask))

Erwartete Ausgabe

[11, 12, 13, 0, 0] [1, 1, 1, 0, 0] 3
[21, 22, 23, 24, 25] [1, 1, 1, 1, 1] 5
Python-Code und tatsächliche Ausgabe. Beide aufgefüllten Zeilen haben fünf Positionen. Die Maskensummen betragen drei und fünf.

Lokaler Python-Versuch von GuideWit. Beide aufgefüllten Zeilen haben fünf Positionen. Die Maskensummen betragen drei und fünf.

Verständnisfrage

Beide Läufe liefern dieselbe Klasse. Waren die Eingaben identisch?

Nicht zwingend. Verschiedene Modellwerte können dieselbe Gewinnerklasse ergeben. Vergleichen Sie die Zwischenwerte, bevor Sie Gleichheit behaupten.

Originalmaterial und Quellen