Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Dans cet article, vous allez apprendre à utiliser le module complémentaire de gestionnaire de chaîne d’outils IA pour héberger efficacement des modèles de langage volumineux auto-hôtes sur Kubernetes. Cela vous permettra de réduire les coûts et la complexité des ressources, d’améliorer la personnalisation et de maintenir un contrôle total sur vos données.
À propos de KAITO
L’auto-hébergement de grands modèles de langage (LLMs) sur Kubernetes est en train de gagner en puissance parmi les organisations avec des charges de travail d’inférence à grande échelle, telles que le traitement par lots, les chatbots, les assistants et les applications pilotées par l’IA. Ces organisations ont souvent accès à des GPU de niveau commercial et cherchent des solutions de remplacement des modèles de tarification d’API par jeton coûteux, ce qui peut rapidement être mis hors de contrôle (scale-out). Bon nombre d’entre elles nécessitent également la possibilité d’ajuster ou de personnaliser leurs modèles, fonctionnalité généralement restreinte par les fournisseurs d’API sources fermées. En outre, les entreprises qui gèrent des données sensibles ou privées, en particulier dans des secteurs réglementés tels que la finance, la santé ou la défense, classent par ordre de priorité l’auto-hébergement pour maintenir un contrôle strict sur les données et empêcher l’exposition par le biais de systèmes tiers.
Pour répondre à ces besoins et bien plus encore, l’opérateur de gestionnaire de chaîne d’outils IA KAITO (Kubernetes AI Toolchain Operator),, projet de bac à sable CNCF (Cloud Native Computing Foundation), simplifie le processus de déploiement et de gestion des charges de travail LLM open source sur Kubernetes. KAITO s’intègre à vLLM, moteur d’inférence à débit élevé conçu pour servir efficacement de grands modèles de langage. vLLM en tant que moteur d’inférence permet de réduire les besoins en mémoire et en GPU sans compromettre considérablement l’exactitude.
Basé sur le projet KAITO open source, le module complémentaire managé par le gestionnaire de chaîne d’outils IA offre une configuration modulaire plug-and-play qui permet aux équipes de déployer rapidement des modèles et de les exposer via des API prêtes pour la production. Il inclut des fonctionnalités intégrées telles que les API compatibles OpenAI, la mise en forme de prompts et la prise en charge des réponses de diffusion en continu. Lors du déploiement sur un cluster AKS, KAITO garantit que les données restent dans l’environnement contrôlé de votre organisation, offrant une alternative sécurisée et conforme aux API LLM hébergées dans le cloud.
Avant de commencer
- Cet article suppose une compréhension élémentaire des concepts liés à Kubernetes. Pour plus d’informations, consultez Concepts de base de Kubernetes pour AKS.
- Pour toutes les images prédéfinies de modèle hébergé et la configuration des ressources par défaut, consultez le référentiel GitHub KAITO.
- Le module complémentaire d’opérateur de chaîne d’outils IA prend actuellement en charge KAITO version 0.6.0, notez cela en tenant compte de votre choix de modèle à partir du référentiel de modèles KAITO.
Limites
-
Les références SKU des systèmes d’exploitation
AzureLinuxetWindowsne sont actuellement pas prises en charge. - Les tailles de machine virtuelle GPU AMD ne sont pas prises en charge (
instanceType) dans un espace de travail KAITO. - Le module complémentaire de gestionnaire de chaîne d’outils IA est pris en charge dans les régions Azure publiques.
Prérequis
Si vous n’avez pas d’abonnement Azure, créez un compte gratuit avant de commencer.
Si vous disposez de plusieurs abonnements Azure, assurez-vous de sélectionner le bon abonnement dans lequel les ressources seront créées et facturées à l’aide de la commande ensemble de comptes az.
Remarque
Votre abonnement Azure doit avoir un quota de machines virtuelles GPU recommandé pour votre déploiement de modèle dans la même région Azure que vos ressources AKS.
Azure CLI version 2.76.0 ou ultérieure installée et configurée. Exécutez
az --versionpour trouver la version. Si vous devez installer ou mettre à niveau, voir Installer Azure CLI.Client en ligne de commande Kubernetes, kubectl, installé et configuré. Pour plus d’informations, consultez Install kubectl.
Exporter des variables d’environnement
Pour simplifier les étapes de configuration de cet article, vous pouvez définir des variables d’environnement à l’aide des commandes suivantes. Assurez-vous de remplacer les valeurs d’espace réservé par les vôtres.
export AZURE_SUBSCRIPTION_ID="mySubscriptionID" export AZURE_RESOURCE_GROUP="myResourceGroup" export AZURE_LOCATION="myLocation" export CLUSTER_NAME="myClusterName"
Activer le module complémentaire du gestionnaire de chaîne d'outils IA sur un cluster AKS
Les sections suivantes décrivent comment créer un cluster AKS avec le module complémentaire d'opérateur de chaîne d'outils IA activé et déployer un modèle IA hébergé par défaut.
Créer un cluster AKS avec le module complémentaire d'opérateur de chaîne d'outils AI activé
Créez un groupe de ressources Azure en utilisant la commande az group create.
az group create --name $AZURE_RESOURCE_GROUP --location $AZURE_LOCATIONCréez un cluster AKS avec le module complémentaire du gestionnaire de chaîne d'outils IA activé à l’aide de la commande az aks créer avec les indicateurs
--enable-ai-toolchain-operatoret--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-keysSur un cluster AKS existant, vous pouvez activer le module complémentaire d’opérateur de chaîne d’outils AI à l’aide de la commande az aks mise à jour.
az aks update --name $CLUSTER_NAME \ --resource-group $AZURE_RESOURCE_GROUP \ --enable-ai-toolchain-operator \ --enable-oidc-issuer
Se connecter au cluster
Configurez
kubectlpour vous connecter à votre cluster à l’aide de la commande az aks obtenir les informations d'identification.az aks get-credentials --resource-group $AZURE_RESOURCE_GROUP --name $CLUSTER_NAMEVérifiez la connexion à votre cluster à l’aide de la commande
kubectl get.kubectl get nodes
Déployer un modèle d’IA hébergé par défaut
KAITO offre une gamme de modèles de langage de petite à grande taille hébergés en tant qu’images conteneurs publiques, qui peuvent être déployées en une seule étape à l’aide d’un espace de travail KAITO. Vous pouvez parcourir les images LLM prédéfinies disponibles dans le registre de modèles KAITO. Dans cette section, nous allons utiliser le modèle de langage Microsoft Phi-4-mini multimodal haute performance comme exemple :
Déployez le modèle Phi-4-mini instruct prédéfini pour l’inférence depuis le référentiel de modèles KAITO à l’aide de la commande
kubectl apply.kubectl apply -f https://raw.githubusercontent.com/kaito-project/kaito/refs/heads/main/examples/inference/kaito_workspace_phi_4_mini.yamlSuivez les modifications des ressources en direct dans votre espace de travail à l’aide de la commande
kubectl get.kubectl get workspace workspace-phi-4-mini -wRemarque
Lorsque vous suivez le déploiement de l’espace de travail KAITO, notez que la préparation de l’ordinateur peut prendre jusqu’à 10 minutes et que la préparation de l’espace de travail peut prendre jusqu’à 20 minutes en fonction de la taille de votre modèle.
Vérifiez votre service d’inférence et obtenez l’adresse IP du service à l’aide de la
kubectl get svccommande.export SERVICE_IP=$(kubectl get svc workspace-phi-4-mini -o jsonpath='{.spec.clusterIP}')Testez le service d’inférence Phi-4-mini instruct avec un exemple d’entrée de votre choix à l’aide du format d’API d’achèvements de conversation 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 }'
Déployer un LLM personnalisé ou spécifique à un domaine
Les machines virtuelles LLM open source sont souvent formées dans différents contextes et domaines, et les présélections de modèles hébergés risquent de ne pas toujours répondre aux exigences de votre application ou de vos données. Dans ce cas, KAITO prend également en charge le déploiement d’inférence de modèles de langage plus récents ou spécifiques au domaine depuis HuggingFace. Essayez un déploiement d’inférence de modèle personnalisé avec KAITO suivant cet article.
Nettoyer les ressources
Si vous n’avez plus besoin de ces ressources, supprimez-les pour éviter des frais de calcul Azure supplémentaires inutiles.
Supprimez l’espace de travail KAITO à l’aide de la
kubectl delete workspacecommande.kubectl delete workspace workspace-phi-4-miniVous devez supprimer manuellement les pools de nœuds GPU approvisionnés par le déploiement KAITO. Utilisez l’étiquette de nœud créée par l’espace de travail Phi-4-mini instruct pour obtenir le nom du pool de nœuds à l’aide de la commande
az aks nodepool list. Dans cet exemple, l’étiquette de nœud est « kaito.sh/workspace » : « workspace-phi-4-mini ».az aks nodepool list --resource-group $AZURE_RESOURCE_GROUP --cluster-name $CLUSTER_NAMESupprimez le pool de nœuds avec ce nom de votre cluster AKS et répétez les étapes décrites dans cette section pour chaque espace de travail KAITO qui sera supprimé.
Scénarios de résolution des problèmes courants
Après avoir appliqué l’espace de travail d’inférence du modèle KAITO, la préparation de vos ressources et les conditions de votre espace de travail peuvent ne pas être mises à jour à True pour les raisons suivantes :
- Votre abonnement Azure n’a pas de quota pour le type d’instance GPU minimal spécifié dans votre espace de travail KAITO. Vous devez demander une augmentation de quota pour la famille de machines virtuelles GPU dans votre abonnement Azure.
- Le type d’instance GPU n’est pas disponible dans votre région AKS. Vérifiez la disponibilité de l’instance GPU dans votre région spécifique et changez la région Azure si votre famille de machines virtuelles GPU n’est pas disponible.
Étapes suivantes
En savoir plus sur les options de modèle de déploiement KAITO ci-dessous :
- Déployez des LLM avec votre application sur AKS à l’aide de KAITO dans Visual Studio Code.
- Surveillez votre charge de travail d’inférence KAITO.
- Ajustez un modèle avec le module complémentaire de chaîne d’outils IA sur AKS.
- Configurez et testez l’appel d’outils avec l’inférence KAITO.
- Intégrez un serveur MCP avec le module complémentaire de gestionnaire de chaîne d’outils IA sur AKS.