На первый взгляд эти вызовы могут показаться сложными и технологически непреодолимыми. Но не бойтесь!
Скрытый секрет LLM заключается в том, что способ создания, развертывания, управления и поддержания их не слишком отличается от способа создания, развертывания, управления и поддержания любого другого компонента современного стека данных. В первую очередь, обучение LLM включает в себя очистку и подготовку большого объема данных, агрегированных из различных источников. Для больших LLM бизнесы обычно выбирают сохранение этих данных в хранилище данных или в оптимизированном колоночном формате хранения. Для специализированных LLM у них есть больше гибкости, с возможностями от облачных реляционных баз данных до облачного объектного хранилища.
Сегодня IT-специалисты разрабатывают повторяемые решения, называемые "шаблонами", для управления процессами интеграции данных точно так же. Большинство из этих шаблонов включают использование ручных скриптов или движков управления рабочим процессом, хотя несколько поставщиков рекламируют программное обеспечение и услуги, предназначенные для упрощения этих задач.
Уникальным для LLM является выбор крупной языковой модели, которая наиболее подходит для конкретного случая использования или приложения. Сложная, требующая вычислительных ресурсов модель на основе трансформаторов, такая как LLaMA, может использоваться для случаев использования, требующих обработки естественного языка (NLP), тогда как менее сложная модель рекуррентной нейронной сети (RNN) может быть достаточной для задачи, например, предсказания последовательности во временных рядах данных. На высоком уровне фундаментальные шаги обучения, валидации и развертывания даже сложной LLM сравнимы с такими же шагами обычной модели машинного обучения, хотя некоторые тонкости и сложности, характерные для LLM, требуют специализированной экспертизы. (То же самое верно и для методов настройки с эффективным использованием параметров, таких как низкоранговая адаптация, или LoRA, которые используются для эффективной доработки предварительно обученной LLM.) После того как LLM был обучен и настроен под конкретный случай использования, бизнес интегрирует его в производство, обычно через API. Для поддержания производительности и точности производственного LLM бизнес также должен периодически переобучать его на новых наборах данных, делая другие корректировки на основе обратных связей из производственного использования.
Давайте кратко разберем эти шаги и посмотрим, как организация может их внедрить сегодня.
Во-первых, это автоматическое предоставление и настройка. Для данных ученых, инженеров машинного обучения или других специалистов ручная нагрузка, связанная с предоставлением и настройкой программного обеспечения, является огромным затратным ресурсом. В большинстве случаев им приходится создавать и поддерживать скрипты или индивидуальные рабочие процессы, чтобы хотя бы частично автоматизировать предоставление и настройку современного стека данных. Но такие "решения" обычно требуют большого труда, подвержены ошибкам и не обладают эффективностью полностью автоматизированного решения. В идеале эксперты могли бы взаимодействовать с инструментом самообслуживания, который они могли бы использовать для предоставления и подключения различных вычислительных механизмов, облачного хранилища и служб ETL, фреймворков машинного обучения и т. д.
Во-вторых, это доступ к данным и интеграция. Полезные данные распределены по множеству источников - не только баз данных, хранилищ данных и хранилищ данных, но и облачных объектных хранилищ и инструментов SaaS. Опять же, данные ученые и другие специалисты могут использовать ручные скрипты, или создавать (и поддерживать) индивидуальные рабочие процессы, чтобы частично автоматизировать предоставление и настройку вычислительных и хранилищных сервисов, используемых для обработки этих данных. В идеальном мире они взаимодействовали бы с предварительно настроенной службой, которая упрощает доступ к этим источникам данных, интегрируется с конвейерами внедрения и подключения и уменьшает неудобства и задержки, связанные с подготовкой данных.
В-третьих, это управление рабочим процессом для обучения LLM. Обучение или переобучение LLM включает в себя определенную последовательность операций: извлечение данных, предобработку, обучение модели, настройку, валидацию и развертывание. Данные ученые и другие специалисты обычно используют инструменты управления рабочим процессом, чтобы автоматизировать эти шаги, хотя за это им приходится создавать, поддерживать и устранять ошибки в скриптах или артефактах (например, DAG), используемых этими инструментами. Этот подход использовал бы предварительно настроенную программную оркестрацию для автоматизации этих рабочих процессов, обеспечивая детерминированный, воспроизводимый, оптимизированный процесс.
В-четвертых, это конвейеры переобучения моделей. Чтобы поддерживать эффективность производственных LLM, эксперты должны создавать конвейеры и автоматизировать обратные связи, которые контролируют производительность модели, выявляют аномалии или деградацию и, при необходимости, запускают переобучение модели. В настоящее время большая часть этой тяжелой работы лежит на плечах данных ученых и других специалистов, которые вручную создают и поддерживают эти рабочие процессы. Большинство экспертов предпочли бы использовать инструмент, который предлагает предварительно настроенные программные шаблоны для мониторинга и переобучения LLM. Это решение минимизировало бы вмешательство человека, обеспечивая, чтобы эксперты могли сосредоточиться на улучшении моделей и решений, а не на мелких деталях управления конвейером.
Наконец, это интеграция с DevOps, DataOps и MLOps. Непрерывное интегрирование и непрерывное развертывание (CI/CD) стало критически важным для моделей машинного обучения, позволяя быстро итерировать и разворачивать модели, и гарантируя, что самые актуальные версии моделей машинного обучения функционируют. CI/CD помогает ускорить сроки поставки, поддерживать постоянное качество и согласовать развитие машинного обучения с бизнес-потребностями. Интегрируя автоматическое предоставление программного обеспечения в эти методики жизненного цикла, эксперты могут ускорить версионирование и тестирование моделей, обеспечивая без проблемное развертывание в производстве.