In diesem Artikel erfahren Sie, wie Lilt Unmengen von Daten und mathematischen Gleichungen in natürliche Übersetzungen umwandelt. Modelle für maschinelle Übersetzungen können wie Zauberkunst erscheinen, aber wir lassen Sie hier einen Blick hinter die Kulissen werfen!
Das Trainieren eines Modells für maschinelle Übersetzung (MT) ist wie Kochen mit einem Rezept. Sie müssen die Schritte befolgen, aber die Zutaten müssen frisch sein, damit das Gericht gut schmeckt.
Lilt nutzt sowohl offene als auch kostenpflichtige Datenquellen, um an Paralleltexte zu gelangen, die Schlüsselkomponente für Übersetzungen mit MT-Modellen.
Offene Quellen sind frei verfügbare und geprüfte Quellen für Paralleltextdaten, in der Regel über die Lizenz CC-BY oder CC-BY-SA. Zu den Quellen zählen Opus, Paracrawl und CCMatrix.
Bezahlte Quellen sind solche, die unter der Lizenz CC-NC entwickelt werden, wodurch sie nur für nichtkommerzielle und forschungsorientierte Zwecke verwendbar sind. Wir müssen eine Gebühr zahlen, damit wir sie in unseren Modellen verwenden können. Ein Beispiel hierfür ist WIPO COPPA V2.
Wenn es um die Datengröße geht, so ist mehr immer besser. Mehr Daten führen generell zu qualitativ hochwertigeren MT-Modellen. Bis heute konnten wir 3,8 Milliarden Segmente für insgesamt 76 Sprachpaare zusammenstellen.
Jedes Datenelement, das wir von den o. a. Quellen erhalten, wird sorgfältig verarbeitet. Es genügt zu sagen, dass die Vorbereitung der Daten eine Herkules-Aufgabe ist. Und dabei haben wir mit dem Training noch gar nicht angefangen. Und so funktioniert es!
Wir führen eine grundlegende Syntax-basierte Bereinigung der Daten durch, die die folgenden Schritte umfasst:
Wir versionieren unsere Daten mit DVC, da wir so die ausgangssprachlichen und zielsprachlichen Dateien sowie zusätzliche interne Tracker-Dateien zu einer Einheit kombinieren können. Diese Einheit ist eine .dvc-Datei, die an unseren Github übermittelt wird, sodass alle Datenquellen protokolliert werden können, die wir verwenden.
Um die Einheitlichkeit aller Segmente sicherzustellen, führen wir die folgenden Schritte durch:
Zuerst entfernen wir potenziell problematische Segmente eines Korpus auf Segment- oder Segmentpaar-Ebene. Dies ist als individuelle Filtrierung bekannt
Bei unbekannten oder unterrepräsentierten Daten kann es sein, dass die Modelle für maschinelle Übersetzungen ausfallen und sogenannte „Halluzinationen“ erzeugen, d. h. übersetzter Text, der stark vom ursprünglichen Ausgangstext abweicht. Um diesem Problem entgegenzuwirken, erzeugen wir künstlich Beispiele für parallele Satzstrukturen. Das Training mit den künstlichen Beispielen verbessert die Robustheit und Widerstandsfähigkeit des Modells gegenüber diesen Daten, sodass wir eine Vielzahl von Kundendomänen effektiv übersetzen können. Wir ergänzen vorhandene Segmentpaare wie folgt:
Der Wortschatz für einen großen Korpus kann riesig sein, wobei viele Wörter nur selten vorkommen. Bei der Byte-Paar-Codierung (BPE) der Wörter werden diese in Wortstücke aufgeschlüsselt (d. h. eating wird ggf. aufgeschlüsselt in eat und ing). So können wir das Volumen des Vokabulars korrigieren und auch die Größe unseres MT-Modells und so auch die Ressourcen, die für das Training des Modells erforderlich sind.
Mit BPE können wir zudem Segmente mit Token übersetzen, die nicht im Trainings-Korpus aufgetaucht sind, was bei morphologisch vielseitigen Sprachen wie den romanischen und slawischen Sprachen häufig vorkommt, da wir Token in bekannte Wortstücke aufteilen können.
Seitdem es die Transformer-Architektur gibt, haben auch wir unsere Übersetzungsmodelle darauf aufgebaut.
Bevor wir uns aber den Besonderheiten des Transformer-Modells zuwenden, wollen wir kurz einen Umweg zu einem Konzept machen, das als Einbettungsraum oder kontinuierlicher Repräsentationsraum bekannt ist. Jeder Punkt in diesem hochdimensionalen Raum stellt die Bedeutung eines Satzes dar. Zwei Sätze, die sich ähnlich sind, haben Repräsentationen nahe beieinander. Sie können also selbst erkennen, wie dieses Konzept in die Gestaltung eines Modells für maschinelle Übersetzungen passt. Wir entwickeln einfach zwei Komponenten:
Encoder: Diese Komponente nimmt einen ausgangssprachlichen Satz und wandelt diesen in die Repräsentation des Einbettungsraums um.
Decoder: Diese Komponente nimmt die Repräsentation des Einbettungsraums und wandelt sie in einen Satz (oder mehrere Sätze) der Zielsprache um.
Der Encoder und der Decoder bilden zusammen ein maschinelles Übersetzungsmodell für ein bestimmtes Sprachpaar. Sequence-to-sequence (seq2seq) ist ein Sammelbegriff für die Modelle, bei denen diese Encoder-Decoder-Architektur verwendet wird. Der Transformer gilt unter diesen als besonders leistungsstark.
Und so sieht ein Transformer-Modell aus:
Angesichts der Architektur müssen wir die Größe des Modells wählen. Die Modellgröße richtet sich nach der Anzahl der Parameter und gleicht der Kapazität eines Hotels. Die Informationen, die wir beim Training aus dem Korpus gewonnen haben, verhalten sich analog zu der Anzahl der Personen, die sich tatsächlich im Hotel befinden.
Unser Ziel ist die maximale Auslastung. Daher verwenden wir die Anzahl der Sätze im Parallelkorpus, die aus der Datenvorbereitung stammen, für die Feststellung, welche Modellgröße sich für ein bestimmtes Sprachpaar am besten eignet:
- Kleines Modell, wenn weniger parallele Satzpaare vorhanden sind, z. B. Englisch → Hindi
- Großes Modell, wenn eine Vielzahl an parallelen Satzpaaren vorhanden ist, z. B. Englisch → Deutsch
Und dann trainieren wir das Modell. Die Einzelheiten könnten in einem zukünftigen Blog-Beitrag weiter beschrieben werden. Es reicht, wenn wir hier sagen, dass wir Unmengen an Hochleistungsknoten hochfahren, das Modell mit den während der Datenvorbereiten aufbereiteten Daten trainieren und die Leistung des Modells mit Testsätzen von Organisationen wie WMT, TED und akademischen Gruppen wie LTI vergleichen.
Um die Modelle zu bewerten, verwenden wir automatische Kennzahlen wie den BLEU-Score, der uns bei der Beantwortung von Fragen nach objektiven Bewertungsmöglichkeiten für ein gutes Modell zum Beispiel für Englisch>Französisch hilft.
Wenn alle Tests bestanden wurden, übergeben wir das Modell an unsere Produktionsserver und unsere Übersetzer können es sofort verwenden!