AI-hardware en softwarestack

Welke uitspraak over dataparallellisme bij training met meerdere GPU's is juist?

  1. AElke GPU heeft een kopie van het hele model, rekent met een deel van de data en de gewichten worden bijgewerkt nadat de berekende gradiënten over alle GPU's zijn gemiddeld
  2. BDe lagen van het model worden verdeeld en elke GPU neemt andere lagen voor zijn rekening
  3. CSlechts één GPU rekent en de overige GPU's dienen als reserve
Antwoord en toelichting tonen

Antwoord: A. Elke GPU heeft een kopie van het hele model, rekent met een deel van de data en de gewichten worden bijgewerkt nadat de berekende gradiënten over alle GPU's zijn gemiddeld

Bij dataparallellisme hebben alle GPU's hetzelfde model, wordt de batch trainingsdata verdeeld en voert elke GPU voorwaartse en terugwaartse propagatie uit. Omdat de gradiënten per GPU verschillen, vindt communicatie plaats (all-reduce) waarbij de gradiënten van alle GPU's worden opgeteld en gemiddeld, zodat iedereen de gewichten met dezelfde gradiënt bijwerkt en de kopieën van het model gelijk blijven. Als het model in één GPU past, is het eenvoudig en effectief, maar bij meer GPU's wordt de communicatie zwaarder.

Dit onderwerp oefenen Naar de onderwerppagina

Meer vragen over AI-hardware en softwarestack

  1. Welke uitspraak over tensorparallellisme, waarbij het matrixproduct van een grote laag die niet in het geheugen van één GPU past over meerdere GPU's wordt verdeeld, is juist?
  2. Waarom wordt bij pipelineparallellisme, waarbij de lagen van het model achtereenvolgens over meerdere GPU's worden verdeeld, de batch in kleine micro-batches verdeeld en doorgestuurd?
  3. Welke uitspraak over de werking van de all-reduce-communicatie bij gedistribueerde training is juist?
  4. Welke uitspraak over gradient checkpointing (herberekening van activaties) bij training is juist?
  5. Wat is de belangrijkste reden waarom een systolic array in AI-versnellers matrixproducten efficiënt kan berekenen?

Vergelijkingen bij dit onderwerp