Utilisez des modèles de base d'IA générative en mode VPC sans connexion Internet à l'aide d'Amazon SageMaker JumpStart | Services Web Amazon

Utilisez des modèles de base d'IA générative en mode VPC sans connexion Internet à l'aide d'Amazon SageMaker JumpStart | Services Web Amazon

Avec les progrès récents dans IA générative, de nombreuses discussions ont lieu sur la manière d'utiliser l'IA générative dans différents secteurs pour résoudre des problèmes commerciaux spécifiques. L'IA générative est un type d'IA qui peut créer de nouveaux contenus et idées, notamment des conversations, des histoires, des images, des vidéos et de la musique. Tout est soutenu par de très grands modèles qui sont pré-formés sur de grandes quantités de données et communément appelés modèles de fondation (FM). Ces FM peuvent effectuer un large éventail de tâches couvrant plusieurs domaines, comme écrire des articles de blog, générer des images, résoudre des problèmes mathématiques, engager un dialogue et répondre à des questions basées sur un document. La taille et la nature polyvalente des FM les différencient des modèles ML traditionnels, qui effectuent généralement des tâches spécifiques, telles que l'analyse du texte pour le sentiment, la classification des images et la prévision des tendances.

Alors que les organisations cherchent à utiliser la puissance de ces FM, elles souhaitent également que les solutions basées sur la FM fonctionnent dans leurs propres environnements protégés. Les organisations opérant dans des espaces fortement réglementés tels que les services financiers mondiaux, les soins de santé et les sciences de la vie ont des exigences auditives et de conformité pour gérer leur environnement dans leurs VPC. En fait, souvent, même l'accès direct à Internet est désactivé dans ces environnements pour éviter toute exposition à tout trafic involontaire, à la fois entrant et sortant.

Amazon SageMaker JumpStart est un hub ML proposant des algorithmes, des modèles et des solutions ML. Avec SageMaker JumpStart, les praticiens du ML peuvent choisir parmi une liste croissante de FM open source les plus performants. Il offre également la possibilité de déployer ces modèles dans votre propre Cloud privé virtuel (VPC).

Dans cet article, nous montrons comment utiliser JumpStart pour déployer un Flan-T5 XXL modèle dans un VPC sans connectivité Internet. Nous abordons les sujets suivants :

  • Comment déployer un modèle de base à l'aide de SageMaker JumpStart dans un VPC sans accès Internet
  • Avantages du déploiement de FM via les modèles SageMaker JumpStart en mode VPC
  • Autres moyens de personnaliser le déploiement des modèles de base via JumpStart

Outre le FLAN-T5 XXL, JumpStart propose de nombreux modèles de base différents pour diverses tâches. Pour la liste complète, consultez Premiers pas avec Amazon SageMaker JumpStart.

Vue d'ensemble de la solution

Dans le cadre de la solution, nous couvrons les étapes suivantes :

  1. Configurez un VPC sans connexion Internet.
  2. Mettre en place Amazon SageMakerStudio en utilisant le VPC que nous avons créé.
  3. Déployez le modèle de base AI Flan T5-XXL génératif à l'aide de JumpStart dans le VPC sans accès Internet.

Voici un schéma d'architecture de la solution.

sol-voûte

Passons en revue les différentes étapes pour implémenter cette solution.

Pré-requis

Pour suivre cet article, vous avez besoin des éléments suivants :

Configurer un VPC sans connexion Internet

Créer une nouvelle pile CloudFormation En utilisant le 01_networking.yaml modèle. Ce modèle crée un nouveau VPC et ajoute deux sous-réseaux privés sur deux zones de disponibilité sans connectivité Internet. Il déploie ensuite des points de terminaison de VPC de passerelle pour accéder Service de stockage simple Amazon (Amazon S3) et des points de terminaison VPC d'interface pour SageMaker et quelques autres services pour permettre aux ressources du VPC de se connecter aux services AWS via Lien privé AWS.

Indiquez un nom de pile, tel que No-Internet, et terminez le processus de création de la pile.

vpc-pile-entrée

Cette solution n'est pas hautement disponible, car le modèle CloudFormation crée des points de terminaison de VPC d'interface uniquement dans un sous-réseau pour réduire les coûts lorsque vous suivez les étapes de cet article.

Configurer Studio à l'aide du VPC

Créez une autre pile CloudFormation à l'aide de 02_sagemaker_studio.yaml, qui crée un domaine Studio, un profil utilisateur Studio et des ressources de prise en charge telles que les rôles IAM. Choisissez un nom pour la pile ; pour ce poste, nous utilisons le nom SageMaker-Studio-VPC-No-Internet. Indiquez le nom de la pile VPC que vous avez créée précédemment (No-Internet) comme CoreNetworkingStackName paramètre et laissez tout le reste par défaut.

studio-cfn-pile-entrée

Attendez qu'AWS CloudFormation signale que la création de la pile est terminée. Vous pouvez confirmer que le domaine Studio est disponible pour être utilisé sur la console SageMaker.

