FP16 вместо BF16 устраняет нестабильность RL-файнтюнинга LLM
Исследователи обнаружили простое решение проблемы нестабильности при обучении языковых моделей с подкреплением: переключение с BF16 на FP16.
Суть в том, что во время RL-файнтюнинга используются разные движки для инференса и тренировки. BF16, получается, накапливает ошибки округления, которые разрушают согласованность между этими движками.
FP16 с 10 битами мантиссы даёт в 24 раза меньше расхождений на уровне последовательностей. При этом проблемы с динамическим диапазоном FP16 решаются стандартным loss scaling - буквально пара строк кода.
Результаты впечатляют:
- 99% точности на тренировочном датасете (vs 95% у BF16 с алгоритмическими патчами)
- 39% на AIME 2024 (vs 34% у BF16)
- работает на MoE моделях, LoRA, крупных моделях до 30B параметров
На железе не сэкономить. Q4, Q8 выкидываем. 😞
#FP16 #BF16 #RL
------
@tsingular
Исследователи обнаружили простое решение проблемы нестабильности при обучении языковых моделей с подкреплением: переключение с BF16 на FP16.
Суть в том, что во время RL-файнтюнинга используются разные движки для инференса и тренировки. BF16, получается, накапливает ошибки округления, которые разрушают согласованность между этими движками.
FP16 с 10 битами мантиссы даёт в 24 раза меньше расхождений на уровне последовательностей. При этом проблемы с динамическим диапазоном FP16 решаются стандартным loss scaling - буквально пара строк кода.
Результаты впечатляют:
- 99% точности на тренировочном датасете (vs 95% у BF16 с алгоритмическими патчами)
- 39% на AIME 2024 (vs 34% у BF16)
- работает на MoE моделях, LoRA, крупных моделях до 30B параметров
На железе не сэкономить. Q4, Q8 выкидываем. 😞
#FP16 #BF16 #RL
------
@tsingular
👍5❤2😢1