GaLore: Обучение памяти-эффективной модели языкового моделирования с помощью проекции градиента низкого рангаGaLore: Memory-Efficient LLM Training by Gradient Low-Rank Projection
Обучение больших языковых моделей (LLM) представляет существенные проблемы с памятью, в основном из-за растущего размера весов и состояний оптимизатора. Общие подходы к сокращению памяти, такие как адаптация низкого ранга (LoRA), добавляют обучаемую матрицу низкого ранга к замороженным предварительно обученным весам в каждом слое, сокращая обучаемые параметры и состояния оптимизатора. Однако такие подходы обычно производят результаты ниже, чем обучение с весами полного ранга как на этапе предварительного обучения, так и на этапе донастройки, поскольку они ограничивают поиск параметров до низкорангового подпространства и изменяют динамику обучения, и, кроме того, могут потребовать начальной настройки с полным рангом. В данной работе мы предлагаем Градиентную Проекцию Низкого Ранга (GaLore), стратегию обучения, которая позволяет полное обучение параметров, но более эффективна с точки зрения использования памяти, чем общие методы адаптации низкого ранга, такие как LoRA. Наш подход снижает использование памяти на оптимизаторы до 65.5%, сохраняя при этом эффективность и производительность как для предварительного обучения на архитектурах LLaMA 1B и 7B с набором данных C4 объемом до 19.7B токенов, так и для донастройки RoBERTa на задачах GLUE. Наш 8-битный GaLore дополнительно снижает использование памяти оптимизатора до 82.5% и общую память обучения на 63.3%, по сравнению с базовым уровнем BF16. Следует отметить, что мы демонстрируем впервые возможность предварительного обучения модели 7B на потребительских GPU с 24 ГБ памяти (например, NVIDIA RTX 4090) без параллельного моделирования, стратегий контрольных точек или выгрузки.