ДаліНаступний посібник
Оптимізатори ZeRO та Sharded
технічний
Технічний КЕРІВНИЦТВО
Адам — це «робоча конячка» оптимізатора більшості сучасних нейронних мереж, який автоматично налаштовує окрему швидкість навчання для кожного параметра.
Послухайте цей посібникШІ-розказаний · ~2 min
Це важливо, тому що це робить навчання глибоких моделей швидшим і менш вибагливим, ніж простий градієнтний спуск.
Adam (Adaptive Moment Estimation), представлений Kingma та Ba у 2014 році, поєднує дві ідеї. По-перше, імпульс: він зберігає експоненціально спадне середнє минулих градієнтів (перший момент), тому оновлює швидкість нарощування в узгоджених напрямках. По-друге, масштабування за параметром: воно відстежує середнє квадратичне значення градієнтів (другий момент) і ділить кожен крок на квадратний корінь із цього значення, тому параметри з великими шумними градієнтами мають менші кроки, а рідко оновлювані — більші. Ця адаптивність означає, що ви часто можете використовувати одну швидкість навчання в усій мережі. Варіант, AdamW, відокремлює розпад ваги від оновлення градієнта та став типовим для навчання великих трансформаторів і мовних моделей.
Навчання великих мовних моделей, таких як GPT і Llama, які використовують AdamW як стандартний оптимізатор.
Точне налаштування попередньо підготовленого класифікатора зображень (наприклад, ResNet) на спеціальному наборі даних лише зі швидкістю навчання Адама за замовчуванням.
Навчання дифузійних моделей за генераторами зображень, наприклад Stable Diffusion.
Запуск 8-бітного Адама в таких бібліотеках, як bitsandbytes, щоб вмістити стани оптимізатора в обмежену пам’ять GPU.
Adam і AdamW залишаються домінуючими, але дослідження підвищують ефективність моделей з трильйонами параметрів, де зберігання двох додаткових значень на вагу коштує дорого. Варіанти з підтримкою пам’яті, такі як Adafactor, 8-бітний Adam, і новіші оптимізатори, такі як Lion (який використовує лише знаковий імпульс) і Sophia, спрямовані на те, щоб відповідати якості Adam з меншим обсягом пам’яті або швидшою конвергенцією. Очікуйте, що адаптивні оптимізатори, налаштовані спеціально для розподіленого навчання з низькою точністю, будуть продовжувати розвиватися.
Безплатний розсилок
Три перевірені історії про ШІ щоробочого ранку, написані простою мовою. Безплатно назавжди, без реклами.
Один лист щотижня з понеділка по п'ятницю. Відписатися в один клік. Ми ніколи не продаємо та не передаємо вашу адресу.
Перевір себе
Миттєва зворотна связь на кожну відповідь та сертифікат із перевіреним ідентифікатором, яким можна поділитися, після проходження курсу.
Підтримайте безплатну освіту у сфері ШІ. AI Understanding — це некомерційна організація 501(c)(3) — без реклами, без платних стін, назавжди. Зробіть пожертву
Адам — це «робоча конячка» оптимізатора більшості сучасних нейронних мереж, який автоматично налаштовує окрему швидкість навчання для кожного параметра. Це важливо, тому що це робить навчання глибоких моделей швидшим і менш вибагливим, ніж простий градієнтний спуск.
Адам зберігає експоненціально спадне середнє градієнтів (перший момент) і квадрат градієнтів (другий момент) для кожного параметра.
І m, і v ініціалізуються рівним нулю, тому ранні оцінки є низькими зміщеннями; ділення на (1 - beta^t) виправляє це.
AdamW застосовує розпад ваги безпосередньо до ваг, а не змішує його з терміном адаптивного градієнта, що покращує узагальнення в трансформаторах.
Епсилон (приблизно 1e-8) додається до знаменника, щоб параметри з близькими до нуля середніми квадратичними градієнтами не викликали вибуху.
Шляхом ділення на квадратний корінь середнього квадратичного градієнта кожного параметра Адам масштабує розмір кроку для кожного параметра, а не використовує одне глобальне значення.
Продовжуйте вчитися
Інші посібники, вибрані для цієї теми
ДаліНаступний посібник
Оптимізатори ZeRO та Sharded
технічний