Menü
Developer

Machine Learning: PyTorch erreicht Version 1.0 mit JIT-Compiler und C++-Frontend

Ein Just-in-Time-Compiler, eine überarbeitete Distributed Library und ein experimentelles C++-Frontend: Die Bibliothek PyTorch liegt endlich in Version 1.0 vor.

Von
vorlesen Drucken Kommentare lesen 6 Beiträge
Machine Learning: PyTorch erreicht Version 1.0 mit JIT-Compiler und C++-Frontend

Facebook hat Version 1.0 seiner quelloffenen Deep-Learning-Bibliothek PyTorch veröffentlicht. Damit liegt die auf Torch-basierende Python-Bibliothek nach rund zwei Jahren Entwicklung in einer für die Produktion geeigneten Version vor. Neben einem neuen Just-in-Time-Compiler (JIT) dürfte die größte Neuerung ein noch als experimentell gekennzeichnetes C++-Frontend sein, das für Forschungen im hochperformanten C++-Umfeld konzipiert ist.

Bereits im Mai hatte das PyTorch-Team eine Roadmap für PyTorch 1.0 vorgestellt, die eine Veröffentlichung im Sommer vorgesehen hatte. Thema war ebenfalls der JIT-Compiler torch.jit, der die Brücke zwischen Forschung und Produktion schlagen soll. Der Compiler schreibt PyTorch-Modelle zur Laufzeit um, um ihre Effizienz in der Produktion zu steigern. Er erlaubt außerdem das Erstellen von Modellen ohne Abhängigkeit zum Python-Interpreter, sodass noch mehr Optimierungen möglich sein sollen. Darüber hinaus kann er das Modell in eine C++-Laufzeit exportieren, die auf dem Framework Caffe2 basiert. Caffe2 ist ebenfalls im Mai mit PyTorch verschmolzen.

Das C++-Frontend ist ein reines C++-Interface für das PyTorch-Backend, das demselben API- und Architekturmuster wie das Python-Frontend folgt. Es soll vor allem in Applikationen Einsatz finden, die eine hohe Performance und geringe Latenzen benötigen. Noch hat Facebook das Frontend mit "API Unstable" markiert – ein Einsatz in der Forschung ist bereits denkbar, von der Produktion ist allerdings noch abzuraten. Die C++-API kann in den nächsten Releases noch Breaking Changes verpasst bekommen.

Sonderheft iX Developer – Machine Learning

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.

Darüber hinaus haben die PyTorch-Entwickler die verteilte Bibliothek neu designt. torch.distributed arbeitet in den Backends Gloo, NCCL und MPI völlig asynchron. Es soll außerdem Performanceverbesserungen bei verteilten Daten geben, besonders für Hosts mit langsamen Netzwerkverbindungen.

Weitere Informationen finden sich in den Release Notes. Wer PyTorch ausprobieren möchte, findet in dem ebenfalls neu veröffentlichten Torch Hub ein Repository mit vortrainierten Machine-Learning-Modellen. (bbo)