СледваСледващо ръководство
ZeRO и Sharded оптимизатори
технически
Техническо РЪКОВОДСТВО
Адам е работният кон оптимизатор зад повечето съвременни невронни мрежи, автоматично настройващ отделна скорост на обучение за всеки параметър.
Чуйте това ръководствоAI-разказан · ~2 min
It matters because it makes training deep models faster and far less finicky than plain gradient descent.
Adam (Adaptive Moment Estimation), представен от Kingma и Ba през 2014 г., съчетава две идеи. Първо, инерция: поддържа експоненциално намаляваща средна стойност на минали градиенти (първият момент), така че актуализира скоростта на изграждане в последователни посоки. Второ, мащабиране на параметър: проследява средната стойност на градиентите на квадрат (вторият момент) и разделя всяка стъпка на корен квадратен от тази стойност, така че параметрите с големи, шумни градиенти правят по-малки стъпки, а рядко актуализираните - по-големи. Тази адаптивност означава, че често можете да използвате една скорост на обучение в цяла мрежа. Вариант, AdamW, отделя разпадането на теглото от актуализацията на градиента и се превърна в стандартен за обучение на големи трансформатори и езикови модели.
Обучение на големи езикови модели като GPT и Llama, които използват AdamW като стандартен оптимизатор.
Фина настройка на предварително обучен класификатор на изображения (напр. ResNet) върху персонализиран набор от данни само със скорост на обучение по подразбиране на Adam.
Обучение на дифузионните модели зад генератори на изображения като Stable Diffusion.
Изпълнение на 8-битов Adam в библиотеки като bitsandbytes, за да се поберат състоянията на оптимизатора в ограничена GPU памет.
Adam и AdamW остават доминиращи, но изследванията повишават ефективността на модели с трилиони параметри, където съхраняването на две допълнителни стойности на тегло е скъпо. Вариантите с лека памет като Adafactor, 8-bit Adam и по-нови оптимизатори като Lion (който използва само импулс, базиран на знаци) и Sophia имат за цел да съответстват на качеството на Adam с по-малко памет или по-бърза конвергенция. Очаквайте адаптивни оптимизатори, настроени специално за разпределено обучение с ниска точност, за да продължат да се развиват.
Безплатен бюлетин
Три проверени AI истории всяка делнична сутрин, написани на достъпен език. Безплатно завинаги, без реклами.
Един имейл всеки делничен ден. Отписване с едно кликване. Никога не продаваме и не споделяме вашия имейл адрес.
Тествайте себе си
Незабавна обратна връзка за всеки отговор и сертификат за споделяне с подлежащ на проверка идентификационен номер, след като преминете курс.
Подкрепете безплатното AI образование. AI Understanding е 501(c)(3) с нестопанска цел — без реклами, без платен достъп, никога. Направете дарение
Адам е работният кон оптимизатор зад повечето съвременни невронни мрежи, автоматично настройващ отделна скорост на обучение за всеки параметър. Има значение, защото прави обучението на дълбоки модели по-бързо и далеч по-малко придирчиво от обикновеното градиентно спускане.
Адам поддържа експоненциално намаляваща средна стойност на градиентите (първи момент) и на квадратните градиенти (втори момент) за всеки параметър.
И m, и v се инициализират на нула, така че ранните оценки са предубедени ниски; разделянето на (1 - beta^t) коригира това.
AdamW прилага затихване на теглото директно към теглата, вместо да го смесва в члена на адаптивния градиент, което подобрява обобщаването в трансформаторите.
Епсилон (около 1e-8) се добавя към знаменателя, така че параметрите с почти нулеви средни стойности на квадратен градиент да не предизвикват експлозия.
Чрез разделяне на квадратния корен от средната квадратна градиентна стойност на всеки параметър, Адам мащабира размера на стъпката за параметър, вместо да използва една глобална стойност.
Продължавай да учиш
Още ръководства, избрани за тази тема
СледваСледващо ръководство
ZeRO и Sharded оптимизатори
технически