A propos de l'architecture
L'architecture implique une solution multicloud avec Google Cloud et OCI où GKE orchestre le processus global d'entraînement et d'inférence tout en déchargeant la partie à forte intensité de calcul vers OCI AI Infrastructure à la demande. Les données sont transférées entre les deux clouds et les résultats sont renvoyés à GKE pour traitement ultérieur.
Le schéma suivant illustre l'architecture de référence :
Composants d'architecture
Cette architecture contient les composants suivants :
- Cluster GKE (moteur Google Kubernetes)
Le cluster GKE gère les travaux d'entraînement de modèle en conteneur et soumet les travaux d'entraînement au cluster Kubernetes.
- Définition du travail d'entraînement du modèle
La définition du travail d'entraînement du modèle indique le script d'entraînement, l'emplacement des données (stockage cloud), les paramètres de modèle et le nombre souhaité de noeuds de processus actif.
- Script d'entraînement en conteneur
Un script d'entraînement en conteneur s'exécute sur les noeuds de processus actif, effectuant l'entraînement réel du modèle en utilisant le modèle exécuté sur OCI AI Infrastructure.
- Opérateur Kubernetes (facultatif)
L'opérateur Kubernetes est un paramètre facultatif qui automatise le déploiement et la gestion des travaux de formation sur GKE.
- Stockage cloud
Cloud Storage stocke les données d'entraînement et les artefacts de modèle.
- Surveillance du cloud (facultatif)
La surveillance cloud est un composant facultatif qui surveille le statut des travaux, l'utilisation des ressources et les mesures de formation.
- Résultats du modèle
Les résultats du modèle sont renvoyés à GKE pour évaluation, stockage ou déploiement.
- Domaine de disponibilité
Les domaines de disponibilité sont des centres de données autonomes indépendants au sein d'une région. Les ressources physiques de chaque domaine de disponibilité sont isolées de celles des autres, ce qui garantit la tolérance aux pannes. Les domaines de disponibilité ne partagent ni infrastructure (par exemple, alimentation, système de refroidissement), ni réseau de domaine de disponibilité interne. Par conséquent, une panne sur un domaine de disponibilité ne doit pas affecter les autres domaines de disponibilité de la région.
- FastConnect
Oracle Cloud Infrastructure FastConnect permet de créer facilement une connexion privée dédiée entre le centre de données et Oracle Cloud Infrastructure. FastConnect offre des options de bande passante plus élevée et une expérience réseau plus fiable par rapport aux connexions Internet.
- Région
Une région Oracle Cloud Infrastructure est une zone géographique précise, incluant un ou plusieurs centres de données, appelés domaines de disponibilité. Les régions sont indépendantes les unes des autres et de grandes distances peuvent les séparer (entre pays, voire continents).
- Réseau cloud virtuel (VCN) et sous-réseau
Un VCN est un réseau personnalisable défini par logiciel que vous configurez dans une région Oracle Cloud Infrastructure. Comme les réseaux de centre de données traditionnels, les réseaux cloud virtuels vous donnent le contrôle sur l'environnement réseau. Un réseau cloud virtuel peut comporter plusieurs blocs CIDR qui ne se chevauchent pas et que vous pouvez modifier après l'avoir créé. Vous pouvez segmenter un réseau cloud virtuel en plusieurs sous-réseaux ciblant une région ou un domaine de disponibilité. Chaque sous-réseau est composé d'une plage contiguë d'adresses qui ne chevauchent pas celles des autres sous-réseaux du réseau cloud virtuel. Vous pouvez modifier la taille d'un sous-réseau après sa création. Un sous-réseau peut être public ou privé.
- Compute
Le service Oracle Cloud Infrastructure Compute vous permet de provisionner et de gérer des hôtes de calcul dans le cloud. Vous pouvez lancer des instances de calcul avec des formes qui répondent à vos besoins en ressources pour l'UC, la mémoire, la bande passante réseau et le stockage. Après avoir créé une instance de calcul, vous pouvez y accéder en toute sécurité, la redémarrer, attacher et détacher des volumes, et y mettre fin lorsque vous n'en avez plus besoin.
- Container Engine for Kubernetes
Oracle Cloud Infrastructure Container Engine for Kubernetes (OKE) est un service entièrement géré, évolutif et hautement disponible que vous pouvez utiliser pour déployer vos applications en conteneur vers le cloud. Indiquez les ressources de calcul dont vos applications ont besoin et Container Engine for Kubernetes les fournit sur Oracle Cloud Infrastructure dans une location existante. Container Engine for Kubernetes utilise Kubernetes pour automatiser le déploiement, le redimensionnement et la gestion des applications en conteneur sur des clusters d'hôtes.
- Oracle Interconnect for Google Cloud
Oracle Interconnect for Google Cloud est un service d'interconnexion privé dédié combinant les connexions de partenaires OCI FastConnect et Google Cloud Partner Interconnects qui aide les clients multicloud à innover sur deux clouds et à appliquer des outils existants et familiers pour prendre en charge les charges de travail.
Flux de communication
Dans cette architecture, le trafic de données circule ainsi :
- Les clients soumettent une définition de travail d'entraînement de modèle via GKE.
- La définition du travail indique le script de formation en conteneur, l'emplacement des données et les noeuds de processus actif souhaités.
- Les noeuds de processus actif extraient le script de formation et les données du stockage cloud. Le script d'entraînement tire parti des GPU exécutés sur OCI AI Infrastructure pour entraîner le modèle.
- Les résultats de la formation sont téléchargés vers Cloud Storage ou renvoyés à GKE pour traitement ultérieur.
- La surveillance cloud facultative collecte les métriques du travail de formation pour l'analyse des performances.
Cas d'utilisation d'inférence supplémentaires
Outre le cas d'utilisation décrit ci-dessus, cette architecture prend également en charge deux cas d'utilisation d'inférence :
- Inférence en temps réel avec des exigences de faible latence.
- Inférence de batch pour les jeux de données volumineux.
Inférence en temps réel avec des exigences de faible latence
Dans ce cas d'utilisation, les clients ont besoin de réponses immédiates du modèle de LLM pour des applications telles que les chatbots, les assistants virtuels ou la traduction en temps réel. La solution conçoit le flux de données suivant :
- L'entrée utilisateur est envoyée à l'environnement GKE en cours d'exécution sur GCP.
- GKE orchestre la demande auprès de l'infrastructure d'IA OCI.
- OCI AI Infrastructure traite l'entrée à l'aide du modèle de LLM déployé.
- Les résultats d'inférence sont renvoyés à GKE.
- GKE formate et envoie la réponse à l'utilisateur.
- Il fournit une faible inférence de latence grâce à Oracle Interconnect for Google Cloud, ce qui réduit la proximité de l'infrastructure d'inférence avec l'application.
- Elle dispose d'une évolutivité suffisante pour gérer les charges d'inférence variables via les fonctionnalités élastiques d'OCI AI Infrastructure.
- Il offre des économies potentielles en optimisant le matériel et les logiciels d'inférence.
Inférence de lot pour les jeux de données volumineux
Dans ce cas, les clients doivent traiter d'importants volumes de données via le modèle LLM en mode batch, comme l'analyse des sentiments sur un ensemble de données volumineux ou la génération de récapitulatifs pour un grand nombre de documents. Vous pouvez résoudre ce problème en implémentant ce flux de données :
- Les données sont préparées et stockées dans un bucket de stockage Google Cloud.
- Un traitement batch est lancé dans GKE, déclenché par un planificateur cloud ou des fonctions cloud.
- GKE orchestre le transfert des données vers l'infrastructure d'IA OCI.
- OCI AI Infrastructure traite les données par lots à l'aide du modèle de LLM.
- Les résultats d'inférence sont stockés dans un bucket de stockage Google Cloud.
- Le post-traitement, si nécessaire, est effectué dans GKE.
- Il fournit un traitement rentable de grands ensembles de données en tirant parti de la puissance de calcul d'OCI AI Infrastructure.
- Il offre des performances améliorées par rapport à l'inférence de fonctionnement sur GKE seul.
- Il a la capacité de gérer divers formats et tailles de données.