Avec l'avènement des réseaux mobiles 5G à haut débit, les entreprises sont plus facilement positionnées que jamais avec la possibilité d'exploiter la convergence des réseaux de télécommunications et du cloud. En tant que l'un des cas d'utilisation les plus importants à ce jour, l'apprentissage automatique (ML) à la périphérie a permis aux entreprises de déployer des modèles ML plus près de leurs clients finaux afin de réduire la latence et d'augmenter la réactivité de leurs applications. Par exemple, solutions de salles intelligentes peut utiliser la vision par ordinateur en temps quasi réel pour l'analyse des foules sur les réseaux 5G, tout en minimisant l'investissement dans l'équipement de mise en réseau matériel sur site. Les détaillants peuvent offrir des expériences plus fluides lors de leurs déplacements grâce au traitement du langage naturel (NLP), aux systèmes de recommandation en temps réel et à la détection des fraudes. Même robotique terrestre et aérienne peut utiliser ML pour débloquer des opérations plus sûres et plus autonomes.
Pour réduire la barrière à l'entrée du ML à la périphérie, nous voulions montrer un exemple de déploiement d'un modèle pré-entraîné à partir de Amazon Sage Maker à Longueur d'onde AWS, le tout en moins de 100 lignes de code. Dans cet article, nous montrons comment déployer un modèle SageMaker sur AWS Wavelength afin de réduire la latence d'inférence de modèle pour les applications basées sur le réseau 5G.
Vue d'ensemble de la solution
Dans l'infrastructure mondiale en expansion rapide d'AWS, AWS Wavelength apporte la puissance du calcul et du stockage dans le cloud à la périphérie des réseaux 5G, débloquant des expériences mobiles plus performantes. Avec AWS Wavelength, vous pouvez étendre votre cloud privé virtuel (VPC) aux zones de longueur d'onde correspondant à la périphérie du réseau de l'opérateur de télécommunications dans Villes 29 à travers le monde. Le schéma suivant montre un exemple de cette architecture.
Vous pouvez vous inscrire aux zones de longueur d'onde dans une région donnée via le Console de gestion AWS au sein de l’ Interface de ligne de commande AWS (AWS CLI). Pour en savoir plus sur le déploiement d'applications géo-distribuées sur AWS Wavelength, consultez Déployer des clusters Amazon EKS géo-distribués sur AWS Wavelength.
En nous appuyant sur les principes fondamentaux abordés dans cet article, nous considérons le ML à la périphérie comme un exemple de charge de travail à déployer sur AWS Wavelength. Comme exemple de charge de travail, nous déployons un modèle pré-entraîné à partir de Amazon SageMaker JumpStart.
SageMaker est un service ML entièrement géré qui permet aux développeurs de déployer facilement des modèles ML dans leurs environnements AWS. Bien qu'AWS offre un certain nombre d'options pour la formation de modèles, de Marketplace AWS modèles et algorithmes intégrés SageMaker : il existe un certain nombre de techniques pour déployer des modèles ML open source.
JumpStart donne accès à des centaines d'algorithmes intégrés avec des modèles pré-formés qui peuvent être déployés de manière transparente sur les terminaux SageMaker. De la maintenance prédictive et de la vision par ordinateur à la conduite autonome et à la détection des fraudes, JumpStart prend en charge une variété de cas d'utilisation populaires avec un déploiement en un clic sur la console.
Étant donné que SageMaker n'est pas pris en charge de manière native dans les zones de longueur d'onde, nous montrons comment extraire les artefacts de modèle de la région et les redéployer à la périphérie. Pour ce faire, vous utilisez Service Amazon Elastic Kubernetes (Amazon EKS) clusters et groupes de nœuds dans les zones de longueur d'onde, suivi de la création d'un manifeste de déploiement avec l'image de conteneur générée par JumpStart. Le schéma suivant illustre cette architecture.
Pré-requis
Pour rendre cela aussi simple que possible, assurez-vous que votre compte AWS a activé les zones de longueur d'onde. Notez que cette intégration n'est disponible que dans us-east-1
et les us-west-2
, et vous utiliserez us-east-1
pendant la durée de la démo.
Pour vous inscrire à AWS Wavelength, procédez comme suit :
- Sur la console Amazon VPC, choisissez Zones sous Paramètres et choisissez USA Est (Verizon) / us-east-1-wl1.
- Selectionnez Gérer.
- Sélectionnez Activé.
- Selectionnez Zones de mise à jour.
Créer une infrastructure AWS Wavelength
Avant de convertir le point de terminaison d'inférence de modèle SageMaker local en un déploiement Kubernetes, vous pouvez créer un cluster EKS dans une zone de longueur d'onde. Pour ce faire, déployez un cluster Amazon EKS avec un groupe de nœuds AWS Wavelength. Pour en savoir plus, vous pouvez visiter ce guide sur le blog AWS Containers or Référentiel 5GEdgeTutorials de Verizon pour un tel exemple.
Ensuite, à l'aide d'un AWSCloud9 environnement ou environnement de développement interactif (IDE) de votre choix, téléchargez les packages SageMaker requis et Docker Compose, une dépendance clé de JumpStart.
Créer des artefacts de modèle à l'aide de JumpStart
Assurez-vous d'abord que vous disposez d'un Gestion des identités et des accès AWS (IAM) rôle d'exécution pour SageMaker. Pour en savoir plus, visitez Rôles SageMaker.
- En utilisant cet exemple, créez un fichier appelé train_model.py qui utilise le kit de développement logiciel (SDK) SageMaker pour récupérer un modèle prédéfini (remplacez avec l'Amazon Resource Name (ARN) de votre rôle d'exécution SageMaker). Dans ce fichier, vous déployez un modèle localement à l'aide de la
instance_type
attribut dans lamodel.deploy()
, qui démarre un conteneur Docker dans votre IDE en utilisant tous les artefacts de modèle requis que vous avez définis :
- Ensuite, réglez
infer_model_id
à l'ID du modèle SageMaker que vous souhaitez utiliser.
Pour une liste complète, consultez Algorithmes intégrés avec table modèle pré-formée. Dans notre exemple, nous utilisons le modèle BERT (Bidirectional Encoder Representations from Transformers), couramment utilisé pour le traitement du langage naturel.
- Exécutez le
train_model.py
script pour récupérer les artefacts du modèle JumpStart et déployer le modèle pré-entraîné sur votre ordinateur local :
Si cette étape réussit, votre résultat peut ressembler à ce qui suit :
Dans la sortie, vous verrez trois artefacts dans l'ordre : l'image de base pour l'inférence TensorFlow, le script d'inférence qui sert le modèle et les artefacts contenant le modèle entraîné. Bien que vous puissiez créer une image Docker personnalisée avec ces artefacts, une autre approche consiste à laisser le mode local SageMaker créer l'image Docker pour vous. Dans les étapes suivantes, nous extrayons l'image de conteneur exécutée localement et la déployons sur Registre des conteneurs élastiques Amazon (Amazon ECR) ainsi que pousser l'artefact de modèle séparément pour Service de stockage simple Amazon (Amazon S3).
Convertir les artefacts en mode local en déploiement Kubernetes à distance
Maintenant que vous avez confirmé que SageMaker fonctionne localement, extrayons le manifeste de déploiement du conteneur en cours d'exécution. Effectuez les étapes suivantes :
Identifiez l'emplacement du manifeste de déploiement en mode local de SageMaker : pour ce faire, recherchez dans notre répertoire racine tous les fichiers nommés docker-compose.yaml
.
docker_manifest=$( find /tmp/tmp* -name "docker-compose.yaml" -printf '%T+ %pn' | sort | tail -n 1 | cut -d' ' -f2-)
echo $docker_manifest
Identifiez l'emplacement des artefacts du modèle en mode local SageMaker : recherchez ensuite le volume sous-jacent monté sur le conteneur d'inférence SageMaker local, qui sera utilisé dans chaque nœud de travail EKS après le téléchargement de l'artefact sur Amazon s3.
model_local_volume = $(grep -A1 -w "volumes:" $docker_manifest | tail -n 1 | tr -d ' ' | awk -F: '{print $1}' | cut -c 2-) # Returns something like: /tmp/tmpcr4bu_a7</p>
Créer une copie locale du conteneur d'inférence SageMaker en cours d'exécution : Ensuite, nous trouverons l'image du conteneur en cours d'exécution exécutant notre modèle d'inférence d'apprentissage automatique et créerons une copie du conteneur localement. Cela garantira que nous avons notre propre copie de l'image du conteneur à extraire d'Amazon ECR.
# Find container ID of running SageMaker Local container
mkdir sagemaker-container
container_id=$(docker ps --format "{{.ID}} {{.Image}}" | grep "tensorflow" | awk '{print $1}')
# Retrieve the files of the container locally
docker cp $my_container_id:/ sagemaker-container/
Avant d'agir sur le model_local_volume
, que nous allons envoyer à Amazon S3, envoyez une copie de l'image Docker en cours d'exécution, maintenant dans le sagemaker-container
répertoire, à Amazon Elastic Container Registry. Assurez-vous de remplacer region
, aws_account_id
, docker_image_id
et les my-repository:tag
ou suivez le Guide d'utilisation d'Amazon ECR. Assurez-vous également de prendre note de l'URL finale de l'image ECR (aws_account_id.dkr.ecr.region.amazonaws.com/my-repository:tag
), que nous utiliserons dans notre déploiement EKS.
Maintenant que nous avons une image ECR correspondant au point de terminaison d'inférence, créez un nouveau compartiment Amazon S3 et copiez les artefacts locaux SageMaker (model_local_volume
) à ce seau. En parallèle, créez une gestion de l'accès aux identités (IAM) qui fournit aux instances Amazon EC2 un accès pour lire les objets dans le compartiment. Assurez-vous de remplacer avec un nom unique au monde pour votre compartiment Amazon S3.
Ensuite, pour vous assurer que chaque instance EC2 extrait une copie de l'artefact de modèle au lancement, modifiez les données utilisateur pour vos nœuds de travail EKS. Dans votre script de données utilisateur, assurez-vous que chaque nœud récupère les artefacts de modèle à l'aide de l'API S3 au lancement. Assurez-vous de remplacer avec un nom unique au monde pour votre compartiment Amazon S3. Étant donné que les données utilisateur du nœud incluront également le script d'amorçage EKS, les données utilisateur complètes peuvent ressembler à ceci.
Maintenant, vous pouvez inspecter le manifeste Docker existant et le traduire en fichiers manifestes compatibles avec Kubernetes à l'aide de Komposé, un outil de conversion bien connu. Remarque : si vous obtenez une erreur de compatibilité de version, modifiez le version
attribut à la ligne 27 de docker-compose.yml à “2”
.
Après avoir exécuté Kompose, vous verrez quatre nouveaux fichiers : un Deployment
objet, Service
objet, PersistentVolumeClaim
objet, et NetworkPolicy
objet. Vous avez maintenant tout ce dont vous avez besoin pour commencer votre incursion dans Kubernetes en périphérie !
Déployer les artefacts du modèle SageMaker
Assurez-vous que kubectl et aws-iam-authenticator sont téléchargés sur votre AWS Cloud9 IDE. Sinon, suivez les guides d'installation :
Maintenant, effectuez les étapes suivantes :
Modifier la service/algo-1-ow3nv
objet pour changer le type de service de ClusterIP
à NodePort
. Dans notre exemple, nous avons sélectionné le port 30,007 XNUMX comme port NodePort
:
Ensuite, vous devez autoriser le NodePort dans le groupe de sécurité de votre nœud. Pour ce faire, récupérez le security groupID et autorisez le NodePort :
Ensuite, modifiez le algo-1-ow3nv-deployment.yaml
manifeste pour monter le /tmp/model hostPath
répertoire vers le conteneur. Remplacer avec l'image ECR que vous avez créée précédemment :
Avec les fichiers manifestes que vous avez créés à partir de Kompose, utilisez kubectl pour appliquer les configurations à votre cluster :
Connectez-vous au modèle de périphérie 5G
Pour vous connecter à votre modèle, procédez comme suit :
Sur la console Amazon EC2, récupérez l'adresse IP de l'opérateur du nœud de travail EKS ou utilisez l'AWS CLI pour interroger directement l'adresse IP de l'opérateur :
Maintenant, avec l'adresse IP de l'opérateur extraite, vous pouvez vous connecter directement au modèle à l'aide de NodePort. Créer un fichier nommé invoke.py
pour invoquer directement le modèle BERT en fournissant une entrée textuelle qui sera exécutée sur un analyseur de sentiments pour déterminer si le ton était positif ou négatif :
Votre sortie doit ressembler à ce qui suit :
Nettoyer
Pour détruire toutes les ressources d'application créées, supprimez les nœuds de travail AWS Wavelength, le plan de contrôle EKS et toutes les ressources créées dans le VPC. De plus, supprimez le dépôt ECR utilisé pour héberger l'image du conteneur, les compartiments S3 utilisés pour héberger les artefacts du modèle SageMaker et le sagemaker-demo-app-s3 IAM
.
Conclusion
Dans cet article, nous avons présenté une nouvelle approche pour déployer des modèles SageMaker à la périphérie du réseau à l'aide d'Amazon EKS et d'AWS Wavelength. Pour en savoir plus sur les bonnes pratiques d'Amazon EKS sur AWS Wavelength, consultez Déployer des clusters Amazon EKS géo-distribués sur AWS Wavelength. De plus, pour en savoir plus sur Jumpstart, visitez le Guide du développeur Amazon SageMaker JumpStart au sein de l’ Tableau des modèles JumpStart disponibles.
À propos des auteurs
Robert Belson est Developer Advocate au sein de l'unité commerciale AWS Worldwide Telecom, spécialisée dans AWS Edge Computing. Il se concentre sur le travail avec la communauté des développeurs et les grandes entreprises clientes pour résoudre leurs défis commerciaux en utilisant l'automatisation, la mise en réseau hybride et le cloud de périphérie.
Mohammed Al-Mehdar est architecte de solutions senior au sein de l'unité commerciale Worldwide Telecom d'AWS. Son objectif principal est d'aider les clients à créer et déployer des charges de travail Telco et Enterprise IT sur AWS. Avant de rejoindre AWS, Mohammed a travaillé dans l'industrie des télécommunications pendant plus de 13 ans et apporte une vaste expérience dans les domaines LTE Packet Core, 5G, IMS et WebRTC. Mohammed est titulaire d'un baccalauréat en génie des télécommunications de l'Université Concordia.
Evan Kravitz est ingénieur logiciel chez Amazon Web Services, travaillant sur SageMaker JumpStart. Il aime cuisiner et courir à New York.
Justin Saint-Arnauld est directeur associé - architectes de solutions chez Verizon pour le secteur public avec plus de 15 ans d'expérience dans l'industrie informatique. Il est un défenseur passionné de la puissance de l'informatique de pointe et des réseaux 5G et est un expert dans le développement de solutions technologiques innovantes qui tirent parti de ces technologies. Justin est particulièrement enthousiasmé par les capacités offertes par Amazon Web Services (AWS) pour fournir des solutions de pointe à ses clients. Pendant son temps libre, Justin aime se tenir au courant des dernières tendances technologiques et partager ses connaissances et ses idées avec d'autres acteurs de l'industrie.
- Contenu propulsé par le référencement et distribution de relations publiques. Soyez amplifié aujourd'hui.
- Platoblockchain. Intelligence métaverse Web3. Connaissance Amplifiée. Accéder ici.
- La source: https://aws.amazon.com/blogs/machine-learning/deploy-pre-trained-models-on-aws-wavelength-with-5g-edge-using-amazon-sagemaker-jumpstart/
- :est
- 1
- 10
- 100
- 11
- 15 ans
- 5G
- 7
- 8
- 9
- a
- A Propos
- Accepter
- accès
- Compte
- à travers
- Action
- En outre
- propos
- avènement
- avocat
- Après
- à opposer à
- algorithmes
- Tous
- permet
- Bien que
- toujours
- Amazon
- Amazon EC2
- Amazon Sage Maker
- Amazon SageMaker JumpStart
- Amazon Web Services
- Amazon Web Services (AWS)
- analytique
- et les
- Une autre
- api
- Application
- applications
- Appliquer
- une approche
- architecture
- SONT
- domaines
- AS
- Associé(e)
- Association
- At
- Automation
- autonome
- disponibles
- AWS
- AWSCloud9
- une barrière
- base
- BE
- commencer
- LES MEILLEURS
- les meilleures pratiques
- Bootstrap
- Apportez le
- construire
- intégré
- la performance des entreprises
- by
- appelé
- CAN
- capacités
- cas
- CHAT
- CD
- globaux
- Change
- le choix
- Selectionnez
- Ville
- CLIENTS
- plus
- le cloud
- Cloud9
- Grappe
- code
- COM
- communément
- Communautés
- compatibilité
- complet
- calcul
- ordinateur
- Vision par ordinateur
- informatique
- CONFIRMÉ
- NOUS CONTACTER
- Console
- Contenant
- Conteneurs
- des bactéries
- Convergence
- Conversion
- convertir
- Core
- Correspondant
- pourriez
- engendrent
- créée
- La création
- foule
- Lecture
- Customiser
- Clients
- Cut/Taille
- En investissant dans une technologie de pointe, les restaurants peuvent non seulement rester compétitifs dans un marché en constante évolution, mais aussi améliorer significativement l'expérience de leurs clients.
- données
- Date
- défini
- Degré
- livrer
- livrer
- démontrer
- démontré
- Dépendance
- déployer
- déployé
- déployer
- déploiement
- détruire
- Détection
- Déterminer
- Développeur
- mobiles
- développement
- Développement
- directement
- Directeur
- discuté
- Docker
- download
- conduite
- chacun
- Plus tôt
- même
- Est
- echo
- Edge
- informatique de pointe
- effet
- permettre
- activé
- Endpoint
- ingénieur
- ENGINEERING
- assurer
- Entreprise
- entreprises
- enthousiaste
- entrée
- Environment
- environnements
- l'équipements
- erreur
- Pourtant, la
- JAMAIS
- peut
- exemple
- exécution
- existant
- expansion
- d'experience
- Expériences
- expert
- étendre
- extrait
- Déposez votre dernière attestation
- Fichiers
- finale
- Trouvez
- Focus
- se concentre
- suivre
- suivi
- Abonnement
- Pour
- Incursion
- fraude
- détection de fraude
- gratuitement ici
- sans friction
- De
- d’étiquettes électroniques entièrement
- fonction
- Notions de base
- généré
- obtenez
- donné
- Global
- À l'échelle mondiale
- globe
- Go
- aller
- Réservation de groupe
- Groupes
- guide
- Guides
- Matériel
- harnais
- Vous avez
- vous aider
- détient
- hôte
- Comment
- How To
- HTML
- http
- HTTPS
- Des centaines
- Hybride
- ID
- Identite
- image
- importer
- in
- comprendre
- Améliore
- industrie
- Infrastructure
- technologie innovante
- technologie innovante
- contribution
- idées.
- installer
- instance
- l'intégration
- Interactif
- un investissement
- IP
- IP dédiée
- IT
- Industrie informatique
- joindre
- jpg
- json
- Justin
- en gardant
- ACTIVITES
- Genre
- Trousse (SDK)
- spécialisées
- Etiquettes
- langue
- gros
- Latence
- Nouveautés
- lancer
- APPRENTISSAGE
- apprentissage
- Levier
- comme
- Gamme
- lignes
- Liste
- locales
- localement
- emplacement
- Style
- click
- machine learning
- Entrée
- facile
- a prendre une
- gérés
- gestion
- Métadonnées
- réduisant au minimum
- ML
- Breeze Mobile
- les réseaux mobiles
- Mode
- modèle
- numériques jumeaux (digital twin models)
- modifier
- PLUS
- (en fait, presque toutes)
- MONTER
- prénom
- Nommé
- Nature
- Traitement du langage naturel
- Besoin
- négatif
- réseau et
- basé sur le réseau
- de mise en réseau
- réseaux
- Nouveauté
- New York
- New York City
- next
- nlp
- nœud
- nœuds
- roman
- nombre
- objet
- objets
- of
- présenté
- Offres Speciales
- on
- ONE
- open source
- Opérations
- Opportunités
- Options
- de commander
- Autres
- sortie
- propre
- Forfaits
- Parallèle
- particulièrement
- passionné
- chemin
- Platon
- Intelligence des données Platon
- PlatonDonnées
- politique
- Populaire
- positionnée
- positif
- possible
- Post
- power
- pratiques
- Predictor
- Avant
- Privé
- traitement
- important
- fournit
- aportando
- public
- RÉSERVES
- Push
- rapidement
- Lire
- en temps réel
- Recommandation
- réduire
- région
- enregistrement
- éloigné
- remplacer
- demandes
- requis
- ressource
- Resources
- les détaillants
- Retours
- Rôle
- racine
- Courir
- pour le running
- plus sûre
- sagemaker
- Inférence SageMaker
- Sdk
- de façon transparente
- Rechercher
- secteur
- sécurité
- choisi
- supérieur
- besoin
- sert
- service
- Services
- set
- partage
- devrait
- Spectacles
- étapes
- simplement
- So
- Logiciels
- développement de logiciels
- Software Engineer
- sur mesure
- Solutions
- RÉSOUDRE
- quelque chose
- spécialisation
- départs
- Déclaration
- Statut
- étapes
- Étapes
- storage
- de Marketing
- ultérieur
- réussir
- tel
- Appareils
- Les soutiens
- Interrupteur
- Système
- TAG
- Prenez
- techniques
- Les technologies
- Technologie
- Telco
- télécommunications
- monde de télécommunications
- Ingénierie des télécommunications
- modèle
- tensorflow
- qui
- Le
- leur
- Ces
- trois
- fiable
- à
- TON
- outil
- qualifié
- transformateurs
- traduire
- Trends
- oui
- sous
- sous-jacent
- expérience unique et authentique
- unité
- université
- ouvrir
- déverrouillage
- mise à jour
- URL
- utilisé
- Utilisateur
- v1
- Plus-value
- variété
- Lieu
- Verizon
- version
- via
- Salle de conférence virtuelle
- vision
- Visiter
- le volume
- volumes
- voulu
- Richesse
- web
- services Web
- WELL
- bien connu
- que
- qui
- tout en
- sera
- comprenant
- dans les
- travailleur
- de travail
- partout dans le monde
- pourra
- yaml
- années
- Vous n'avez
- Votre
- Youtube
- zéphyrnet
- zones