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