La passerelle d'inférence multicluster Google Kubernetes Engine (GKE) équilibre la charge de vos charges de travail d'inférence d'IA/ML sur plusieurs clusters GKE. Il intègre les passerelles multiclusters GKE pour le routage du trafic entre clusters avec Inference Gateway pour le service de modèles d'IA/de ML. Cette intégration améliore l'évolutivité et la haute disponibilité de vos déploiements. Ce document explique les concepts et les avantages de base de la passerelle.
Pour savoir comment déployer GKE Inference Gateway multicluster, consultez Configurer GKE Inference Gateway multicluster.
Pour comprendre ce document, vous devez connaître les éléments suivants :
- Orchestration d'IA/ML sur GKE
- Terminologie de l'IA générative
- Concepts de mise en réseau GKE, y compris les services, la passerelle multiclasse GKE et l'API Gateway.
- Équilibrage de charge dansGoogle Cloud, en particulier l'interaction des équilibreurs de charge avec GKE.
Ce document s'adresse aux personas suivants :
- Ingénieurs en machine learning (ML), administrateurs et opérateurs de plate-forme, et spécialistes des données et de l'IA qui souhaitent utiliser les fonctionnalités d'orchestration de conteneurs Kubernetes pour diffuser des charges de travail d'IA/ML.
- Architectes cloud ou spécialistes de la mise en réseau qui interagissent avec la mise en réseau Kubernetes.
Pour en savoir plus sur les rôles courants et les exemples de tâches que nous citons dans le contenuGoogle Cloud , consultez Rôles utilisateur et tâches courantes de l'utilisateur dans GKE Enterprise.
Avantages de la passerelle d'inférence multicluster GKE
La passerelle d'inférence multicluster GKE offre plusieurs avantages pour la gestion de vos charges de travail d'inférence d'IA/ML, y compris les suivants :
- Améliore la haute disponibilité et la tolérance aux pannes grâce à un équilibrage de charge intelligent sur plusieurs clusters GKE, même dans différentes régions géographiques. Vos charges de travail d'inférence restent disponibles, et le système redirige automatiquement les requêtes si un cluster ou une région rencontrent des problèmes, ce qui minimise les temps d'arrêt.
- Améliore l'évolutivité et optimise l'utilisation des ressources en regroupant les ressources GPU et TPU de différents clusters pour faire face à l'augmentation de la demande. Ce regroupement permet à vos charges de travail de dépasser la capacité d'un seul cluster et d'utiliser efficacement les ressources disponibles dans votre parc.
- Maximise les performances grâce à un routage optimisé à l'échelle mondiale. La passerelle utilise des métriques avancées, telles que l'utilisation du cache clé/valeur (KV) de tous les clusters, pour prendre des décisions de routage efficaces. Cette approche permet de s'assurer que les requêtes sont envoyées au cluster le mieux équipé pour les traiter, ce qui maximise les performances globales de votre parc d'inférence d'IA/ML.
Limites
La passerelle d'inférence multicluster GKE présente les limites suivantes :
Intégration de Model Armor : la passerelle d'inférence multiclusters GKE n'est pas compatible avec l'intégration de Model Armor.
Rapports sur la latence du proxy Envoy : le proxy Envoy ne signale la latence des requêtes que pour les requêtes réussies (
2xx). Il ignore les erreurs et les délais d'expiration. Ce comportement peut amener l'équilibreur de charge de serveur global (GSLB) à sous-estimer la charge réelle sur les backends en échec, ce qui peut entraîner une augmentation du trafic vers des services déjà surchargés. Pour résoudre ce problème, configurez un délai avant expiration de la requête plus long. Par exemple, une valeur de600sest recommandée.
Composants clés
La passerelle d'inférence multicluster GKE utilise plusieurs ressources personnalisées Kubernetes pour gérer les charges de travail d'inférence et le routage du trafic :
InferencePool: regroupe les backends de serveur de modèle identiques dans votre cluster cible. Cette ressource simplifie la gestion et le scaling de vos instances de diffusion de modèles.InferenceObjective: définit les priorités de routage pour des modèles spécifiques dans unInferencePool. Ce routage permet de s'assurer que certains modèles reçoivent une préférence de trafic en fonction de vos besoins.GCPInferencePoolImport: rend vos backends de modèle disponibles pour la configuration du routage en utilisantHTTPRoutedans le cluster de configuration. Cette ressource est automatiquement créée dans votre cluster de configuration lorsque vous exportez unInferencePoolà partir d'un cluster cible. Le cluster de configuration sert de point de contrôle central pour votre environnement multicluster.GCPBackendPolicy: personnalise la manière dont le trafic est équilibré vers vos backends. Par exemple, vous pouvez activer l'équilibrage de charge en fonction de métriques personnalisées ou définir des limites sur les requêtes en cours par point de terminaison pour protéger vos serveurs de modèles.AutoscalingMetric: définit des métriques personnalisées, telles quevllm:kv_cache_usage_perc, à exporter à partir de vos serveurs de modèles. Vous pouvez ensuite utiliser ces métriques dansGCPBackendPolicypour prendre des décisions plus intelligentes en matière d'équilibrage de charge, et optimiser les performances et l'utilisation des ressources.
Fonctionnement de la passerelle d'inférence multicluster GKE
La passerelle d'inférence multicluster GKE gère et achemine le trafic vers vos modèles d'IA/ML déployés sur plusieurs clusters GKE. Elle fonctionne comme suit :
- Gestion centralisée du trafic : un cluster de configuration dédié définit vos règles de routage du trafic. Le cluster de configuration sert de point de contrôle central pour votre environnement multicluster. Vous désignez un cluster GKE comme cluster de configuration lorsque vous activez l'objet Ingress multicluster pour votre parc. Cette approche centralisée vous permet de gérer la façon dont les requêtes sont dirigées vers vos modèles dans l'ensemble de votre parc de clusters GKE depuis un seul endroit.
- Déploiement flexible des modèles : vos modèles d'IA/de ML s'exécutent dans des clusters cibles distincts. Cette séparation vous permet de déployer des modèles là où cela a le plus de sens (par exemple, plus près des données ou des clusters avec du matériel spécifique).
- Intégration facile des modèles : lorsque vous déployez un modèle dans un cluster cible, vous regroupez ses instances de diffusion à l'aide d'un
InferencePool. L'exportation de ceInferencePoolle rend automatiquement disponible pour le routage dans votre cluster de configuration. - Équilibrage de charge intelligent : la passerelle ne se contente pas de distribuer le trafic, elle prend des décisions de routage intelligentes. En le configurant pour qu'il utilise divers signaux, y compris des métriques personnalisées provenant de vos serveurs de modèles, la passerelle permet de s'assurer que les requêtes entrantes sont envoyées au cluster ou à l'instance de modèle les mieux équipés, ce qui peut maximiser les performances et l'utilisation des ressources. Par exemple, vous pouvez acheminer les requêtes vers le cluster disposant de la plus grande capacité d'inférence disponible en fonction de métriques telles que l'utilisation du cache clé-valeur (KV).
Étapes suivantes
- Pour déployer la passerelle, consultez Configurer la passerelle d'inférence multicluster GKE.
- Pour savoir comment utiliser le champ
scopesdans la ressourceGCPBackendPolicy, consultez Personnaliser les configurations de backend avec desGCPBackendPolicy.