Натрупване на градиенти

Как моделите наистина се учат — от обикновено градиентно спускане до Adam

Натрупването на градиенти симулира по-голяма партида, когато паметта е ограничена. Вместо да правите стъпка след всяка микропартида, събирате градиентите от няколко микропартиди и едва тогава правите една стъпка на оптимизатора.

Ефективният размер на партидата е размерът на микропартидата, умножен по броя на стъпките на натрупване. Това позволява на малка GPU да се държи все едно е тренирала с по-голяма партида.

Бъчва за дъждовна вода улавя идеята добре. Една малка чаша не може да напои цялата градина наведнъж, затова изсипвате няколко чаши в бъчвата и после използвате количеството от бъчвата. Натрупването на градиенти събира няколко малки принос на градиенти, преди да направи едно обновяване. Фигурата по-долу показва точно този процес: всеки нов член е една чаша, а покачващите се стълбчета са бъчвата, която се пълни към сборa си. Натрупването на градиенти е частична сума от градиенти, която осребрявате като една-единствена стъпка.

Къде се използва това в MLНатрупването на градиенти е обичайно за големи езикови модели, големи изображения и ограничена памет на GPU. То позволява на екипите да изберат ефективен размер на партидата, без да се изисква цялата партида да се побере наведнъж.
▶ Натрупване на градиенти
← Мащабиране на размера на партидатаИнициализация и мащаб на сигнала →