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?

  1. AWeil sich mit Mikrobatches die Zahl der Berechnungen verringert
  2. BUm die Leerlaufzeit (Bubble) zu verringern, in der nachfolgende GPUs auf die Verarbeitung der vorherigen warten, und mehrere GPUs gleichzeitig arbeiten zu lassen
  3. 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.

Dieses Thema üben Zur Themenseite

Weitere Fragen zu KI-Hardware und Software-Stack

  1. Welche Funktion hat die beim verteilten Training verwendete Kommunikationsoperation All-Reduce?
  2. Welche Aussage zum beim Training verwendeten Gradient Checkpointing (Neuberechnung von Aktivierungen) ist richtig?
  3. Was ist der Hauptgrund dafür, dass Systolic Arrays in KI-Beschleunigern Matrixprodukte effizient berechnen können?
  4. Was ist der Hauptgrund dafür, dass KI-Beschleuniger mitunter großen SRAM (einige zehn bis einige hundert MB) auf dem Chip tragen?
  5. Welche Aussage zu „Weight Stationary“, einem der Dataflow-Verfahren von KI-Beschleunigern, ist richtig?