Pour créer une application d'IA, provisionnez un cluster Google Kubernetes Engine (GKE) sécurisé et privé, optimisé pour les charges de travail d'IA, puis déployez votre charge de travail à l'aide d'un chart Helm. Ce guide décrit les modèles suivants, que vous pouvez personnaliser pour déployer une application d'IA :
Cluster GKE d'inférence pré-entraînée pour l'IA : créez l'infrastructure de base requise pour la mise en service de modèles hautes performances. Ce modèle configure un cluster GKE sécurisé et privé, optimisé pour l'inférence d'IA.
Charge de travail GKE d'inférence pré-entraînée pour l'IA (aperçu) : déployez un chart Helm qui inclut la configuration d'une charge de travail d'IA. Utilisez le chart Helm pour déployer un modèle Gemma pré-entraîné à l'aide du moteur de mise en service vLLM. La charge de travail est configurée pour des demandes de ressources GPU efficaces et un autoscaler horizontal de pods (AHP) pour effectuer un scaling en fonction de l'utilisation du cache GPU.
Par exemple, vous pouvez déployer les modèles de cluster et de charge de travail pour répondre aux besoins commerciaux suivants :
| Exemple | Besoin | Implémentation |
|---|---|---|
| Analyse vidéo en temps réel | Une entreprise de sécurité doit traiter des flux vidéo provenant de centaines de caméras pour détecter des anomalies ou des objets spécifiques en temps réel. | Déployez des modèles de traitement vidéo sur le pool de nœuds compatible avec les GPU. Les GPU peuvent traiter les demandes à haut débit et à faible latence des flux vidéo simultanés. |
| Traitement de documents spécialisés | Une compagnie d'assurance doit extraire automatiquement des informations de milliers de formulaires de demande de règlement quotidiens, qui contiennent des mises en page et des écritures manuscrites variées. | Utilisez le cluster GKE pour héberger des modèles personnalisés et assurez-vous que les données ne quittent jamais l'environnement sécurisé pendant le traitement. |
| Moteur de recommandation à volume élevé | Une plate-forme d'e-commerce doit proposer des recommandations de produits personnalisées aux utilisateurs lors des événements de shopping de fin d'année. | Utilisez l'API Gateway Google Kubernetes Engine pour acheminer des volumes élevés de trafic utilisateur vers les modèles de recommandation. L'API Gateway peut gérer les pics de trafic soudains sans dégradation de la latence. |
Architecture
L'image suivante montre les composants et les connexions du modèle :
Les configurations des composants de ce modèle sont décrites ci-dessous :
Cluster GKE Standard : cluster sécurisé et privé dans lequel s'exécute votre charge de travail d'IA.
Le tableau suivant décrit la configuration du cluster dans ce modèle :
Configuration Objectif node_locationsest défini sur["us-central1-a", "us-central1-b", "us-central1-c"].Assure une haute disponibilité et une résilience en répartissant les nœuds du cluster sur trois zones de la région us-central1.La propriété enable_intranode_visibilityest définie surtrue.Active la visibilité du trafic entre pods sur le même nœud dans les journaux de flux VPC. Cette visibilité est requise pour la surveillance du réseau, le dépannage et l'analyse de la sécurité. gateway_api_configest activé à l'aide de{"channel":"CHANNEL_STANDARD"}.L'API GKE Inference Gateway vous aide à gérer le trafic entrant vers vos services Kubernetes. L'API vous permet de configurer un routage précis, un équilibrage de charge avancé et une association de règles centralisée. La propriété private_cluster_config.enable_private_endpointest définie surfalse. La propriétéprivate_cluster_config.enable_private_nodesest définie surtrue. La propriétécontrol_plane_endpoints_config.dns_endpoint_config.allow_external_trafficest définie surtrue.Garantit que les nœuds de calcul sur lesquels s'exécutent vos modèles d'IA disposent d'adresses IP privées. Cela isole vos nœuds de l'Internet public. Le plan de contrôle GKE est configuré pour être accessible publiquement afin de vous permettre de gérer le cluster en dehors de votre réseau de cloud privé virtuel (VPC). release_channelest défini sur{"channel":"REGULAR"}.Garantit que votre cluster GKE reçoit des mises à jour stables et prévisibles, offrant un équilibre entre les nouvelles fonctionnalités et la fiabilité. Pool de nœuds GKE : groupe de nœuds de calcul qui exécutent les conteneurs de l'application.
Le tableau suivant décrit les configurations du pool de nœuds dans ce modèle :
Configuration Objectif La propriété autoscaling.min_node_countest définie sur0. La propriétéautoscaling.max_node_countest définie sur3(la valeur par défaut est100).Le pool de nœuds peut être réduit complètement lorsqu'aucune charge de travail d'IA n'est en cours d'exécution, ce qui réduit les coûts pendant les périodes d'inactivité. La limite supérieure du scaling permet de contrôler les coûts et la consommation de ressources. Le paramètre node_config.guest_acceleratorest ajouté.gpu_driver_installation_config.gpu_driver_version:est défini sur"LATEST". La propriétégpu_sharing_configest activée avecTIME_SHARING. La propriétémax_shared_clients_per_gpu:est définie sur2.Spécifie l'utilisation de GPU NVIDIA L4 pour les tâches d'inférence d'IA. Les pilotes de GPU nécessaires sont installés automatiquement. Plusieurs charges de travail plus petites peuvent partager un seul GPU. node_config.machine_typeest remplacée par"g2-standard-8".Le type de machine est spécialement conçu pour compléter les GPU L4. Les processeurs virtuels (8) et la mémoire (32 Go) sont créés pour prendre en charge le GPU et exécuter vos applications d'inférence d'IA. La propriété node_config.oauth_scopesincluthttps://www.googleapis.com/auth/cloud-platform.Le compte de service du nœud dispose d'un accès étendu aux Google Cloud services, ce qui permet l'interaction avec l'API pour des tâches telles que la journalisation, la surveillance et l'extraction d'images de conteneurs. La propriété node_config.shielded_instance_config.enable_secure_bootest définie surtrue.Le démarrage sécurisé permet de protéger vos nœuds contre les logiciels malveillants au niveau du démarrage en vérifiant les signatures cryptographiques du chargeur de démarrage et du noyau avant leur exécution.
Configuration du chart Helm
Le tableau suivant répertorie les configurations du chart Helm, qui ont été personnalisées pour déployer et mettre à l'échelle un service d'inférence d'IA sur GKE.
| Configuration | Objectif |
|---|---|
replicaCount: 1 |
Crée une seule réplique initiale. |
image.repository: vllm/vllm-openai |
Utilise une image vLLM, une bibliothèque optimisée pour l'inférence de grands modèles de langage (LLM), exposée à l'aide d'une API compatible avec OpenAI. |
model.id: google/gemma-7b-it |
Définit le modèle Gemma 7B ajusté pour les instructions comme modèle à mettre en service. |
model.hfSecret: hf-secret |
Indique que le modèle nécessite une authentification à l'aide d'un secret Kubernetes pour une gestion sécurisée des identifiants. |
resources.limits et requests pour nvidia.com/gpu: "1" |
Garantit que chaque pod reçoit un GPU dédié. |
nodeSelector.cloud.google.com/gke-accelerator: nvidia-l4 |
Garantit que les pods de votre modèle d'IA sont planifiés exclusivement sur des nœuds GKE Standard équipés de GPU NVIDIA L4, qui sont idéaux pour une inférence économique et hautes performances. |
hpa.enabled: true |
Active l'autoscaler horizontal de pods, qui permet à l'application de mettre automatiquement à l'échelle le nombre de pods (entre minReplicas: 1 et maxReplicas: 10) en fonction de targetCPUUtilizationPercentage: 80%. Assure des performances optimales lors des pics de charge et une efficacité économique en cas de faible utilisation. |
tensorParallelSize: 1 |
Indique que le modèle n'est pas divisé sur plusieurs GPU dans un seul pod. |
maxModelLen: 512 |
Contrôle la longueur maximale de la séquence que le modèle Gemma 7B peut traiter. |
service.type: ClusterIP |
Le service est configuré pour un accès interne au cluster. |
pdb.enabled: true et minAvailable: 1 |
Un budget d'interruptions de pods est activé pour garantir une haute disponibilité. Au moins une réplique de votre modèle d'IA reste disponible lors des interruptions volontaires, comme la maintenance des nœuds. |
Créer votre application d'IA
Utilisez les modèles Cluster GKE d'inférence pré-entraînée pour l'IA et charge de travail pour déployer votre application d'IA.
Déployer votre infrastructure d'IA
Configurez et déployez le modèle Cluster GKE d'inférence pré-entraînée pour l'IA afin de créer l'infrastructure de base sur laquelle s'exécute votre charge de travail d'IA.
Dupliquez et déployez le modèle Cluster GKE d'inférence pré-entraînée pour l'IA en tant qu'application.
Un cluster GKE est créé dans le projet de déploiement que vous choisissez.
Configurez les composants. Pour en savoir plus, consultez les ressources suivantes :
Cliquez sur Déployer. L'application se déploie après quelques minutes.
Dans le panneau Détails de l'application, cliquez sur l'onglet Sorties.
Identifiez le cluster_id de votre application. Vous utiliserez ces informations lorsque vous déploierez votre chart Helm.
Déployer votre charge de travail d'IA
Utilisez le modèle Charge de travail GKE d'inférence pré-entraînée pour l'IA pour déployer votre charge de travail d'IA dans le cluster que vous avez créé. Vous déploierez un chart Helm qui inclut la configuration de votre charge de travail d'IA.
Sur la page Catalogue Google, dans le modèle Charge de travail GKE d'inférence pré-entraînée pour l'IA, cliquez sur Créer une application.
Dans le champ Nom, saisissez un nom unique pour votre application.
Dans la zone Cible de déploiement GKE, procédez comme suit :
Dans la liste des projets, sélectionnez le projet dans lequel vous avez déployé le cluster GKE à partir de votre application Cluster GKE d'inférence pré-entraînée pour l'IA.
Dans la liste Région, sélectionnez la région dans laquelle vous avez déployé le cluster GKE.
Dans la liste Clusters, sélectionnez le cluster GKE déployé.
Dans la liste Espace de noms, saisissez l'espace de noms dans lequel vous avez déployé votre cluster GKE. Si vous n'avez pas modifié le nom, saisissez
default.Cliquez sur Créer une application.
L'application est créée et les fichiers de configuration s'affichent.
Dans le panneau Chart Helm, procédez comme suit :
Vérifiez les détails de la configuration.
Facultatif : personnalisez la configuration en fonction de vos besoins spécifiques.
Pour déployer le chart Helm sur votre cluster, cliquez sur Déployer.
Pour connaître la procédure détaillée, consultez Déployer des applications.
Après quelques minutes, la configuration du chart Helm est déployée sur votre cluster GKE.
Étape suivante
- Dupliquez et personnalisez ce modèle en vous basant sur les modèles Google.
- Définissez vos propres configurations en concevant des modèles d'application.
- Identifiez les bonnes pratiques architecturales générales avec le Google Cloud framework d'architecture.