Настройка крупных языковых моделей (LLM) стала ключевым элементом для компаний, стремящихся адаптировать ИИ под конкретные задачи и улучшить пользовательский опыт. Однако вычислительные и финансовые затраты на эту настройку часто ограничивают доступ к ней для предприятий с ограниченными ресурсами.
Чтобы преодолеть эти трудности, исследователи разработали алгоритмы, которые значительно снижают затраты на настройку LLM. Одним из последних нововведений является S-LoRA, совместный проект Стэнфордского университета и UC Berkeley.
Доступный ИИ с низкими затратами
S-LoRA позволяет организациям внедрять настроенные LLM по резко меньшим ценам, обеспечивая возможность работы сотен или тысяч моделей на одном графическом процессоре (GPU). Это открывает возможности для многочисленных приложений LLM, которые ранее были слишком дорогими или ресурсоемкими.
Понимание низкоранговой адаптации
Традиционная настройка LLM включает переобучение предобученной модели, что требует изменения всех параметров под конкретную задачу. Поскольку LLM часто содержат миллиарды параметров, этот метод нагружает вычислительные ресурсы.
Техники эффективной настройки параметров (PEFT), такие как низкоранговая адаптация (LoRA), предлагают альтернативу, позволяя выборочно настраивать минимальное подмножество параметров модели. Разработанная Microsoft, LoRA значительно снижает количество подлежащих обучению параметров, сохраняя при этом точность, сопоставимую с полной настройкой. Эта эффективность приводит к снижению требований к памяти и вычислениям.
Эффективность LoRA привела к ее широкому применению, разработке множества адаптеров для предобученных LLM и моделей диффузии. После настройки пользователи могут либо объединить веса LoRA с базовой моделью, либо оставить их как отдельные компоненты, что позволяет использовать несколько адаптеров LoRA с минимальными затратами памяти.
Разнообразие приложений с S-LoRA
Потенциальные применения S-LoRA огромны, включая создание контента и обслуживание клиентов. Например, платформа для ведения блогов может использовать эту технологию для предоставления настроенных LLM, способных генерировать контент в уникальном стиле автора без высоких затрат.
Преодоление технических вызовов
Несмотря на привлекательность использования нескольких моделей LoRA на одной базе LLM, возникают несколько технических трудностей. Управление памятью является основной проблемой, так как GPU имеют ограниченную память, что ограничивает количество загружаемых адаптеров. Эффективная система управления памятью необходима для бесперебойной работы.
Кроме того, серверы LLM используют пакетную обработку, чтобы повысить пропускную способность, обрабатывая несколько запросов одновременно. Однако различия в размерах адаптеров LoRA и их отдельные вычисления от базовой модели могут привести к узким местам.
S-LoRA решает эти проблемы с помощью динамического управления памятью, эффективно переключая адаптеры LoRA между GPU и RAM по мере необходимости. Инновационный механизм «Unified Paging» обеспечивает эффективное управление кэшами моделей запросов и весами адаптеров, позволяя серверу обрабатывать сотни или тысячи пакетных запросов без фрагментации памяти.
Кроме того, S-LoRA включает передовую систему «тензорного параллелизма», обеспечивая совместимость с крупными трансформерными моделями на нескольких GPU. Эти достижения позволяют S-LoRA поддерживать множество адаптеров LoRA на одном GPU или на нескольких GPU.
Обслуживание тысяч моделей одновременно
Исследователи оценили S-LoRA, используя различные версии открытой модели Llama от Meta на разных конфигурациях GPU. Результаты показали, что S-LoRA превосходит свои аналоги по поддержанию пропускной способности и эффективности памяти в масштабе.
В бенчмарках против ведущей библиотеки эффективной настройки параметров Hugging Face PEFT, S-LoRA продемонстрировала увеличение пропускной способности до 30 раз. В сравнении с vLLM, системой высокой пропускной способности с базовой поддержкой LoRA, S-LoRA увеличила пропускную способность в четыре раза, значительно увеличив количество одновременно обслуживаемых адаптеров.
Выдающейся особенностью S-LoRA является ее способность обслуживать 2000 адаптеров одновременно с минимальными дополнительными вычислительными затратами. Как объяснил Ин Шенг, аспирант Стэнфорда и соавтор работы, «Провайдеры услуг могут использовать одну и ту же базовую модель, одновременно настраивая адаптеры для отдельных пользователей, которые могут быть настроены на основе данных конкретного пользователя».
Дизайн S-LoRA также включает обучение в контексте, позволяя пользователям пользоваться персонализированными адаптерами, учитывающими свежие данные для улучшения ответов LLM. «Этот подход может быть более эффективным и экономичным, чем традиционное просвещение в контексте», отметил Шенг.
Код S-LoRA теперь доступен на GitHub, и исследователи планируют интегрировать его в популярные фреймворки для обслуживания LLM, позволяя компаниям легко внедрять S-LoRA в свои приложения.