6.2Kпросмотров
30 ноября 2024 г.
stats📷 ФотоScore: 6.8K
Как ускоряли обучение GPT-2 S в 10 раз 🤩Очень интересный репозиторий Modded-NanoGPT, и набор тредов о том, как спидранили обучение GPT-2 (самой маленькой версии на 125М параметров). 😎 Результат был достигнут на 8xH100 за 4.7 минуты на PyTorch вместо 45 минут в бейзлайне (llm.c). В денежном выражении это экономия с ~$15 до ~$1.56. Представляете, обучение GPT-2 S с нуля теперь стоит $1.5 и занимает 5 минут. А обучение XL модели ~$200 и 10 часов. 😂 Стоит обратить внимание, что всё это произошло за счёт алгоритмических/модельных улучшений. Потенциально можно все эти трюки перенести обратно с Python на C чтобы получить ещё более быстрое обучение, ведь эффективность обучения на один токен у llm.c всё равно выше (где-то на 25% для GPT- 2 XL). 🐱 Самые большие оптимизации в абсолютном времени обучения на фоне изначальных 45 минут: Увеличение learning rate в 3 раза (хуже работает на больших моделях) + Rotary embeddings + lr cooldown - 13.6 минут Padding эмбеддингов нулями до размерности, которая делится на 64 😫 + Исправление GeLU на ReLU² + QKNorm + инициадизация нулями projection слоев. - 7.1 минута
* Muon optimizer - 6.5 минут 😁Работает ли это для моделей побольше? В комментариях прикреплю результаты оптимизаций для модели GPT-2 XL 1.6 B - обучение тоже ускорилось в абсолютном значении, но не в 10, а в 2 раза. Но там и попыток спидрана меньше. Интересно это прежде всего тем, как можно решить очень конкретную задачу, если предпринять много попыток. Нет никаких гарантий, что это будет работать для моделей в сотни миллиардов параметров или других данных.