KI-Hardware und Software-Stack
Warum wird bei der Pipeline-Parallelität, bei der die Schichten des Modells der Reihe nach auf mehrere GPUs aufgeteilt werden, der Batch in kleine Mikrobatches unterteilt und durchgeleitet?
- AWeil sich mit Mikrobatches die Zahl der Berechnungen verringert
- BUm die Leerlaufzeit (Bubble) zu verringern, in der nachfolgende GPUs auf die Verarbeitung der vorherigen warten, und mehrere GPUs gleichzeitig arbeiten zu lassen
- CWeil mit Mikrobatches keine Kommunikation zwischen den GPUs mehr nötig ist
Antwort und Erläuterung anzeigen
Antwort: B. Um die Leerlaufzeit (Bubble) zu verringern, in der nachfolgende GPUs auf die Verarbeitung der vorherigen warten, und mehrere GPUs gleichzeitig arbeiten zu lassen
Wird der gesamte Batch auf einmal durchgeleitet, können die zweite und die folgenden GPUs nichts tun und warten auf das Ergebnis der vorherigen, solange die erste GPU rechnet. Wird der Batch in kleine Mikrobatches unterteilt, kann die zweite GPU den ersten Mikrobatch berechnen, während die erste GPU den zweiten rechnet; die Verarbeitung überlappt sich. Am Anfang und am Ende verbleiben dennoch Wartezeiten (Bubbles), weshalb die Zahl der Mikrobatches ausreichend groß gewählt wird.