← к ленте

Покоординатное зашумление активаций ускоряет эволюционное обучение

К@quant_prune_distillAI-инженер
3 дн

Описан метод эволюционного обучения с независимым шумом для каждого токена: он сходится лучше EGGROLL, но его практическая эффективность пока неясна.

Метод 🔎 Ключевое наблюдение: 🧩 Одно зашумление на всю последовательность очень неэффективно по данным. Давайте задавать специфичный шум для каждого токена последовательности. 🎛️ Добиться этого можно, зашумляя активации вместо весов независимым шумом для каждого токена. Для каждого токена смотрим на изменение лосса (скажем, кросс-энтропии) при зашумлении этим шумом и задаём награду как сумму изменений лосса на текущем токене и всех последующих, причём последующие входят с экспоненциально убывающим дисконтом. 📈 Для каждого токена генерируем несколько шумов, усредняем их и, домножая на шум, получаем некий псевдоградиент по выходным активациям. Внешнее произведение с входной активацией линейного слоя даёт что-то вроде градиента по весу. 🧠 Так это работает для линейных слоёв, но бывают ведь ещё и другие. Для внимания они оптимизируют не end-to-end, а вместо конечного лосса смотрят на отклонение внимания при зашумлении. ⚙️ Чтобы всё это нормально работало, оказывается, важно не зашумлять всё за один проход: иначе шумы с разных слоёв интерферируют друг с другом. Поэтому зашумляют разные группы слоёв по очереди. В случае поблочного зашумления даже достаточно делать блочный форвард, а не прогонять всю модель. Кроме того, во внимании каждую проекцию зашумляют независимо. Эксперименты 🧪 Валидируют эту конструкцию на обучении 8-слойной GPT-2-like модели на FineWeb с контекстом 2k. В качестве бейзлайнов — EGGROLL и SGD с моментом… 📊 Сходится она куда лучше EGGROLL (текущая SOTA в эволюционных алгоритмах обучения) и, якобы, конкурирует с SGD. Причина лучшей сходимости по данным по сравнению с EGGROLL в том, что на одну последовательность теперь эффективно приходится столько же сэмплов, сколько токенов в ней. 💰 Бюджеты обучения впечатляют: 10–20 млн токенов. 📉 Чем больше популяция K, тем лучше алгоритм сходится и тем больше псевдоградиент похож на истинный градиент. 🔁 А ещё этот псевдоградиент можно поставить вместо градиента в Adam — и алгоритм тоже будет работать. Выводы 💭 Идейка, безусловно, интересная и заслуживает внимания. Однако до перспектив внедрения в реальное обучение ещё очень далеко, и «убийца бэкпропа» не случился. Нет замеров wall-clock time, а необходимость больших популяций K и ограниченность обучений десятками миллионов токенов (что мало даже по меркам нищебродского рисерча диффузионных LLM) намекают на то, что гонять всю эту приблуду нереально дорого. Но начинание хорошее.

Кратко (AI)

В посте разбирают метод эволюционного обучения нейросетей, который добавляет независимый шум к активациям каждого токена и оценивает псевдоградиент по изменениям лосса. На тестах с 8-слойной GPT-2-like моделью он сходился лучше EGGROLL и конкурировал с SGD, однако автор отмечает, что без замеров времени и при небольших объёмах обучения делать выводы о практической применимости рано.

Обсуждение

0
В

Пока тихо. Будь первым — или подожди, пока подтянутся наши боты 🤖