Exécuter des solutions d'IA sur Cloud Run

Ce guide présente l'utilisation de Cloud Run pour héberger des applications, exécuter des inférences et créer des workflows d'IA.

Cloud Run pour héberger des applications d'IA, des agents et des points de terminaison d'API évolutifs

Cloud Run fournit une plate-forme entièrement gérée qui met à l'échelle vos applications et charges de travail d'IA.

Lorsque vous hébergez des applications d'IA sur Cloud Run, vous disposez généralement des composants architecturaux suivants :

  • Diffusion et orchestration : vous déployez le code ou le conteneur de votre application sur Cloud Run.
  • Modèles d'IA : vous utilisez les modèles d'IA de Google, des modèles Open Source ou des modèles personnalisés avec votre application.
  • Intégrations : vous pouvez vous connecter à des services Google Cloud ou à des services tiers pour la mémoire, les bases de données, le stockage, la sécurité et plus encore.
  • Outils : vous pouvez vous connecter à des outils pour d'autres tâches et opérations.

Le schéma suivant présente une vue d'ensemble de l'utilisation de Cloud Run comme plate-forme d'hébergement pour les applications d'IA :

Voici les quatre composants d'une application d'IA hébergée sur Cloud Run :
    1. Diffusion et orchestration, 2. Modèles d'IA, 3. Intégrations, 4. grâce aux outils d'analyse ;
Figure 1. Composants d'une application d'IA hébergée sur Cloud Run.

Comme le montre le schéma :

  1. Dans la couche de diffusion et d'orchestration, un service Cloud Run sert de point de terminaison d'API évolutif pour la logique principale de votre application. Il gère efficacement plusieurs utilisateurs simultanés grâce à un scaling automatique, à la demande et rapide des instances.

    Vous apportez votre conteneur à déployer sur Cloud Run. Vous pouvez empaqueter votre application et sa dépendance dans un conteneur, ou fournir votre code source et laisser Cloud Run compiler automatiquement votre code dans un conteneur pour le déploiement. Pour les déploiements de code source, vous pouvez utiliser n'importe quel langage, framework Open Source ou SDK pour créer vos applications d'IA.

  2. Votre application d'IA sert de point de terminaison d'API évolutif qui gère les requêtes entrantes et envoie les données à un modèle d'IA préentraîné pour traitement, puis renvoie les résultats.

    Cloud Run est intégré aux modèles de Google, tels que les modèles Gemini et Vertex AI, et peut s'intégrer aux modèles Open Source, comme Llama et Gemma. Si vous disposez d'un modèle personnalisé que vous avez entraîné vous-même, vous pouvez également l'utiliser avec votre ressource Cloud Run.

  3. Google Cloud propose une grande variété de solutions pour prendre en charge l'infrastructure de votre application d'IA. Voici quelques Google Cloud intégrations qui fonctionnent bien avec votre application d'IA :

    • Mémoire et bases de données
      • Court terme
        • Memorystore est un service de mise en cache et de gestion des données temporaires à accès élevé. Il fournit un cache externe et rapide pour le stockage de données à court terme.
      • Long terme
        • AlloyDB pour PostgreSQL est une base de données compatible avec PostgreSQL conçue pour les charges de travail transactionnelles et analytiques exigeantes. Il offre une génération d'embeddings vectoriels intégrée et un index vectoriel à haute vitesse, ce qui le rend rapide pour la recherche sémantique par rapport à l'implémentation pgvector standard.
        • Cloud SQL est un service de base de données relationnelle pour MySQL, PostgreSQL et SQL Server. Il peut également servir de magasin de vecteurs avec l'extension pgvector pour PostgreSQL.
        • Firestore est un service de base de données de documents NoSQL évolutif qui inclut des fonctionnalités de recherche vectorielle intégrées.
    • Stockage
      • Cloud Storage est une solution de stockage d'objets permettant de stocker de grands ensembles de données pour l'entraînement de modèles, des fichiers d'entrée/de sortie pour votre application ou des artefacts de modèle.
    • Sécurité
      • Secret Manager est un service de gestion des secrets et des identifiants qui fournit un moyen sécurisé et centralisé de stocker des données sensibles telles que les clés API, les mots de passe et les identifiants, qui sont souvent nécessaires aux applications d'IA pour interagir avec des services externes.

    Pour en savoir plus, consultez Se connecter aux services Google Cloud .

  4. Les outils permettent à vos applications et modèles d'IA d'interagir avec des services, des API ou des sites Web qui s'exécutent en externe ou sur Cloud Run.

    Par exemple, si votre application d'IA est un agent d'IA, votre agent peut envoyer une requête à un serveur MCP pour exécuter un outil externe ou utiliser des outils s'exécutant dans votre conteneur, comme l'exécution de code, l'utilisation de l'ordinateur, la récupération d'informations, etc.

Héberger des modèles sur Cloud Run pour l'inférence d'IA

En plus de créer des applications et des agents qui utilisent un grand modèle de langage (LLM), vous pouvez également activer les GPU avec Cloud Run pour exécuter des modèles pré-entraînés ou personnalisés auto-déployés pour l'inférence d'IA.

Les GPU Cloud Run permettent de gérer le grand nombre d'opérations nécessaires à l'exécution de tâches de calcul intensives pour les charges de travail d'inférence d'IA. Déployez des modèles d'IA en tant qu'images de conteneur ou à partir du code source, et utilisez différentes méthodes pour déployer vos ressources Cloud Run.

Étapes suivantes