domaine-home

Pour vérifier que l'utilisateur du domaine Studio n'a pas accès à Internet, lancer Studio à l'aide de la console SageMaker. Choisir Déposez votre dernière attestation , Nouveautéet une terminal, puis tentez d'accéder à une ressource Internet. Comme le montre la capture d'écran suivante, le terminal continuera d'attendre la ressource et finira par expirer.

studio-terminal

Cela prouve que Studio fonctionne dans un VPC qui n'a pas accès à Internet.

Déployez le modèle de base d'IA générative Flan T5-XXL à l'aide de JumpStart

Nous pouvons déployer ce modèle via Studio ainsi que via API. JumpStart fournit tout le code pour déployer le modèle via un notebook SageMaker accessible depuis Studio. Pour cet article, nous présentons cette fonctionnalité du Studio.

  • Sur la page d'accueil de Studio, choisissez Début de saut sous Solutions prédéfinies et automatisées.

page d'accueil du studio

  • Choisissez le modèle Flan-T5 XXL sous Modèles de fondation.

js-modèle-hub

  • Par défaut, il ouvre le Déployer languette. Élargir la Configuration du déploiement section pour modifier la hosting instance et les endpoint name, ou ajoutez des balises supplémentaires. Il y a aussi une option pour changer le S3 bucket location où l'artefact de modèle sera stocké pour créer le point de terminaison. Pour cet article, nous laissons tout à ses valeurs par défaut. Notez le nom du point de terminaison à utiliser lors de l'appel du point de terminaison pour effectuer des prédictions.

déployer-js

  • Élargir la Paramètres de sécurité section, où vous pouvez spécifier le IAM role pour créer le point de terminaison. Vous pouvez également spécifier le VPC configurations en fournissant le subnets et les security groups. Les ID de sous-réseau et les ID de groupe de sécurité sont disponibles dans l'onglet Sorties de la pile VPC sur la console AWS CloudFormation. SageMaker JumpStart nécessite au moins deux sous-réseaux dans le cadre de cette configuration. Les sous-réseaux et les groupes de sécurité contrôlent l'accès vers et depuis le conteneur de modèles.

js-deploy-paramètres-de-sécurité

REMARQUE: que le modèle SageMaker JumpStart soit déployé ou non dans le VPC, le modèle s'exécute toujours en mode d'isolation réseau, qui isole le conteneur de modèle afin qu'aucun appel réseau entrant ou sortant ne puisse être effectué vers ou depuis le conteneur de modèle. Étant donné que nous utilisons un VPC, SageMaker télécharge l'artefact de modèle via notre VPC spécifié. L'exécution du conteneur de modèle en isolation réseau n'empêche pas votre point de terminaison SageMaker de répondre aux demandes d'inférence. Un processus serveur s'exécute parallèlement au conteneur de modèle et lui transmet les demandes d'inférence, mais le conteneur de modèle n'a pas accès au réseau.

  • Selectionnez Déployer pour déployer le modèle. Nous pouvons voir l'état en temps quasi réel de la création du point de terminaison en cours. La création du point de terminaison peut prendre 5 à 10 minutes.

js-deploy-progrès

