Обратное распространение (backprop) — стандартный способ обучения нейросетей: ошибка на выходе раскручивается назад по слоям, и каждый вес получает свою долю вины. Авторы Dust предлагают отказаться от этой аналитической структуры и заменить её брутфорс-вычислениями и поиском. Вопрос, который они разбирают, нетривиален: можно ли вообще обучить трансформер с нуля, не считая ни одного градиента через цепочное правило, и что для этого нужно.
Зачем заменять backprop
Авторы исходят из того, что в режиме больших вычислений общие методы, масштабируемые с вычислениями, в конечном итоге выигрывают, а требование дифференцируемости может ограничивать пространство работающих архитектур. Поэтому они строят Dustzeroth-order алгоритм оптимизации, то есть метод, который не использует производные, а возмущает активации, награждает каждое возмущение по тому, насколько оно снижает потерю, и усредняет взвешенные наградами возмущения по популяции для оценки градиента.
Ключевая идея — виртуальная популяцияприём, при котором каждый токен последовательности выступает отдельным членом популяции, так что один прямой проход оценивает их все параллельно. В отличие от weight-space ESэволюционных стратегий, которые ищут решение, возмущая веса модели, это даёт популяцию как минимум на три порядка больше. При большой популяции (то есть существенно больших вычислениях) Dust приближает backprop, а в некоторых настройках даже превосходит его. Авторы, однако, прямо оговаривают: они не пытаются сделать Dust достаточно вычислительно эффективным, чтобы заменить backprop сегодня, и для практической альтернативы при текущих уровнях вычислений нужно на порядки больше вычислительной эффективности.
Почему искать по активациям, а не по весам
Пространство активаций интереснее для поиска потому, что рассуждение — вербализуемое или нет — «живёт» именно в активациях, а не в весах. Из этого следует, что обучение можно свести к поиску по скрытому рассуждению.
Dust сочетает возмущение в пространстве активаций с общим правилом присвоения заслуг, которое назначает разные награды на уровне токенов разным типам слоёв в блоке трансформера. Эти два смещения вместе с деталями реализации и мерами эффективности — например, избеганием интерференциивзаимного влияния возмущений: изменение потерь, вознаграждающее шум одного токена, подхватывает эффект всех других возмущений в том же прямом проходе между возмущёнными модулями — и составляют весь алгоритм. На практике это даёт порядки выигрыша: от 1M токенов Dust примерно в 10^3–10^4 раз эффективнее реализации трансформера EGGROLLметод эволюционных стратегий, который делает большие популяции возмущений весов эффективными на GPU за счёт низкоранговой структуры.
Постановка задачи
Цель формулируется как заложить основы алгоритма поискового кредитного присвоения, конкурентоспособного с backprop на самой сложной задаче, которую авторы могли придумать: предобучение трансформеров. При этом на метод накладываются явные ограничения: не делать его вычислительно эффективным настолько, чтобы заменить backprop сегодня, и не обучать новые виды нейросетей, которые он делает доступными, — например, сети с внешней программой в цикле или трансформеры, зацикленные на много шагов, которые backpropagation through timeобучение через развёртку сети во времени, при котором градиент распространяется по всем шагам цикла с трудом обучает. И то и другое оставлено на будущую работу.
Все веса модели обучаются этим способом, кроме 2L скаляров остаточного смешивания, которые обучаются обычным weight-space ES.
Почему не evolution strategies
Узкое место evolution strategyкласс методов, которые оценивают градиент по популяции возмущённых копий модели — размер популяции: каждому члену нужна своя возмущённая копия весов и свой прямой проход, поэтому число членов ограничено доступным количеством прямых проходов. Каждый член всё равно остаётся одним элементом последовательности в батче.
Dust обходит это, возмущая активации независимо на каждом токене: в этом токене сеть ведёт себя так, будто к весам слоя, породившего активации, применено низкоранговое возмущение, хотя само возмущение в весах не материализуется. Последовательность в трансформере содержит несколько тысяч токенов, поэтому один прямой проход оценивает несколько тысяч членов на последовательность вместо одного.
Как считается кредит
Для линейного слоя y_t = W x_t выход возмущается на всех токенах добавлением шума, после чего выполняется прямой проход. Здесь σ — масштаб шума. На каждом токене s вычисляется центрированное снижение потерь c_s: это разница между возмущённой потерей текущего розыгрыша и средней возмущённой потерей на этом токене по розыгрышам, оценённым вместе в одном батчевом прямом проходе. Награда джиттера на токене t — это снижение потерь на t и, с затуханием γ, снижения потерь на последующих токенах, до которых джиттер доходит через внимание:
r_t = Σ_{s ≥ t} γ^{s−t} c_sПри γ = 0 джиттер вознаграждается только собственным токеном. Один независимый джиттер всех токенов — это drawодин розыгрыш шума по всем токенам выбранных слоёв, вознаграждаемый потерями токенов, а популяция — это K розыгрышей. Усреднённый по розыгрышам шум, взвешенный наградой, даёт оценку ошибки на выходе слоя, а её внешнее произведение со входом слоя, уже вычисленным прямым проходом, просуммированное по токенам, — градиент весов.
Интерференция и меры против неё
При доступной популяции главная стоимость — интерференция: в одном прямом проходе джиттерятся много слоёв на многих токенах, поэтому изменение потерь, вознаграждающее шум одного токена, подхватывает эффект всех остальных возмущений в этом проходе.
Против этого применяются три меры. Разные типы слоёв джиттерятся в отдельных прямых проходах, каждый со своим масштабом шума, и каждый блок получает свои проходы. Внутренности внимания (query, key, value, gate, value embedding) джиттерятся отдельно: для них пересчитывается только выход внимания их блока с джиттером из кэшированных чистых активаций, а джиттеры оцениваются по выравниванию с оценёнными градиентами выхода внимания. Языковая модель-голова джиттерится напрямую на кэшированных логитах, пересчитывая только кросс-энтропию и только часть словаря за один draw, — это стоит малую долю прямого прохода и позволяет голове работать с гораздо большей популяцией.
При неограниченной популяции интерференция исчезает в пределе: градиент складывается линейно, а ошибки — как квадратный корень, поэтому их отношение падает с ростом популяции.
Гиперпараметры
Настраиваются масштаб шума каждого типа слоя, credit decayнасколько сильно шум в токене вознаграждается снижением потерь на последующих токенах внутренностей внимания и доля популяции, которую получает каждый слой. Есть два способа настройки: grid search с обучением на малом бюджете токенов, сохраняющий настройку с наибольшим снижением потерь (надёжный, но дорогой), либо grid search, максимизирующий косинус между оценкой и backprop-градиентом на одном батче без обучения.
Credit decay γ задаёт, насколько шум в токене t вознаграждается снижением потерь на последующих токенах. Внутренности внимания кредитуются иначе: через оценку ошибки на выходе внимания по текущим и будущим токенам, а не напрямую по потерям токенов. Все слои не требуют кредитов от будущих токенов, кроме keys, values, gates и value embeddings, которые читаются последующими токенами и получают γ близкую к единице. Конкретные значения по умолчанию не приводятся.
Как сравнивали и что получилось
Стенд и методология
Обучение ведётся на GPT-style трансформерах на FineWeb с 4096-токенным BPE-токенизатором, батчем 16k токенов (8 последовательностей по 2048 токенов), одной эпохой и SGD с моментом при постоянной скорости обучения. Базовая модель имеет 8 слоёв и ширину 512. Бюджеты токенов перебираются от 100k до 20M, популяции — от 64 до 16k, backprop тюнится на той же сетке при каждом бюджете.
Популяция считается по-разному у участников: в draw для Dust и в прямых проходах батча для EGGROLL. Draw немного дешевле прямого прохода, потому что чистый прямой проход кэшируется, и draw, джиттерящий блок l, перезапускает только блоки с l и далее. K не включает draws головы и внутренностей внимания — они составляют малую долю FLOPs обновления.
Отдельно повторяли лестницу на 1M токенов под Adam для всех трёх методов, заново настраивая learning rates backprop, гиперпараметры Dust и step size, momentum и fitness shapingпреобразование значений приспособленности, задающее, как награды превращаются в вес обновления EGGROLL при каждой популяции.
Результаты
| Условие | Dust | EGGROLL | backprop |
|---|---|---|---|
| 100k токенов | ниже backprop с нескольких сотен draws | подходит на 0.02 к Dust при 64 draws | — |
| 1M токенов | ниже backprop с тысячи draws | на 0.4–0.6 выше Dust | — |
| 10M токенов | лестница выровнялась, предел чуть выше backprop | на 0.4–0.6 выше Dust | — |
| 20M токенов | лестница падает на 16k draws, предел 4.431 (95% интервал 3.89–4.58) | на 0.4–0.6 выше Dust | 4.633 |
EGGROLL при 16k — в 256 раз большая популяция — всё равно не достигает Dust при 64 draws.
Под Adam EGGROLL почти ничего не выигрывает: его настроенная Adam-лестница в пределах 0.01 от SGD-лестницы из Table 1 при каждой популяции. Adam улучшает и Dust, и backprop, оставляя форму лестницы похожей; Dust с большой популяцией догоняет backprop, и интервал её предела лежит ниже backprop.
Оговорки
Оценка предела при 20M токенов слабо ограничена: лестница всё ещё падает, поэтому её следует читать как свидетельство сокращения разрыва, а не как измеренный предел. Механизм возможного превосходства над backprop не ясен. Вычислительная эффективность не была фокусом работы.
Возникновение backprop-подобных градиентов
Традиционное мнение: zeroth-order методы не могут обучать большие сети, потому что прямой проход возвращает один скаляр, дисперсия оценки градиента растёт с числом возмущённых измерений, а вместе с ней и нужная популяция. Это проверяли напрямую, обучая четыре размера — 2M, 7M, 38M и 243M параметров (диапазон в 120 раз) при фиксированных 10M токенов.
Измерялся косинус между оценкой Dust и backprop-градиентом на одном и том же батче, по типу слоя и по слою, на backprop-обученных чекпоинтах от 10M до 1B токенов, при росте популяции с 64 до 128k прямых проходов на шаг. Косинус растёт с популяцией для каждого типа слоя на каждой стадии обучения, и двухпараметрический закон
cos(K) = c_max / sqrt(1 + c/K)подгоняется к каждому типу слоя с RMSE ниже 0.06, где c_max — потолок, а c — популяция, при которой слой достигает c_max/sqrt(2). Для чекпоинта на 100M токенов подгонки к средним по типу слоя косинусам имеют RMSE 0.0032–0.0367. Насколько близко градиенты Dust подходят к backprop, варьируется по типу слоя и по слою. Оценка EGGROLL при том же числе прямых проходов растёт с популяцией, но всё ещё ниже 0.05 по косинусу при 128k для каждого типа, кроме головы. С ростом числа токенов косинусы сохраняются по большинству слоёв, а при больших популяциях косинус остаётся плоским на двух порядках величины по токенам.
Полезные градиенты возникают из большой популяции сами по себе, без встроенного правила цепочки, лишь при лёгкой настройке гиперпараметров для максимизации косинусного сходства.
Пограничные случаи и ограничения
Проблемными остаются малые популяции: при 100k и 1M токенов Dust заканчивает ниже backprop, начиная с нескольких сотен отрисовок при 100k и с тысячи при 1M, а при 10M и 20M разрыв сокращается с ростом популяции. Большие бюджеты токенов тоже проблемны: требуемая для достижения и превышения backprop популяция растёт с числом токенов, хотя при достаточно большой популяции косинус остаётся плоским на двух порядках токенов, и это требование может перестать расти.
Глубокие сети отдельно не выделены; вместо этого проверялся размер модели от 2M до 243M параметров при фиксированных 10M токенов. Большие модели часто более популяционно-эффективны, а маленькие насыщаются раньше, тогда как большие продолжают улучшаться с ростом популяции.
Авторы прямо пишут, что вычислительная эффективность не была фокусом работы и нужны порядки величины большей эффективности, прежде чем Dust станет практической альтернативой backprop при текущих уровнях вычислений.
Связь с предыдущими работами
Ранние zeroth-order работы по предобучению языковых моделей (Allaire et al., 2025) изучали трудность обучения трансформеров с нуля через возмущения весов; их более поздний метод KronZOzeroth-order метод предобучения, использующий компактные возмущения с кронекеровой структурой и выборочные направленные обновления использует компактные возмущения с кронекеровой структурой и выборочные направленные обновления, чтобы улучшить предобучение и снизить потребление памяти. EGGROLL делает большие популяции возмущений весов эффективными на GPU за счёт низкоранговой структуры.
Dust, напротив, ищет по активациям и использует награды для каждого токена, чтобы извлечь больше сигнала из каждого прямого прохода. Возмущения активаций в Dust опираются на node perturbationметод возмущения выходов узлов сети вместо весов. Dust оценивает сигнал от прямых возмущений во время предобучения трансформера, комбинируя награды для каждого токена с локальными целями для выходов внимания.
Что из этого следует на практике
- Один прямой проход вместо популяции копий. Возмущая активации на каждом токене, Dust получает популяцию в несколько тысяч членов на одну последовательность — против одного члена на прямой проход у weight-space ES. Отсюда и порядки выигрыша: от 1M токенов Dust в 10^3–10^4 раз эффективнее EGGROLL-Transformer.
- Кредит можно назначать без цепочного правила. Награда за джиттер складывается из снижения потерь на своём токене и, с затуханием γ, на последующих токенах, до которых джиттер доходит через внимание. При γ = 0 награда ограничена собственным токеном.
- Интерференция — главная стоимость при доступной популяции. Её снимают разделением проходов: разные типы слоёв, внутренности внимания и голова джиттерятся отдельно, а голова — прямо на кэшированных логитах. В пределе большой популяции интерференция исчезает, потому что градиент растёт линейно, а ошибка — как корень.
- Оценка совместима с современными оптимизаторами. Adam улучшает и Dust, и backprop, тогда как EGGROLL почти ничего от него не выигрывает. Оценка Dust работает с оптимизаторами, которые были настроены под backprop-градиенты.
- Косинус с backprop растёт с популяцией и держится с ростом токенов. Это обнадёживает для масштабирования, хотя требуемая популяция для достижения backprop растёт с числом токенов. То, что градиенты Dust приближаются к backprop, но не сходятся точно, авторы считают хорошим свойством: другая траектория оптимизации в экспериментах может быть даже лучше.
- Сегодня это не замена backprop. Нужны порядки величины большей вычислительной эффективности, прежде чем Dust станет практической альтернативой при текущих уровнях вычислений.