В последние годы развитие крупных языковых моделей стремительно меняет цифровой ландшафт, влияя на сферу коммуникаций, бизнеса и науки. Однако обучение таких продвинутых систем традиционно требовало доступа к дорогому оборудованию — мощным графическим процессорам с десятками гигабайт видеопамяти, которые стоят десятки и даже сотни тысяч долларов. Это делало обучение моделей с десятками миллиардов параметров прерогативой крупных корпораций и исследовательских центров. Но теперь ситуация меняется: проект Answer.AI совместно с известными специалистами научного сообщества разработал решение, позволяющее обучать языковую модель с 70 миллиардами параметров всего на двух игровых видеокартах с 24 ГБ памяти каждая, например, RTX 3090 или 4090.
Это поднимает возможности обучения на новый уровень и открывает дверь для малого бизнеса, независимых разработчиков и образовательных учреждений. Технологический прорыв достигнут благодаря объединению двух ключевых подходов: Fully Sharded Data Parallel (FSDP) и QLoRA. Первая технология — FSDP, разработанная командой Meta — позволяет эффективно распределять модель и связанные с обучением данные между несколькими видеокартами, но сделано это таким образом, что все GPUs работают параллельно, а не по очереди. Это решает проблему «узкого горлышка», из-за которого при простом разбиении модели на части только одна карта загружалась данными в каждый момент времени, а остальные оставались простаивать. QLoRA же базируется на сочетании методов квантования и адаптивного обучения (LoRA).
Квантование — это сжатие модели путём представления весов в низкоразрядном формате, например, 4-битном. Благодаря этому размер модели сокращается примерно в четыре раза. При этом классический способ обучения напрямую на квантованной модели не работает, поскольку градиенты практически исчезают на дискретных уровнях представления, что делает невозможной корректировку весов. Для обхода этой проблемы QLoRA добавляет небольшие обучаемые адаптеры LoRA, которые остаются в полном формате, обеспечивая возможность тонкой настройки модели без переписывания основной квантованной базы. Такой подход значительно снижает требования к стеку памяти без потери качества, что раньше казалось невозможным при больших масштабах.
Объединение FSDP и QLoRA — ключевой элемент ответа Answer.AI на задачу домашнего обучения больших языковых моделей. С одной стороны, квантование с LoRA сокращает базовый объём модели, который теперь можно поместить в 35 ГБ вместо 140 ГБ. С другой стороны, FSDP распределяет эти данные между двумя и более 24-гигабайтными видеокартами, эффективно используя их ресурсы и давая пространство для хранения и обработки данных обучения — градиентов, активаций и оптимизаторов. Важной проблемой на пути к этому решению была организация подгрузки и распределения модели на отдельные сегменты на каждом GPU без загрузки всей модели полностью в память хотя бы одной видеокарты.
Решение заключалось в последовательной загрузке и квантовании по слоям, что позволило обойти лимит памяти и давало контролируемое распределение блоков параметров. Были внесены дополнения в библиотеки bitsandbytes и PEFT, чтобы корректно и эффективно управлять состояниями квантования и синхронизацией параметров на всех картах. Для реализации обучения с таким подходом использовались компромиссы в виде метода checkpointing, который избавляет от необходимости хранить все промежуточные значения активаций в памяти, пересчитывая их свежими по мере необходимости. Также применялась выгрузка весов на оперативную память CPU, чтобы разгрузить ограниченный видеобуфер, и специализированный CUDA-ядро Flash Attention 2, оптимизированное для вычисления механизма внимания с меньшей нагрузкой на память. Проект стал результатом тесного сотрудничества не только между Answer.
AI и известными исследователями вроде Тима Деттмерса и команды Hugging Face, но и более широкой открытoй экосистемы open source. Возможность обучать 70-миллиардные модели на обычных игровых ПК предоставляет исследователям и разработчикам беспрецедентные возможности кастомизации искусственного интеллекта. Теперь любой желающий может создавать персонализированные модели — не просто использовать готовые решения, а тренировать собственные, адаптированные к своим задачам. Это важный шаг к демократизации искусственного интеллекта. Большие модели перестают быть роскошью прибыльных корпораций и центров обработки данных.
Вместо этого расширяется круг доступных технологий и снижаются барьеры для входа, что стимулирует инновации и развитие в самых разных областях — от медицины и образования до бизнеса и творческого производства. Однако технология находится еще на ранней стадии развития. Несмотря на успешный запуск прототипа, пользователям рекомендуется внимательно подходить к попыткам тренировки таких моделей и ожидать необходимости самостоятельного решения различных технических нюансов. Планируется дальнейшая работа по оптимизации методов, повышению стабильности и расширению поддержки экосистемы Hugging Face и других инструментов. К тому же были исследованы альтернативные методы квантования, такие как HQQ, которые стали более точной и быстрой альтернативой existing GPTQ и AWQ подходам.
Интеграция HQQ с FSDP была успешно выполнена для увеличения эффективности и снижения ошибки квантования. Для тех, кто не имеет в наличии двух 24 ГБ видеокарт, сегодня есть возможность арендовать серверы с необходимым оборудованием на облачных платформах вроде Runpod Community Cloud по умеренной цене. Это облегчает экспериментирование даже без крупных вложений. Подытоживая, обучение сложных языковых моделей с 70 миллиардами параметров на домашних игровых видеокартах теперь перестало быть утопией. Ответ AI и сообщество открытого программного обеспечения продемонстрировали, что инновационные методы оптимизации модели и распределения обучения позволили использовать недорогой и доступный GPU-хардвар.
Это открывает новую эру в создании искусственного интеллекта — более доступного, мощного и персонализированного. Будущее обучения крупных ИИ моделей оказывается в руках не только гигантов индустрии, но и каждого энтузиаста с ограниченным бюджетом и желанием учиться.