Основные понятия— настройка языковых моделей для рабочих процессов искусственного интеллекта и машинного обучения
В этой статье вы узнаете о точной настройке языковых моделей, включая некоторые распространенные методы и способы применения результатов настройки, которые могут повысить производительность рабочих процессов искусственного интеллекта и машинного обучения на Служба Azure Kubernetes (AKS).
Предварительно обученные языковые модели
Предварительно обученные языковые модели (PLM) предлагают доступный способ начать работу с выводом ИИ и широко используются в обработке естественного языка (NLP). PLM обучаются в крупномасштабном текстовом корпусе из Интернета с помощью глубоких нейронных сетей и могут быть точно настроены на небольших наборах данных для конкретных задач. Обычно эти модели состоят из миллиардов параметров или весов, которые изучаются во время предварительного обучения.
PLM может изучать универсальные языковые представления, которые фиксируют статистические свойства естественного языка, например вероятность слов или последовательностей слов, происходящих в заданном контексте. Эти представления можно передать в подчиненные задачи, такие как классификация текста, распознавание именованных сущностей и ответы на вопросы, путем точной настройки модели для наборов данных для конкретных задач.
Преимущества и недостатки
В следующей таблице перечислены некоторые преимущества и недостатки использования PLM в рабочих процессах искусственного интеллекта и машинного обучения:
Плюсы | Минусы |
---|---|
• Быстро приступить к развертыванию в жизненном цикле машинного обучения. • Избегайте тяжелых затрат на вычислительные ресурсы, связанные с обучением моделей. • Сокращает потребность в хранении больших наборов данных с метками. |
• Может предоставлять обобщенные или устаревшие ответы на основе предварительно подготовленных источников данных. • Может быть не подходит для всех задач или доменов. • Производительность может отличаться в зависимости от контекста вывода. |
Методы тонкой настройки
Эффективная настройка параметров
Параметр эффективной тонкой настройки (PEFT) — это метод для точной настройки PLM на относительно небольших наборах данных с ограниченными вычислительными ресурсами. PEFT использует сочетание методов, таких как аддитивные и выборочные методы для обновления весов, для повышения производительности модели в конкретных задачах. PEFT требует минимальных вычислительных ресурсов и гибких объемов данных, что делает его подходящим для параметров с низким уровнем ресурсов. Этот метод сохраняет большую часть весов исходной предварительно обученной модели и обновляет оставшиеся весы, чтобы соответствовать контексту, помеченным данным.
Низкая адаптация ранга
Низкоранговая адаптация (LoRA) — это метод PEFT, часто используемый для настройки больших языковых моделей для новых задач. Этот метод отслеживает изменения веса модели и эффективно сохраняет небольшие матрицы веса, которые представляют только обучаемые параметры модели, сокращая использование памяти и вычислительные ресурсы, необходимые для точной настройки. LoRA создает результаты точной настройки, известные как слои адаптера, которые могут быть временно сохранены и извлечены в архитектуру модели для новых заданий вывода.
Квантизованная адаптация с низким рангом (QLoRA) — это расширение LoRA, которое сокращает использование памяти путем внедрения квантизации на уровни адаптера. Дополнительные сведения см. в статье "Создание LLM еще более доступными с помощью bitsandbites", 4-разрядной квантизации и QLoRA.
Эксперимент с точной настройкой языковых моделей в AKS
Оператор цепочки инструментов ИИ Kubernetes (KAITO) — это оператор с открытым кодом, который автоматизирует развертывания небольших и крупных языковых моделей в кластерах Kubernetes. Надстройка оператора цепочки инструментов ИИ использует KAITO для упрощения подключения, экономии затрат на инфраструктуру и уменьшения времени вывода моделей с открытым исходным кодом в кластере AKS. Надстройка автоматически подготавливает узлы GPU правильного размера и настраивает связанный сервер вывода в качестве сервера конечной точки в выбранной модели.
С помощью KAITO версии 0.3.0 или более поздней можно эффективно настроить поддерживаемые модели MIT и Apache 2.0 с помощью следующих функций:
- Сохраните данные повторного обучения в виде образа контейнера в частном реестре контейнеров.
- Размещение нового образа уровня адаптера в частном реестре контейнеров.
- Эффективное извлечение образа для вывода с помощью слоев адаптера в новых сценариях.
Рекомендации по началу работы с точной настройкой в KAITO см. в документации по API настройки рабочей области Kaito. Дополнительные сведения о развертывании языковых моделей с помощью KAITO в кластерах AKS см. в репозитории GitHub модели KAITO.
Внимание
Программное обеспечение с открытым кодом упоминается во всей документации и примерах AKS. Развертываемое программное обеспечение исключается из соглашений об уровне обслуживания AKS, ограниченной гарантии и поддержка Azure. При использовании технологии с открытым исходным кодом вместе с AKS ознакомьтесь с вариантами поддержки, доступными от соответствующих сообществ и обслуживающих проектов для разработки плана.
Например, репозиторий Ray GitHub описывает несколько платформ, которые зависят от времени отклика, назначения и уровня поддержки.
Корпорация Майкрософт несет ответственность за создание пакетов с открытым кодом, которые мы развертываем в AKS. Эта ответственность включает полное владение сборкой, сканированием, подписью, проверкой и исправлением, а также контролем над двоичными файлами в образах контейнеров. Дополнительные сведения см. в статье об управлении уязвимостями для поддержки AKS и AKS.
Следующие шаги
Дополнительные сведения о контейнерных рабочих нагрузках искусственного интеллекта и машинного обучения в AKS см. в следующих статьях:
Azure Kubernetes Service