Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье вы узнаете, как использовать надстройку оператора цепочки инструментов ИИ для эффективного размещения больших языковых моделей на Kubernetes, снижения затрат и сложности ресурсов, повышения настройки и обеспечения полного контроля над данными.
О KAITO
Самостоятельное размещение крупных языковых моделей (LLMs) в Kubernetes набирает обороты среди организаций с нагрузками вывода данных в масштабе, такими как пакетная обработка заданий, чат-боты, агенты и приложения на основе искусственного интеллекта. Эти организации часто имеют доступ к графическим процессорам коммерческого класса и ищут альтернативные варианты дорогостоящих моделей цен на API токенов, которые могут быстро масштабироваться из-под контроля. Многие также требуют возможности точной настройки или настройки своих моделей, как правило, ограниченной поставщиками API закрытого источника. Кроме того, компании, обрабатывающие конфиденциальные или частные данные, особенно в регулируемых секторах, таких как финансы, здравоохранение или оборона, определяют приоритеты самостоятельного размещения для поддержания строгого контроля над данными и предотвращения воздействия через сторонние системы.
Чтобы устранить эти потребности и многое другое, оператор цепочки инструментов Kubernetes AI Toolchain Operator (KAITO), проект в песочнице Cloud Native Computing Foundation (CNCF), упрощает развертывание и управление рабочими нагрузками LLM с открытым кодом в Kubernetes. KAITO интегрируется с vLLM, подсистемой вывода с высокой пропускной способностью, предназначенной для эффективного обслуживания больших языковых моделей. VLLM в качестве подсистемы вывода помогает снизить требования к памяти и GPU без значительной компрометации точности.
На основе проекта KAITO с открытым исходным кодом, управляемое дополнение оператора цепочки инструментов ИИ предлагает модульную настройку plug-and-play, которая позволяет командам быстро развертывать модели и предоставлять их через API, готовые к эксплуатации в производственных условиях. Он включает встроенные функции, такие как API, совместимые с OpenAI, форматирование запросов и поддержка потокового ответа. При развертывании в кластере AKS KAITO гарантирует, что данные остаются в управляемой среде вашей организации, обеспечивая безопасную и соответствующую требованиям альтернативу облачным API LLM.
Прежде чем вы начнете
- В этой статье предполагается базовое понимание концепций Kubernetes. Дополнительные сведения см. в разделе основные понятия Kubernetes для AKS.
- Для всех предварительно настроенных образов и конфигурации ресурсов размещенной модели см. репозиторий KAITO GitHub.
- Надстройка оператора цепочки инструментов ИИ в настоящее время поддерживает KAITO версии 0.6.0, обратите внимание на это при рассмотрении выбранной модели из репозитория моделей KAITO.
Ограничения
- SKU ОС
AzureLinuxиWindowsв настоящее время не поддерживаются. - Размеры виртуальных машин GPU AMD не поддерживаются
instanceTypeв рабочей области KAITO. - Надстройка оператора цепочки инструментов ИИ поддерживается в общедоступных регионах Azure.
Предварительные условия
Если у вас нет подписки Azure, создайте бесплатную учетную запись, прежде чем приступить к работе.
Если у вас несколько подписок Azure, убедитесь, что выбрана правильная подписка, в которой будут созданы ресурсы и взиматься плата с помощью команды az account set .
Примечание.
Ваша подписка Azure должна иметь рекомендованную квоту на виртуальные машины GPU для развертывания модели в том же регионе Azure, что и ваши ресурсы AKS.
Azure CLI версии 2.76.0 или более поздней версии, установленной и настроенной. Чтобы узнать версию, выполните команду
az --version. Если вам необходимо выполнить установку или обновление, см. статью Установка Azure CLI 2.0.Клиент командной строки Kubernetes, kubectl, установленный и настроенный. Дополнительные сведения см. в разделе "Установка kubectl".
Экспорт переменных среды
Чтобы упростить действия по настройке в этой статье, можно определить переменные среды с помощью следующих команд. Обязательно замените значения заполнителей собственными.
export AZURE_SUBSCRIPTION_ID="mySubscriptionID" export AZURE_RESOURCE_GROUP="myResourceGroup" export AZURE_LOCATION="myLocation" export CLUSTER_NAME="myClusterName"
Включение надстройки оператора цепочки инструментов ИИ в кластере AKS
В следующих разделах описывается создание кластера AKS с включенной надстройкой оператора цепочки инструментов ИИ и развертывание размещенной по умолчанию модели ИИ.
Создайте кластер AKS с включенным дополнением оператора инструментов ИИ
Создайте группу ресурсов Azure с помощью команды az group create .
az group create --name $AZURE_RESOURCE_GROUP --location $AZURE_LOCATIONСоздайте кластер AKS с поддержкой надстройки оператора "инструментальная цепочка ИИ" с помощью команды az aks create с флагами
--enable-ai-toolchain-operatorи--enable-oidc-issuer.az aks create --location $AZURE_LOCATION \ --resource-group $AZURE_RESOURCE_GROUP \ --name $CLUSTER_NAME \ --enable-ai-toolchain-operator \ --enable-oidc-issuer \ --generate-ssh-keysНа существующем кластере AKS вы можете включить надстройку оператора инструментальной цепочки ИИ с помощью команды az aks update.
az aks update --name $CLUSTER_NAME \ --resource-group $AZURE_RESOURCE_GROUP \ --enable-ai-toolchain-operator \ --enable-oidc-issuer
Подключение к кластеру
Настройте
kubectlдля подключения к вашему кластеру с помощью команды az aks get-credentials.az aks get-credentials --resource-group $AZURE_RESOURCE_GROUP --name $CLUSTER_NAMEПроверьте подключение к кластеру
kubectl getс помощью команды.kubectl get nodes
Развертывание размещенной по умолчанию модели искусственного интеллекта
KAITO предлагает диапазон небольших и больших языковых моделей, размещаемых в виде общедоступных образов контейнеров, которые можно развертывать одним шагом с использованием рабочей области KAITO. Вы можете просмотреть предварительно настроенные образы LLM, доступные в реестре моделей KAITO. В этом разделе мы будем использовать высокопроизводительную мультимодальную модель Microsoft Phi-4-mini в качестве примера:
Разверните предустановку модели phi-4-mini для вывода из репозитория моделей KAITO с помощью
kubectl applyкоманды.kubectl apply -f https://raw.githubusercontent.com/kaito-project/kaito/refs/heads/main/examples/inference/kaito_workspace_phi_4_mini.yamlОтслеживайте изменения динамических ресурсов в рабочей области с помощью
kubectl getкоманды.kubectl get workspace workspace-phi-4-mini -wПримечание.
При отслеживании развертывания рабочей области KAITO обратите внимание, что готовность компьютера может занять до 10 минут и готовность рабочей области до 20 минут в зависимости от размера модели.
Проверьте службу вывода и получите IP-адрес службы с помощью
kubectl get svcкоманды.export SERVICE_IP=$(kubectl get svc workspace-phi-4-mini -o jsonpath='{.spec.clusterIP}')Проверьте службу вывода Phi-4-mini с помощью примера входных данных, используя формат API завершения чата OpenAI:
kubectl run -it --rm --restart=Never curl --image=curlimages/curl -- curl -X POST http://$SERVICE_IP/v1/completions -H "Content-Type: application/json" \ -d '{ "model": "phi-4-mini-instruct", "prompt": "How should I dress for the weather today?", "max_tokens": 10 }'
Развертывание пользовательского или доменного LLM
LLMs с открытым исходным кодом часто обучаются в разных контекстах и областях, а предустановки размещённых моделей могут не всегда соответствовать требованиям вашего приложения или данных. В этом случае KAITO также поддерживает развертывание новейших или специализированных языковых моделей из HuggingFace. Попробуйте выполнить развертывание вывода пользовательской модели с помощью KAITO, следуя этой статье.
Очистка ресурсов
Если эти ресурсы больше не нужны, их можно удалить, чтобы избежать дополнительных расходов на вычислительные ресурсы Azure.
Удалите область KAITO с помощью команды
kubectl delete workspace.kubectl delete workspace workspace-phi-4-miniНеобходимо вручную удалить пулы узлов GPU, подготовленные развертыванием KAITO. Используйте метку узла, созданную Phi-4-mini instruct workspace, чтобы получить имя пула узлов с помощью команды
az aks nodepool list. В этом примере метка узла — "kaito.sh/workspace": "workspace-phi-4-mini".az aks nodepool list --resource-group $AZURE_RESOURCE_GROUP --cluster-name $CLUSTER_NAMEУдалите пул узлов с таким именем из кластера AKS и повторите действия, описанные в этом разделе для каждой рабочей области KAITO, которая будет удалена.
Распространенные сценарии устранения неполадок
После применения рабочей области вывода модели KAITO ваши условия готовности к ресурсам и рабочей области могут не обновляться True по следующим причинам:
- У вашей подписки Azure нет квоты для минимального типа экземпляра GPU, указанного в рабочей области KAITO. Вам потребуется запросить увеличение квоты для семейства виртуальных машин GPU в подписке Azure.
- Тип экземпляра GPU недоступен в вашем регионе AKS. Подтвердите доступность экземпляра GPU в определенном регионе и переключите регион Azure, если семейство виртуальных машин GPU недоступно.
Следующие шаги
Дополнительные сведения о вариантах развертывания модели KAITO см. ниже.
- Разверните LLMs с вашим приложением на AKS, используя KAITO в Visual Studio Code.
- Отслеживайте рабочую нагрузку вывода KAITO.
- Точно настройте модель с помощью надстройки оператора цепочки инструментов ИИ в AKS.
- Настройка и тестирование вызова инструмента с использованием вывода KAITO.
- Интеграция сервера MCP с надстройкой оператора цепочки инструментов ИИ в AKS.