Observez la valeur du champ Emplacement des données du modèle sur cette page. Tous les modèles SageMaker JumpStart sont hébergés sur un compartiment S3 géré par SageMaker (s3://jumpstart-cache-prod-{region}). Par conséquent, quel que soit le modèle sélectionné dans JumpStart, le modèle est déployé à partir du compartiment SageMaker JumpStart S3 accessible au public et le trafic ne va jamais vers les API du zoo de modèles publics pour télécharger le modèle. C'est pourquoi la création du point de terminaison du modèle a démarré avec succès même lorsque nous créons le point de terminaison dans un VPC qui n'a pas d'accès direct à Internet.

L'artefact de modèle peut également être copié dans n'importe quel zoo de modèles privé ou dans votre propre compartiment S3 pour contrôler et sécuriser davantage l'emplacement de la source du modèle. Vous pouvez utiliser la commande suivante pour télécharger le modèle localement à l'aide du Interface de ligne de commande AWS (AWS CLI) :

aws s3 cp s3://jumpstart-cache-prod-eu-west-1/huggingface-infer/prepack/v1.0.2/infer-prepack-huggingface-text2text-flan-t5-xxl.tar.gz .
  • Après quelques minutes, le point de terminaison est créé avec succès et affiche l'état comme En service. Choisir Open Notebook dans le Use Endpoint from Studio section. Il s'agit d'un exemple de bloc-notes fourni dans le cadre de l'expérience JumpStart pour tester rapidement le point de terminaison.

jumpstart-deploy-complete

  • Dans le cahier, choisissez l'image comme Science des données 3.0 et le noyau comme Python 3. Lorsque le noyau est prêt, vous pouvez exécuter les cellules du bloc-notes pour faire des prédictions sur le point de terminaison. Notez que le notebook utilise le invoquer_endpoint() API de la AWS SDK pour Python pour faire des pronostics. Alternativement, vous pouvez utiliser le Predict () du SDK Python SageMaker méthode pour arriver au même résultat.

exécuter-déployer-notebook-jumpstart

Ceci conclut les étapes de déploiement du modèle Flan-T5 XXL à l'aide de JumpStart dans un VPC sans accès Internet.

Avantages du déploiement des modèles SageMaker JumpStart en mode VPC

Voici quelques-uns des avantages du déploiement des modèles SageMaker JumpStart en mode VPC :

  • Étant donné que SageMaker JumpStart ne télécharge pas les modèles à partir d'un zoo de modèles publics, il peut également être utilisé dans des environnements entièrement verrouillés lorsqu'il n'y a pas d'accès à Internet
  • Étant donné que l'accès au réseau peut être limité et réduit pour les modèles SageMaker JumpStart, cela aide les équipes à améliorer la posture de sécurité de l'environnement
  • En raison des limites du VPC, l'accès au point de terminaison peut également être limité via des sous-réseaux et des groupes de sécurité, ce qui ajoute une couche de sécurité supplémentaire

Autres moyens de personnaliser le déploiement des modèles de base via SageMaker JumpStart

Dans cette section, nous partageons d'autres façons de déployer le modèle.

Utilisez les API SageMaker JumpStart à partir de votre IDE préféré

Les modèles fournis par SageMaker JumpStart ne nécessitent pas que vous accédiez à Studio. Vous pouvez les déployer sur les terminaux SageMaker à partir de n'importe quel IDE, grâce au API JumpStart. Vous pouvez ignorer l'étape de configuration de Studio décrite plus haut dans cet article et utiliser les API JumpStart pour déployer le modèle. Ces API fournissent des arguments où les configurations VPC peuvent également être fournies. Les API font partie du Kit de développement logiciel (SDK) SageMaker Python lui-même. Pour plus d'informations, reportez-vous à Modèles pré-formés.

Utilisez les blocs-notes fournis par SageMaker JumpStart de SageMaker Studio

SageMaker JumpStart fournit également des notebooks pour déployer le modèle directement. Sur la page de détail du modèle, choisissez Cahier ouvert pour ouvrir un exemple de bloc-notes contenant le code permettant de déployer le point de terminaison. Le cahier utilise API sectorielles SageMaker JumpStart qui vous permettent de répertorier et de filtrer les modèles, de récupérer les artefacts, de déployer et d'interroger les points de terminaison. Vous pouvez également modifier le code du bloc-notes en fonction des exigences spécifiques à votre cas d'utilisation.

carnet de démarrage ouvert

Nettoyer les ressources

Jetez un coup d'œil au NETTOYAGE.md pour trouver les étapes détaillées de suppression du Studio, du VPC et des autres ressources créées dans le cadre de cet article.

Dépannage

Si vous rencontrez des problèmes lors de la création des piles CloudFormation, reportez-vous à Dépannage de CloudFormation.

Conclusion

L'IA générative alimentée par de grands modèles de langage modifie la façon dont les gens acquièrent et appliquent des informations à partir d'informations. Cependant, les organisations opérant dans des espaces fortement réglementés sont tenues d'utiliser les capacités d'IA générative d'une manière qui leur permet d'innover plus rapidement, mais simplifie également les modèles d'accès à ces capacités.

Nous vous encourageons à essayer l'approche proposée dans cet article pour intégrer des capacités d'IA générative dans votre environnement existant tout en le conservant dans votre propre VPC sans accès à Internet. Pour en savoir plus sur les modèles de base SageMaker JumpStart, consultez les éléments suivants :


À propos des auteurs

Utilisez des modèles de base d'IA génératifs en mode VPC sans connectivité Internet à l'aide d'Amazon SageMaker JumpStart | Amazon Web Services PlatoBlockchain Data Intelligence. Recherche verticale. Aï.Vikesh Pandey est un architecte de solutions spécialiste de l'apprentissage automatique chez AWS, aidant les clients des industries financières à concevoir et à créer des solutions sur l'IA générative et le ML. En dehors du travail, Vikesh aime essayer différentes cuisines et pratiquer des sports de plein air.

Utilisez des modèles de base d'IA génératifs en mode VPC sans connectivité Internet à l'aide d'Amazon SageMaker JumpStart | Amazon Web Services PlatoBlockchain Data Intelligence. Recherche verticale. Aï. Mehran Nikoo est architecte de solutions senior chez AWS, travaillant avec des entreprises numériques natives au Royaume-Uni et les aidant à atteindre leurs objectifs. Passionné par l'application de son expérience en génie logiciel à l'apprentissage automatique, il se spécialise dans l'apprentissage automatique de bout en bout et les pratiques MLOps.

Horodatage:

Plus de Apprentissage automatique AWS