Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Optimierung verteilter Schulungen
Passen Sie Hyperparameter an Ihren Anwendungsfall und Ihre Daten an, um die beste Skalierungseffizienz zu erzielen. In der folgenden Diskussion heben wir einige der wichtigsten Trainingsvariablen hervor und geben Verweise auf state-of-the-art Implementierungen, damit Sie mehr über Ihre Optionen erfahren können. Wir empfehlen Ihnen außerdem, sich das Trainingsdokumentation Ihres bevorzugten Frameworks anzusehen.
Batch-Größe
SageMaker Mit verteilten KI-Toolkits können Sie in der Regel an größeren Chargen trainieren. Wenn ein Modell beispielsweise in ein einzelnes Gerät passt, aber nur mit einer kleinen Batch-Größe trainiert werden kann, können Sie entweder modellparallele Trainings oder datenparallele Trainings verwenden, um mit größeren Batch-Größen zu experimentieren.
Beachten Sie, dass die Batch-Größe die Modellgenauigkeit direkt beeinflusst, indem sie bei jeder Iteration das Rauschen bei der Modellaktualisierung kontrolliert. Durch eine Erhöhung der Batch-Größe wird das Rauschen bei der Steigungsschätzung reduziert. Dies kann vorteilhaft sein, wenn von sehr kleinen Batch-Größen ausgegangen wird, es kann jedoch zu einer Verschlechterung der Modellgenauigkeit führen, wenn die Batch-Größe auf große Werte ansteigt.
Tipp
Passen Sie Ihre Hyperparameter an, um sicherzustellen, dass Ihr Modell bei der Erhöhung der Batch-Größe auf eine zufriedenstellende Konvergenz trainiert wird.
Es wurden eine Reihe von Techniken entwickelt, um eine gute Modellkonvergenz aufrechtzuerhalten, wenn der Batch erhöht wird.
Mini-Batch-Größe
In SGD quantifiziert die Größe der Mini-Batches das Ausmaß des Rauschens, das bei der Steigungsschätzung vorhanden ist. Ein kleiner Mini-Batch führt zu einer sehr verrauschten Mini-Batch-Steigung, die nicht repräsentativ für die tatsächliche Steigung über den Datensatz hinweg ist. Ein großer Mini-Batch führt zu einer Mini-Batch-Steigung, die der wahren Steigung über den Datensatz hinweg nahe kommt und deren Rauschen möglicherweise nicht stark genug ist – es ist wahrscheinlich, dass sie in irrelevanten Minima verharrt.
Weitere Informationen zu diesen Techniken finden Sie in den folgenden Dokumenten:
-
Präzise, große Minibatch-SGD: Schulung ImageNet in 1
Stunde, Goya et al. -
PowerAI DDL
, Cho et al. -
Scale Out for Large Minibatch SGD: Restnetzwerktraining auf ImageNet -1K mit verbesserter Genauigkeit und kürzerer
Trainingszeit, Codreanu et al. -
ImageNet Training in wenigen Minuten
, Sie et al. -
Large Batch Training of Convolutional Networks
, You et al. -
Large Batch Optimization for Deep Learning: Training BERT in 76 Minutes
, You et al. -
Accelerated Large Batch Optimization of BERT Pretraining in 54 minutes
, Zheng et al. -
Deep Gradient Compression
, Lin et al.