Материал подготовлен автоматически по первоисточникам: ссылки на них — в конце статьи.
Новый протокол обновляет LoRA-копии модели на удалённых узлах, не пересылая после каждого шага весь адаптер. Хотя препринт Shenghui Li, Li Ju и Thiemo Voigt не прошёл рецензирование и все числа получили сами авторы, HiLo сократил объём передачи до 1,6% от размера адаптера и ускорил шаг до 2,2 раза. Это позволяет выбирать ранг LoRA по задаче, а сетевой трафик ограничивать отдельно.
Как градиент заменяет передачу адаптера
При обучении на данных текущей политики модель постоянно генерирует новые ответы, а затем учится на них. Генерацию обычно распределяют между отдельными узлами, которым нужна свежая копия политики. Если копии отстают, обучающий узел получает данные от уже устаревшей версии модели.
LoRA уменьшает объём синхронизации: вместо всех весов передаются небольшие обучаемые матрицы — адаптер. Но размер адаптера растёт вместе с его рангом. В приведённой конфигурации адаптер Qwen3-1.7B с рангом 64 занимал 139,5 МБ, а его передача по ограниченному каналу длилась больше 15 секунд и становилась медленнее самого вычислительного шага.
HiLo передаёт не новые параметры, а сжатый градиент, из которого они получены. Обучающий узел и узлы генерации декодируют одно сообщение, после чего каждый локально выполняет одинаковый шаг оптимизатора. Они начинают с одних параметров и одного состояния оптимизатора, поэтому приходят к одной версии политики.
Сжатие меняет общую траекторию обучения: и обучающий узел, и генераторы применяют приближённый градиент. Зато между их копиями не возникает дополнительного расхождения. HiLo не устраняет временное отставание узла, если сообщения приходят поздно, но позволяет точно восстановить каждую пропущенную версию по порядку.
Как Spar укладывает градиенты в заданный бюджет
Сам HiLo не привязан к одному способу сжатия. Авторы проверили его с PowerSGD, разреживанием Top-k и собственным алгоритмом Spar. Главное требование — все узлы должны одинаково декодировать сообщение.
Spar разбивает градиенты LoRA на матричные блоки и ищет в каждом направления, которые сохраняют больше всего информации на переданный байт. Затем алгоритм распределяет общий бюджет между блоками: важный блок получает более высокий коммуникационный ранг, менее важный — более низкий или пропускается. Обучающий ранг LoRA при этом не меняется.
Отброшенная часть градиента не исчезает окончательно. Spar сохраняет ошибку сжатия на обучающем узле и добавляет её к следующему градиенту. Так информация, которая не поместилась в текущее сообщение, может попасть в следующие обновления.
Передавать градиент выгоднее, чем сжимать готовое изменение параметров после оптимизатора. AdamW и другие адаптивные оптимизаторы хранят моменты градиента и преобразуют каждую координату отдельно, поэтому компактный градиент может превратиться в изменение параметров полного ранга. До шага оптимизатора в нём остаётся структура, которую проще сократить.
Когда HiLo меняет архитектурный план
Качество проверяли на Qwen3-1.7B и Qwen3-0.6B в двух задачах на рассуждение. Одна использовала дистилляцию от Qwen3-8B, другая сочетала проверяемую награду с подсказками учителя. Отдельно протокол запускали с AdamW, Muon, Lion и SGD с импульсом, а системные замеры проводили на GH200 с искусственно ограниченной пропускной способностью.
В одном из сравнений HiLo передал в 17 раз меньше данных, чем лучший проверенный кодек, который без потерь сжимал изменения адаптера. Доля задач, решённых хотя бы в одной из четырёх попыток, снизилась лишь на 0,3 процентного пункта. Среди сжатых вариантов только HiLo со Spar оставался в пределах трёх пунктов от полной синхронизации при всех четырёх оптимизаторах.
Подход имеет смысл, если узлы генерации находятся в разных площадках, делят исходящий канал обучающего узла или получают обновления через сеть с ограниченной пропускной способностью. Тогда ранг адаптера больше не приходится уменьшать только ради передачи. На быстром локальном соединении выигрыш исчезает: кодирование градиента и локальный шаг оптимизатора добавляют работу, которой нет при обычной отправке адаптера.
Цена экономии — более сложное состояние узла генерации. Каждый узел должен хранить параметры и состояние оптимизатора, применять сообщения ровно один раз и в правильном порядке, использовать совместимые вычислительные ядра и одинаковую точность. После сбоя ему недостаточно получить только текущий адаптер: нужно также восстановить состояние оптимизатора либо заново инициализировать согласованную контрольную точку.
Проверка охватывает только дистилляцию и обучение с наградой на задачах рассуждения, а сеть имитировали ограничением скорости внутри одного кластера. Поэтому HiLo пока стоит рассматривать как архитектурный вариант для собственного стенда, а не как готовую замену синхронизации: сначала нужно измерить стоимость состояния, восстановления после сбоев и воспроизводимость шага на целевом оборудовании.
Источники
Похоже на вашу задачу?
Расскажите, что собираете. За полчаса разложим на этапы и назовём сроки — это бесплатно и ни к чему не обязывает.



