Extend Inference Runtimes
Introduction
Этот документ пошагово объясняет, как добавить новые среды выполнения инференса для обслуживания как больших языковых моделей (LLM), так и любых других моделей, таких как «классификация изображений», «обнаружение объектов», «классификация текста» и т. д.
Alauda AI поставляется с встроенным движком инференса «vLLM». С помощью «custom inference runtimes» вы можете добавить дополнительные движки инференса, например, Seldon MLServer, Triton inference server и другие.
Внедряя пользовательские среды выполнения, вы расширяете поддержку платформой более широкого спектра типов моделей и типов GPU, а также оптимизируете производительность для конкретных сценариев, чтобы удовлетворить более разнообразные бизнес-требования.
В этом разделе мы продемонстрируем расширение текущей AI платформы с помощью пользовательской среды выполнения сервиса инференса XInfernece для развертывания LLM и обслуживания «OpenAI совместимого API».
Scenarios
Рассмотрите возможность расширения сред выполнения сервиса инференса вашей AI платформы, если вы столкнулись с одной из следующих ситуаций:
- Поддержка новых типов моделей: Ваша модель не поддерживается по умолчанию текущей средой выполнения инференса
vLLM. - Совместимость с другими типами GPU: Вам необходимо выполнять инференс LLM на оборудовании с GPU, например AMD или Huawei Ascend.
- Оптимизация производительности для конкретных сценариев: В некоторых сценариях инференса новая среда выполнения (например, Xinference) может обеспечить лучшую производительность или более эффективное использование ресурсов по сравнению с существующими средами.
- Пользовательская логика инференса: Вам нужно внедрить кастомную логику инференса или зависимые библиотеки, которые сложно реализовать в существующих стандартных средах выполнения.
Prerequisites
Перед началом убедитесь, что выполнены следующие условия:
- Ваш кластер ACP развернут и работает нормально.
- Версия вашей AI платформы 1.3 или выше.
- У вас подготовлены необходимые образы среды выполнения инференса. Например, для среды Xinference образы могут выглядеть как
xprobe/xinference:v1.2.2(для GPU) илиxprobe/xinference:v1.2.2-cpu(для CPU). - У вас есть привилегии администратора кластера (необходимы для создания экземпляров CRD).
Steps
Создание ресурсов среды выполнения инференса
Вам нужно создать соответствующие ресурсы среды выполнения инференса в зависимости от целевой аппаратной среды (GPU/CPU/NPU).
-
Подготовьте YAML-конфигурацию среды выполнения:
В зависимости от типа среды выполнения, которую вы хотите добавить (например, Xinference), и вашей целевой аппаратной среды подготовьте соответствующий YAML-файл конфигурации. Ниже приведены примеры для среды Xinference на разных аппаратных платформах:
- Пример среды для GPU
- Совет: Обязательно замените значение поля
imageна путь к вашему реальному подготовленному образу среды выполнения. Также вы можете изменить полеannotations.cpaas.io/display-nameдля кастомизации отображаемого имени среды выполнения в UI AI платформы.
- Совет: Обязательно замените значение поля
-
Примените YAML-файл для создания ресурса:
В терминале с правами администратора кластера выполните команду для применения вашего YAML-файла и создания ресурса среды выполнения инференса:
TIP- Важный совет: Пожалуйста, ориентируйтесь на приведённые выше примеры и создавайте/настраивайте среду выполнения в соответствии с вашей реальной средой и требованиями инференса. Эти примеры приведены только для справки. Вам нужно будет скорректировать параметры, такие как образ, лимиты и запросы ресурсов, чтобы обеспечить совместимость среды выполнения с вашей моделью и аппаратной средой, а также эффективную работу.
- Примечание: Вы сможете использовать эту пользовательскую среду выполнения на странице публикации сервиса инференса только после создания ресурса среды выполнения!
Публикация сервиса инференса Xinference и выбор среды выполнения
После успешного создания ресурса среды выполнения Xinference вы сможете выбрать и настроить её при публикации сервиса инференса LLM на AI платформе.
-
Настройте фреймворк инференса для модели:
Убедитесь, что на странице деталей модели в репозитории моделей, которую вы собираетесь публиковать, выбран соответствующий framework через функцию редактирования метаданных File Management. Значение параметра framework, выбранное здесь, должно совпадать со значением из поля
supportedModelFormats, указанного при создании среды выполнения инференса. Пожалуйста, убедитесь, что значение параметра framework модели входит в списокsupportedModelFormats, установленный в среде выполнения инференса. -
Перейдите на страницу публикации сервиса инференса:
Войдите в AI платформу и перейдите в модули «Inference Services» или «Model Deployment», затем нажмите «Publish Inference Service».
-
Выберите среду выполнения Xinference:
В мастере создания сервиса инференса найдите опцию «Runtime» или «Inference Framework». В выпадающем списке или меню выберите среду выполнения Xinference, которую вы создали на шаге 1 (например, «Xinference CPU Runtime» или «Xinference GPU Runtime (CUDA)»).
-
Установите переменные окружения: Среда выполнения Xinference требует определённых переменных окружения для корректной работы. На странице конфигурации сервиса инференса найдите раздел «Environment Variables» или «More Settings» и добавьте следующую переменную окружения:
-
Описание параметра переменной окружения
-
Пример:
- Имя переменной:
MODEL_FAMILY - Значение переменной:
llama(если вы используете модель серии Llama, ознакомьтесь с документацией для подробностей. Или выполните командуxinference registrations -t LLMдля списка всех поддерживаемых семейств моделей.)
- Имя переменной:
-