Machine Learning: Facebook gibt NLP-Library PyText als Open Source frei

PyText baut auf dem ML-Framework PyTorch auf und kam bisher nur intern bei Facebook für Natural Language Processing (NLP) zum Einsatz.

In Pocket speichern vorlesen Druckansicht
Machine Learning: PyTorch erreicht Version 1.0 mit JIT-Compiler und C++-Frontend
Lesezeit: 2 Min.
Von
  • Matthias Parbel

Mit PyTorch stellt Facebook schon länger ein Framework für Machine Learning als Open Source frei zur Verfügung. Ab sofort bietet das Unternehmen auch die auf PyTorch basierende NLP-Library PyText quelloffen zur allgemeinen Verwendung an. Facebook-Entwickler haben PyText bisher intern vor allem für NLP-Projekte (Natural Language Processing) genutzt. PyText soll dabei die Brücke zwischen der experimentellen Phase und dem späteren produktiven Einsatz der ML-Modelle schlagen. Frameworks für die Modellentwicklung sind typischerweise auf rasches Prototyping hin optimiert, leiden beim Übergang in den Produktivbetrieb dann aber häufig unter zu hohen Latenzen und überdurchschnittlicher Speicherauslastung.

Die auf den Produktivbetrieb ausgelegten ML-Frameworks hingegen gehen sparsamer mit den Ressourcen um, geben sich dafür aber sperriger beim raschen Entwickeln neuer Modelle. Dem begegnet Facebook in PyText mit einem angepassten, modular aufgebauten Workflow. Der erlaubt es unter anderem, einzelne Komponenten des Frameworks zum Aufbau einer NLP-Pipeline individuell zu kombinieren. Nach Einschätzung der Facebook-Entwickler lässt sich PyText dadurch jeweils gezielt auf das Entwickeln oder den Produktivbetreib von ML-Modellen anpassen. Darüber hinaus lassen sich Komponenten aus der NLP-Pipeline entnehmen und in anderem Kontext wiederverwenden.

PyText soll den Prozess der Modellentwicklung bis zum...

(Bild: Facebook)

...optimierten Caffe2-Modell für den skalierbaren Produktivbetrieb beschleunigen.

(Bild: Facebook Facebook)

Entwickler können mit PyText das Training ihrer Modelle sowohl auf mehrere Nodes verteilen als auch verschiedene Modelle gleichzeitig trainieren. Auch bereits vorhandene Modelle für die Textklassifizierung lassen sich integrieren, sodass nicht in jedem Fall ein komplettes neues Training erforderlich ist. Kontextbezogene Modelle erlauben zudem, das Verständnis früherer Eingaben zu verbessern und diese in neue Textausgabe einfließen zu lassen – eine beispielsweise für Chatbots nützliche Vorgehensweise.

Mehr Infos
Mehr Artikel zu Machine und Deep Learning sowie zur Künstlichen Intelligenz sind im Sonderheft "iX Developer – Verstehen, verwenden, verifizieren" zu finden, das unter anderem im heise Shop erhältlich ist.

Wie bei PyTorch erfolgen auch bei PyText der Aufbau der Pipeline sowie die Orchestrierung des Trainings vornehmlich mit Python. Um aber beispielsweise die mit der Python-Runtime verbundenen Leistungseinbußen im Hinblick auf die Inferenz adressieren zu können, lassen sich PyText-Modelle in das optimierte ONNX-Format umwandeln und anschließend für Caffe2 exportieren. Der jüngst in Version 1.0 veröffentlichten PyTorch-Library hatten die Facebook-Entwickler einen JIT-Compiler zur schnellen Verarbeitung des Python-Codes spendiert. Für PyText sei darüber hinaus geplant, in kommenden Releases weitere Sprachen für das Modellieren zu unterstützen.

Mehr Informationen zu PyText bietet der Blog-Beitrag anlässlich der Veröffentlichung als Open Source unter BSD-Lizenz. Das aktuelle Release PyText 0.1.0 findet sich auf GitHub. (map)