Google veröffentlicht Pipeline-Parallelisierung nutzende ML-Bibliothek
GPipe ist eine nun als Open Source vorliegende Bibliothek für das effiziente Training großer neuronaler Netze mit Pipeline-Parallelität.
- Alexander Neumann
Google hat mit GPipe eine Machine-Learning-Bibliothek als Teil des TensorFlow-Frameworks Lingvo quelloffen zur Verfügung gestellt. Sie verwendet synchrone SGD-Algorithmen (Stochastic Gradient Descent) und Pipeline-Parallelisierung für das Training und ist bei jedem Deep Neural Network (DNN) anwendbar, das aus mehreren sequenziellen Schichten besteht. GPipe ermöglicht es laut seinen Entwicklern, einfach mehr Beschleuniger einzusetzen, um größere Modelle trainieren und die Leistung skalieren zu können, ohne die Hyperparameter der Modelle optimieren zu müssen.
Um die Effektivität von GPipe zu demonstrieren, haben seine Entwickler einen AmoebaNet-B-Algorithmus mit 557 Millionen Modellparametern und einer Eingangsbildgröße von 480 x 480 auf Google Cloud TPUv2s trainiert, wobei 1,8 Milliarden Parameter auf jedem TPU (Tensor Processing Unit) enthalten waren. Das Modell hat bei mehreren in der Bilderkennung gängigen Datensätzen wohl gut abgeschnitten, darunter beim Single-Crop-ImageNet-Trainingsdatensatz eine Genauigkeit von 84,3 Prozent erreicht sowie beim CIFAR-10-Datensatz 99 Prozent und beim CIFAR-100 91,3 Prozent.
Prozedere
Um ein effizientes Training über mehrere Beschleuniger hinweg zu ermöglichen, partitioniert GPipe ein Modell über verschiedene Beschleuniger und teilt automatisch einen Mini-Batch von Trainingsbeispielen in kleinere Mikro-Batches auf. Diese werden dann über die sogenannte Pipeline-Parallelisierung ausgeführt. Darüber hinaus werden die Gradienten konsistent über Mikro-Batches hinweg gesammelt, sodass die Anzahl der Partitionen die Modellqualität nicht beeinträchtigt.
Gute Ergebnisse waren wohl auch bei der Trainingsgeschwindigkeit zu beobachten. In einem anderen AmoebaNet-D-Test erreichten Googles Forscher zum Beispiel durch die vierfache Verteilung des Modells auf die Anzahl der TPUv2-Kerne eine 3,5-fache Beschleunigung.
Weitere Informationen geben die Forscher hinter GPipe einerseits in der Ankündigung zur Open-Source-Legung, anderseits in einem wissenschaftlichen Dokument, das auch detailliert auf die Beobachtungen beim Training mit den Datensätzen eingeht. Die Bibliothek hat ihre Heimat auf GitHub, genauso wie das Lingvo-Framework. (ane)