Machine Learning: Google und Microsoft optimieren BERT

Zwei unterschiedliche Ansätze widmen sich dem NLP-Modell BERT: eine Optimierung für die ONNX-Runtime und eine schlanke Variante.

Lesezeit: 2 Min.
In Pocket speichern
vorlesen Druckansicht Kommentare lesen 1 Beitrag
Von

Das Modell für die Verarbeitung natürlicher Sprache (Natural Language Processing, NLP) BERT von Google hat sich in zwischen als wichtige Instanz im Machine-Learning-Umfeld (ML) etabliert. Zahlreiche Ergänzungen wie Facebooks RoBERTa erweitern BERT, und die Konkurrenz aus China orientiert sich zumindest am Namen: Baidu hat sein NLP-Modell ERNIE getauft. BERT trägt zwar nicht zufällig den Namen der Sesamstraßenfigur, ist aber zudem ein Akronym für Bidirectional Encoder Representations from Transformers – ERNIE steht für Enhanced Representation through kNowledge IntEgration.

Microsoft und Google haben nun unabhängig voneinander zwei unterschiedliche Methoden zum Optimieren von BERT veröffentlicht. Der Internetriese hat vor Kurzem mit ALBERT eine schlanke Variante an den Start geschickt, und aus Redmond kommt nun eine Optimierung für die Umsetzung auf der ONNX-Runtime, die eine Ausführungsschicht unabhängig vom jeweiligen ML-Framework bietet.

Das Ende 2018 veröffentlichte Modell BERT ist vor auf das Pretraining zum Verarbeiten nicht annotierter Texte ausgelegt. Viele NLP-Ansätze setzen darauf, dass die Texte Kennzeichnungen enthalten und für spezifische Aufgaben beziehungsweise Themengebiete ausgelegt sind.

Die allgemeine Ausrichtung von BERT ergibt sich daher, dass Google unzählige Webinhalte verarbeitet, die keine Labels enthalten. Der Encoder setzt auf andere Systeme auf, darunter mit ELMo (Embeddings from Langauge Models) ein weiteres System, das seinen Namen einem Muppet verdankt.

Auch Microsoft setzt für Bing seit einem Jahr auf BERT. Im November 2019 hat das Unternehmen einen Blogbeitrag zu spezifischen GPU-Optimierungen für Azure veröffentlicht. Nun gibt Microsoft BERT-Optimierungen für die ONNX-Laufzeitumgebung als Open-Source-Projekt frei. ONNX ist ein offenes Austauschformat für Machine-Learning-Modelle, das Facebook und Microsoft 2017 ins Leben gerufen haben.

Die ONNX Runtime hat Microsoft Ende 2018 als Open-Source-Software für Linux, Windows und macOS veröffentlicht. Sie arbeitet auf diversen Architekturen und bietet Anbindung für verschiedene Hardwarebeschleuniger. Auf Seite der Programmiersprachen verarbeitet die Laufzeitumgebung Python, C, C++, C# und Java.

BERT-Modelle bestehen aus zahlreichen Transformationszellen (Transformer Cells), und die nun veröffentlichte Performanceverbesserung optimiert jede einzelne Zelle, indem sie die entscheidenden Untergraphen mehrerer Operatoren zu einem Kernel für CPU und GPU vereinen. Darüber hinaus optimiert das System die Parallelisierung, um auf CPUs alle Kerne zu nutzen. Laut dem Beitrag auf Microsofts Cloud-Blog, der eine genau Beschreibung der einzelnen Maßnahmen bietet, erreichen die Optimierungen eine bis zu 17fache Performance.

Benchmarkmessungen der Verarbeitung mit BERT auf unterschiedlichen Systemen

(Bild: Microsoft)

Im Gegensatz zur gleichnamigen Muppet ist das NLP-Modell BERT nicht gerade für seine Schlankheit bekannt. Google hat vor Kurzem mit ALBERT (A Light BERT) eine schlankere Variante veröffentlicht, die an zwei Stellen die Größe herunterschraubt: Zum einen teilen sich Hidden Layers des künstlichen neuronalen Netzes einige Parameter und zum anderen setzt das System auf faktorisierte Einbettungsparametrisierung (Factorized Embedding Parameterization): Es teilt die große Vokabular-Embedding-Matrix in zwei kleinere Matrizen auf.

Beide Maßnahmen reduzieren die Parameter von BERT deutlich, sollen aber die Leistungsfähigkeit bei der Spracherkennung kaum beeinträchtigen. ALBERT ist wie BERT ein Open-Source-Projekt, und das GitHub-Repository bringt einige vortrainierte Modelle. Eine genaue Beschreibung der Arbeitsweise und Anpassungen gegenüber BERT ist in einer technischen Abhandlung zu finden.

ML-Essentials 2020

Vom 17. bis 19. Februar 2020 starten heise Developer, iX und der dpunkt.verlag mit einem neuen Format zum Thema Machine Learning: Die ML-Essentials bieten Halbtages-Trainings zu insgesamt 18 Themen. Die Veranstaltung ist aus dem Wunsch einiger Teilnehmer der Entwicklerkonferenz Minds Mastering Machines hervorgegangen, die Workshops im Rahmen der Konferenz zu erweitern.

Im Programm der ML-Essentials 2020 findet sich unter anderem einen zweiteiliger Workshop zu Text Mining und Natural Language Processing, das auch den Einsatz von BERT behandelt.

mehr anzeigen

Eine gute Übersicht über die NLP-Methoden und -Modelle und ihre Muppet-Namen finden sich in einem Blogbeitrag mit dem Titel "The Illustrated BERT, ELMo, and co. (How NLP Cracked Transfer Learning)" (rme)