Presná definícia
Čo znamená akumulácia gradientov?
Akumulácia gradientov sčíta príspevky z viacerých mikro-dávok a parametre aktualizuje až po ich stanovenom počte. Simuluje väčšiu efektívnu dávku bez uloženia všetkých aktivácií naraz. Aby zodpovedala priemernej strate veľkej dávky, každá mikro-strata sa primerane vydelí alebo sa výsledný gradient normalizuje podľa počtu príkladov.
Skúsenosť a kontext
Ako sa pojem používa v praxi
Používa sa, keď model alebo sekvencia neumožní požadovaný batch v pamäti. Tréningová slučka vynuluje gradient až po optimizer.step, scheduler počíta len tieto kroky a v DDP sa zbytočná synchronizácia medzi mikro-dávkami môže odložiť. Pri premenlivej veľkosti mikro-dávok sa váži podľa skutočného počtu vzoriek alebo tokenov. Výsledok nemusí byť presne rovnaký ako jedna veľká dávka pre BatchNorm, dropout a numerické poradie súčtov.
Overiteľnosť
Odborné zdroje
Praktické odpovede
Často kladené otázky
Ako sa počíta?
Mikro-batch × počet akumulácií × počet dátovo paralelných pracovníkov.
Kedy sa volá?
Po dokončenej aktualizácii, nie medzi mikro-dávkami jedného akumulačného okna.
Prečo ju deliť?
Aby súčet gradientov mal mierku priemeru zamýšľanej veľkej dávky.
Ktoré kroky počíta?
Iba momenty, keď sa skutočne zmenia parametre.
Prečo nemusí byť presná?
BatchNorm, náhodné masky a poradie plávajúcich súčtov sa líšia.
Prihlásiť / registrovať