Зачем управлять трансферным обучением больших языковых моделей и что входит в это управление: знакомимся с расширением MLOps для LLM под названием LLMOps.
Что такое LLMOps
Большие языковые модели, воплощенные в генеративных нейросетях (ChatGPT и прочие аналоги), стали главной технологией уходящего года, которая уже активно используется на практике как частными лицами, так и крупными компаниями. Однако, процессом обучения LLM (Giant Language Mannequin) и их внедрением в промышленное использование необходимо управлять также как и любой другой ML-системой. Хорошей практикой для этого стала концепция MLOps, направленная на устранение организационных и технологических разрывов между всеми участниками процессов разработки, развертывания и эксплуатации систем машинного обучения.
По мере роста популярности GPT-сетей и их внедрения в различные прикладные решения, возникает потребность в адаптации принципов и технологий MLOps к трансферному обучению, применяемому в генеративных моделях. Это происходит из-за того, что языковые модели становятся все более большими и сложными для поддержки и ручного управления, что влечет повышение затрат и снижает производительность. Избежать этого поможет LLMOps — разновидность MLOps для наблюдения за жизненным циклом LLM от обучения до обслуживания с использованием инновационных инструментов и методологий.
LLMOps фокусируется на операционных возможностях и инфраструктуре, необходимых для точной настройки существующих базовых моделей и развертывания этих усовершенствованных моделей как части продукта. Поскольку базовые языковые модели огромны, например, GPT-3 имеет 175 миллиардов параметров, для их обучения требуется огромное количество данных, а также времени для сопоставления вычислений. Например, для обучения GPT-3 на одном графическом процессоре NVIDIA Tesla V100 потребуется более 350 лет. Поэтому очень важна инфраструктура, которая позволяет параллельно использовать машины с графическими процессорами и обрабатывать огромные наборы данных. Вывод LLM-моделей также требует намного больше ресурсов, чем более традиционное машинное обучение, т.к. представляет собой не одну модель, а цепочку моделей.
LLMOps предоставляет разработчикам необходимые инструменты и лучшие практики управления жизненным циклом разработки LLM. Хотя идеи LLMOps во многом совпадают с MLOps, большие базовые языковые модели требуют новых методов, руководств и инструментов. К примеру, Apache Spark в Databricks отлично работает для традиционного машинного обучения, но для тонкой настройки LLM не подойдет.
LLMOps фокусируется именно на тонкой настройке базовых моделей, поскольку современные LLM редко обучаются полностью с нуля. Современные LLM обычно используются как услуга, когда провайдер, например, OpenAI, Google AI и т.д., предлагает API LLM, размещенной в своей инфраструктуре, как сервис. Впрочем, существует и пользовательский стек LLM — широкая категория инструментов для тонкой настройки и развертывания собственных решений, созданных на основе GPT-моделей с открытым исходным кодом. Процесс тонкой настройки начинается с уже обученной базовой модели, которую затем надо обучить на более конкретном и меньшем наборе данных для создания собственной модели. После развертывания этой пользовательской модели отправляются запросы и возвращаются соответствующие сведения о завершении. Крайне важно отслеживать и переобучать модель, чтобы гарантировать ее стабильную производительность, особенно для систем искусственного интеллекта, управляемых LLM.
Инструменты оперативного проектирования позволяют быстрее и дешевле проводить контекстное обучение вместо тонкой настройки, не требуя конфиденциальных данных. При этом векторные БД извлекают контекстно значимую информацию для определенных запросов, а выполнение prompt-запросов позволяет оптимизировать и улучшить выходные данные модели на основе шаблонов и организации их в цепочки.
Сходства и отличия с MLOps
Итак, LLMOps облегчает практическое применение LLM за счет включения методов оперативного управления, цепочки LLM, мониторинга и наблюдения, которые обычно не встречаются в обычных MLOps. В частности, подсказки или prompt-запросы являются основным средством взаимодействия людей с LLM. Однако, сформулировать точный запрос получается не с первого раза, а обычно выполняется итеративно, в несколько попыток для достижения удовлетворительного результата. LLMOps-инструменты предлагают функции для отслеживания и версионирования подсказок и их результатов. Это облегчает оценку общей эффективности модели, включая оперативную работу с несколькими LLM.
Цепочка LLM связывает несколько вызовов LLM последовательно, чтобы обеспечить отдельную функцию приложения. В этом рабочем процессе выходные данные одного вызова LLM служат входными данными для другого, чтобы получить окончательный результат. Этот подход к проектированию представляет инновационный подход к разработке ИИ-приложений, разбивая сложные задачи на более мелкие шаги. Цепочка устраняет неотъемлемое ограничение на максимальное количество токенов, которые LLM может обрабатывать одновременно. LLMOps упрощает управление цепочкой и сочетает ее с другими методами поиска документов, такими как доступ к векторной базе данных.
Система наблюдения за LLM в LLMOps собирает точки данных в реальном времени после развертывания модели, чтобы обнаружить ухудшение ее производительности. Непрерывный мониторинг в режиме реального времени позволяет своевременно выявлять, устранять и устранять проблемы с производительностью до того, как они затронут конечных пользователей. В частности, ведется наблюдение за prompt-запросами, токенами и их длинной, временем обработки, задержкой вывода и пользовательскими метаданными. Это позволяет вовремя заметить переобучение или изменение базовой модели до фактического снижения производительности.
Также крайне важно отслеживать модели на предмет дрейфа и предвзятости. Хотя дрейф является распространенной проблемой в традиционных моделях машинного обучения, о чем мы писали здесь, мониторинг LLM-решений с помощью LLMOps еще более важен из-за их зависимости от базовых моделей. Предвзятость может возникнуть из-за исходных наборов данных, на которых обучалась базовая модель, собственных наборов данных, используемых при точной настройке, или даже из-за того, что оценщики-люди оценивают быстрое завершение. Для эффективного устранения предвзятости необходима тщательная система оценки и мониторинга.
LLM сложно оценить с помощью традиционных показателей машинного обучения, поскольку часто не существует единственного «правильного» ответа, тогда как традиционный MLOps ориентируется на обратную связь от людей, включая ее в процессы тестирования, мониторинга и сбор данных для использования при будущей точной настройке.
В заключение отметим разницу в подходах LLMOps и MLOps к проектированию и разработке приложений. LLMOps предполагает быстрое проектирование, тогда как в традиционном MLOps проекты обычно реализуются постепенно, начиная с существующих проприетарных моделей или open-source моделей и заканчивая пользовательскими точно настроенными или полностью обученными на тщательно подобранных данных.
Впрочем, несмотря на эти отличия, LLMOps по-прежнему остается подмножеством MLOps. Поэтому авторы Большой книги MLOps (The Large Ebook of MLOps) от Databricks включили этот термин во второе издание этого сборника, в котором изложены руководящие принципы, соображения по проектированию и эталонные архитектуры для MLOps.
Узнайте больше про использование MLOps-инструментов в системах аналитики больших данных и машинного обучения на специализированных курсах в нашем лицензированном учебном центре обучения и повышения квалификации для разработчиков, менеджеров, архитекторов, инженеров, администраторов, Knowledge Scientist’ов и аналитиков Large Knowledge в Москве:
– Разработка и внедрение ML-решений
Источники
1. — https://www.databricks.com/resources/ebook/the-big-book-of-mlops
2. — https://www.databricks.com/blog/big-book-mlops-updated-generative-ai
3. — https://valohai.com/blog/llmops/
4. — https://www.pluralsight.com/resources/blog/data/what-is-llmops