KI-Hardware und Software-Stack

Welche Aussage zur Datenparallelität beim Training auf mehreren GPUs ist richtig?

  1. AJede GPU hält eine Kopie des gesamten Modells und rechnet auf einem Teil der Daten; die ermittelten Gradienten werden über alle GPUs gemittelt, bevor die Gewichte aktualisiert werden
  2. BDie Schichten des Modells werden aufgeteilt, und jede GPU ist für andere Schichten zuständig
  3. CNur eine GPU rechnet, die übrigen GPUs dienen als Reserve
Antwort und Erläuterung anzeigen

Antwort: A. Jede GPU hält eine Kopie des gesamten Modells und rechnet auf einem Teil der Daten; die ermittelten Gradienten werden über alle GPUs gemittelt, bevor die Gewichte aktualisiert werden

Bei der Datenparallelität halten alle GPUs dasselbe Modell, der Batch der Trainingsdaten wird aufgeteilt, und jede GPU führt Forward und Backward Pass aus. Da die Gradienten der GPUs unterschiedlich sind, erfolgt eine Kommunikation (All-Reduce), die die Gradienten über alle GPUs summiert und mittelt; alle aktualisieren die Gewichte mit demselben Gradienten, und die Modellkopien bleiben identisch. Passt das Modell auf eine GPU, ist dies einfach und wirksam, doch mit wachsender GPU-Zahl wird die Kommunikation aufwendig.

Dieses Thema üben Zur Themenseite

Weitere Fragen zu KI-Hardware und Software-Stack

  1. Welche Aussage zur Tensorparallelität, bei der das Matrixprodukt einer großen Schicht, die nicht in den Speicher einer GPU passt, auf mehrere GPUs aufgeteilt wird, ist richtig?
  2. 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?
  3. Welche Funktion hat die beim verteilten Training verwendete Kommunikationsoperation All-Reduce?
  4. Welche Aussage zum beim Training verwendeten Gradient Checkpointing (Neuberechnung von Aktivierungen) ist richtig?
  5. Was ist der Hauptgrund dafür, dass Systolic Arrays in KI-Beschleunigern Matrixprodukte effizient berechnen können?