AI-hardware en softwarestack

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?

  1. AOmdat het aantal berekeningen met micro-batches afneemt
  2. BOm de tijd (bubble) te verminderen die latere GPU's wachten op de verwerking door de vorige GPU, en meerdere GPU's tegelijk te laten werken
  3. COmdat communicatie tussen GPU's met micro-batches niet nodig is
Antwoord en toelichting tonen

Antwoord: B. Om de tijd (bubble) te verminderen die latere GPU's wachten op de verwerking door de vorige GPU, en meerdere GPU's tegelijk te laten werken

Als de hele batch in één keer wordt doorgestuurd, kunnen de tweede en volgende GPU's niets doen en wachten ze op het voorgaande resultaat terwijl de eerste GPU rekent. Bij verdeling in micro-batches kan, terwijl de eerste GPU de tweede micro-batch berekent, de tweede GPU de eerste berekenen, zodat de verwerking overlapt. Aan het begin en einde blijven wachttijden (bubbles) bestaan, zodat het aantal micro-batches voldoende groot wordt gekozen.

Dit onderwerp oefenen Naar de onderwerppagina

Meer vragen over AI-hardware en softwarestack

  1. Welke uitspraak over de werking van de all-reduce-communicatie bij gedistribueerde training is juist?
  2. Welke uitspraak over gradient checkpointing (herberekening van activaties) bij training is juist?
  3. Wat is de belangrijkste reden waarom een systolic array in AI-versnellers matrixproducten efficiënt kan berekenen?
  4. Wat is de belangrijkste reden waarom AI-versnellers soms een groot SRAM (tientallen tot honderden MB) op de chip plaatsen?
  5. Welke uitspraak over "weight stationary" (gewichten vast), een van de dataflow-methoden van AI-versnellers, is juist?

Vergelijkingen bij dit onderwerp