À propos de l'architecture

L'architecture implique une solution multinuage avec Google Cloud et OCI où GKE orchestre le processus global de formation et d'inférence tout en déchargeant la partie intensive en calcul de l'infrastructure d'IA OCI sur demande. Les données sont transférées entre les deux nuages et les résultats sont retournés à GKE pour traitement ultérieur.

Le diagramme suivant illustre l'architecture de référence :


Description de gke-oci.png
Description de l'illustration gke-oci.png

gke-oci-oracle.zip

Composants d'architecture

Cette architecture contient les composants suivants :

  • Grappe GKE (moteur Google Kubernetes)

    La grappe GKE gère les tâches d'entraînement de modèle conteneurisé et soumet les tâches d'entraînement à la grappe Kubernetes.

  • Définition de la tâche d'entraînement du modèle

    La définition de tâche d'entraînement de modèle spécifie le script d'entraînement, l'emplacement des données (stockage en nuage), les paramètres de modèle et le nombre souhaité de noeuds de travail.

  • Script d'entraînement conteneurisé

    Un script d'entraînement conteneurisé s'exécute sur les noeuds de travail, effectuant l'entraînement du modèle réel à l'aide du modèle s'exécutant sur l'infrastructure d'intelligence artificielle pour OCI.

  • Opérateur Kubernetes (facultatif)

    L'opérateur Kubernetes est un paramètre facultatif qui automatise le déploiement et la gestion des tâches de formation sur GKE.

  • Stock en nuage

    Cloud Storage stocke les données d'entraînement et les artefacts de modèle.

  • Surveillance en nuage (facultatif)

    Cloud Monitoring est un composant facultatif qui surveille le statut des tâches, 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 indépendants et autonomes dans une région. Les ressources physiques de chaque domaine de disponibilité sont isolées des ressources des autres domaines de disponibilité, ce qui garantit la tolérance aux pannes. Les domaines de disponibilité ne partagent pas les éléments d'infrastructure (alimentation ou refroidissement, par exemple) ni le réseau de domaines de disponibilité interne. Par conséquent, une défaillance d'un domaine de disponibilité ne devrait pas affecter les autres domaines de disponibilité de la région.

  • FastConnect

    Oracle Cloud Infrastructure FastConnect offre un moyen facile de créer une connexion privée dédiée entre votre centre de données et Oracle Cloud Infrastructure. FastConnect fournit des options de bande passante supérieure et permet une utilisation du réseau plus fiable que les connexions Internet.

  • Région

    Une région Oracle Cloud Infrastructure est une zone géographique localisée qui contient 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 (dans différents pays ou continents).

  • Réseau en nuage virtuel (VCN) et sous-réseau

    Un VCN est un réseau défini par logiciel personnalisable que vous avez configuré dans une région Oracle Cloud Infrastructure. Comme les réseaux en nuage virtuels traditionnels, ils vous offrent un contrôle sur votre environnement de réseau. Un VCN peut disposer de plusieurs blocs CIDR sans chevauchement que vous pouvez modifier après avoir créé le VCN. Vous pouvez segmenter un VCN en sous-réseaux, dont la portée peut concerner une région ou un domaine de disponibilité. Un sous-réseau est constitué d'un intervalle contigu d'adresses qui ne chevauchent pas les autres sous-réseaux dans le réseau en nuage 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é.

  • Calcul

    Le service Calcul pour Oracle Cloud Infrastructure permet de provisionner et de gérer des hôtes pour les calculs dans le nuage. Vous pouvez lancer des instances de calcul avec des formes qui répondent à vos besoins en ressources d'UC, de mémoire, de bande passante de réseau et de 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 pour 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 conteneurisées dans le nuage. Vous indiquez les ressources de calcul dont vos applications ont besoin et Container Engine pour Kubernetes les provisionne sur Oracle Cloud Infrastructure dans une location existante. Container Engine pour Kubernetes utilise Kubernetes pour automatiser le déploiement, l'évolutivité et la gestion des applications en conteneurs dans des grappes d'hôtes.

  • Oracle Interconnect for Google Cloud

    Oracle Interconnect for Google Cloud est un service d'interconnexion privé dédié combinant les connexions des partenaires d'OCI FastConnect et les interconnexions de partenaires de Google Cloud qui aide les clients multinuages à innover dans deux nuages et à appliquer des outils familiers et existants pour prendre en charge les charges de travail.

Flux de communication

Dans cette architecture, le trafic de données circule ainsi :

  1. Les clients soumettent une définition de travail d'entraînement de modèle via GKE.
  2. La définition de travail spécifie le script d'entraînement conteneurisé, l'emplacement des données et les noeuds de travail désirés.
  3. Les noeuds de travail extraient le script d'entraînement et les données du stockage en nuage. Le script d'entraînement tire parti des processeurs graphiques exécutés sur l'infrastructure d'intelligence artificielle pour OCI pour entraîner le modèle.
  4. Les résultats de formation sont chargés dans le stockage en nuage ou renvoyés à GKE pour traitement ultérieur.
  5. Le service de surveillance en nuage facultatif collecte des mesures à partir de la tâche de formation pour l'analyse de la performance.

Cas d'utilisation d'inférence supplémentaires

En plus du 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 par lots 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 LLM pour des applications telles que les agents conversationnels, les assistants virtuels ou la traduction en temps réel. La solution conçoit le flux de données suivant :

  1. L'entrée utilisateur est envoyée à l'environnement GKE qui s'exécute sur GCP.
  2. GKE orchestre la demande à l'infrastructure d'IA OCI.
  3. OCI AI Infrastructure traite l'entrée à l'aide du modèle LLM déployé.
  4. Les résultats d'inférence sont retournés à GKE.
  5. GKE formate et envoie la réponse à l'utilisateur.
Les avantages de cette solution sont triple :
  • Il offre une faible inférence de latence grâce à Oracle Interconnect for Google Cloud, qui réduit la proximité de l'infrastructure d'inférence avec l'application.
  • Il dispose d'une extensibilité suffisante pour gérer des charges d'inférence variables grâce aux capacité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 de grands volumes de données via le modèle LLM en mode batch, tels que l'analyse de sentiments sur un jeu de données massif ou la génération de sommaires pour un grand corpus de documents. Vous pouvez résoudre ce cas en mettant en oeuvre ce flux de données :

  1. Les données sont préparées et stockées dans un seau de stockage Google Cloud.
  2. Une tâche par lots est lancée dans GKE, déclenchée par un planificateur de nuage ou des fonctions de nuage.
  3. GKE orchestre le transfert de données vers l'infrastructure d'IA OCI.
  4. OCI AI Infrastructure traite les données par lots à l'aide du modèle LLM.
  5. Les résultats d'inférence sont stockés dans un seau de stockage Google Cloud.
  6. Le post-traitement, si nécessaire, est effectué dans GKE.
Les avantages de cette solution sont triple :
  • Il permet un traitement rentable de jeux de données volumineux en tirant parti de la puissance de calcul de l'infrastructure OCI AI.
  • Il offre des performances améliorées par rapport à l'inférence en cours d'exécution sur GKE seul.
  • Il peut gérer divers formats et tailles de données.