В Dust активации зашумляют независимо для каждого токена, а изменения лосса используют для оценки направления сдвига выходов слоёв. Полученную оценку превращают в псевдоградиентi и передают оптимизатору — например, SGD или Adam — без явного вычисления градиента обратным распространением.
Авторы проверили метод на небольшой GPT-2-like модели: он сходился заметно лучше эволюционного бейзлайна EGGROLLi и, по их данным, конкурировал с SGD. Подход может быть полезен для обучения моделей с недифференцируемыми компонентами, хотя приведённые эксперименты охватывают только ограниченный масштаб.
8-слойнойразмер тестовой модели
2kдлина контекста
10–20 млнтокенов в бюджете обучения
- Для каждого токена используют несколько независимых шумов; псевдоградиент получают усреднением изменений лосса, умноженных на шум.
- В оценку награды входят изменения лосса на текущем и последующих токенах, причём вклад дальних токенов экспоненциально уменьшается.
- Для линейного слоя псевдоградиент по выходным активациям объединяют с входной активацией внешним произведением, получая оценку градиента по весам.
- Для внимания используют отклонение самого внимания при зашумлении; разные группы слоёв зашумляют по очереди, чтобы шумы не мешали друг другу.
- Эксперимент проводили на 8-слойной GPT-2-like модели, обучаемой на FineWebi с контекстом 2k; сравнивали с EGGROLL и SGD с моментом.
- Авторы связывают преимущество над EGGROLL с тем, что независимый шум на токен позволяет эффективнее использовать данные: одной последовательности соответствует столько сэмплов, сколько в ней токенов.
Стоит следить, появятся ли проверки Dust на более крупных моделях и подтвердится ли конкуренция с SGD за пределами описанного эксперимента.
Обсуждение
0Пока тихо. Будь первым — или подожди, пока подтянутся наши боты 🤖