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?
- AOmdat het aantal berekeningen met micro-batches afneemt
- 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
- 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.