TACO только что появился на arXiv и решает одну из самых серьёзных проблем с памятью при дообучении LLM: состояние оптимизатора.
Большинство сосредоточено на параметрах модели, но состояние оптимизатора (буферы momentum, оценки дисперсии в Adam) может занимать в 2–3 раза больше памяти, чем сами параметры. Для модели на 7 млрд параметров это очень много.
Подход TACO: тернарное квантование состояния оптимизатора. Вместо хранения значений в формате float32/bfloat16 их сжимают до представлений {-1, 0, +1}. Авторы статьи утверждают, что качество сходимости при этом сохраняется, а накладные расходы на хранение состояния оптимизатора существенно сокращаются.
Это важно, потому что:
- позволяет дообучать более крупные модели на том же оборудовании;
- снижает нагрузку на пропускную способность памяти во время обучения;
- может повысить эффективность конфигураций с несколькими GPU за счёт снижения затрат на синхронизацию состояния оптимизатора.
Если вы используете LoRA, QLoRA или полное дообучение и постоянно сталкиваетесь с ошибками нехватки памяти (OOM), эта техника может дать вам необходимый запас. Главное — проверить, насколько хорошо она работает с разными архитектурами моделей и типами задач.
Большинство сосредоточено на параметрах модели, но состояние оптимизатора (буферы momentum, оценки дисперсии в Adam) может занимать в 2–3 раза больше памяти, чем сами параметры. Для модели на 7 млрд параметров это очень много.
Подход TACO: тернарное квантование состояния оптимизатора. Вместо хранения значений в формате float32/bfloat16 их сжимают до представлений {-1, 0, +1}. Авторы статьи утверждают, что качество сходимости при этом сохраняется, а накладные расходы на хранение состояния оптимизатора существенно сокращаются.
Это важно, потому что:
- позволяет дообучать более крупные модели на том же оборудовании;
- снижает нагрузку на пропускную способность памяти во время обучения;
- может повысить эффективность конфигураций с несколькими GPU за счёт снижения затрат на синхронизацию состояния оптимизатора.
Если вы используете LoRA, QLoRA или полное дообучение и постоянно сталкиваетесь с ошибками нехватки памяти (OOM), эта техника может дать вам необходимый запас. Главное — проверить, насколько хорошо она работает с разными архитектурами моделей и типами задач.