Met de komst van supersnelle 5G mobiele netwerken zijn ondernemingen gemakkelijker dan ooit gepositioneerd met de mogelijkheid om de convergentie van telecommunicatienetwerken en de cloud te benutten. Als een van de meest prominente use-cases tot nu toe, heeft machine learning (ML) aan de edge bedrijven in staat gesteld om ML-modellen dichter bij hun eindklanten te implementeren om latentie te verminderen en de responsiviteit van hun applicaties te vergroten. Als voorbeeld, slimme locatie-oplossingen kan bijna-realtime computervisie gebruiken voor crowd-analyse via 5G-netwerken, terwijl investeringen in hardware-netwerkapparatuur op locatie worden geminimaliseerd. Winkeliers kunnen onderweg meer probleemloze ervaringen bieden met natuurlijke taalverwerking (NLP), realtime aanbevelingssystemen en fraudedetectie. Zelfs grond- en luchtrobotica kan ML gebruiken om veiligere, meer autonome bewerkingen te ontgrendelen.
Om de toetredingsdrempel van ML aan de rand te verminderen, wilden we een voorbeeld demonstreren van het inzetten van een vooraf getraind model van Amazon Sage Maker naar AWS-golflengte, allemaal in minder dan 100 regels code. In dit bericht laten we zien hoe u een SageMaker-model kunt implementeren in AWS Wavelength om modelinferentielatentie voor 5G-netwerkgebaseerde applicaties te verminderen.
Overzicht oplossingen
In de snelgroeiende wereldwijde infrastructuur van AWS brengt AWS Wavelength de kracht van cloudcomputing en -opslag naar de rand van 5G-netwerken, waardoor meer performante mobiele ervaringen worden ontgrendeld. Met AWS Wavelength kunt u uw virtual private cloud (VPC) uitbreiden naar Wavelength Zones die overeenkomen met de netwerkrand van de telecomaanbieder in 29 steden over de wereld. Het volgende diagram toont een voorbeeld van deze architectuur.
U kunt zich aanmelden voor de golflengtezones binnen een bepaalde regio via de AWS-beheerconsole of de AWS-opdrachtregelinterface (AWS CLI). Raadpleeg voor meer informatie over het implementeren van geografisch gedistribueerde applicaties op AWS Wavelength Implementeer geografisch gedistribueerde Amazon EKS-clusters op AWS Wavelength.
Voortbouwend op de basisprincipes die in dit bericht zijn besproken, kijken we naar ML aan de rand als een voorbeeld van een werklast waarmee we kunnen inzetten op AWS Wavelength. Als onze voorbeeldwerkbelasting implementeren we een vooraf getraind model van Amazon SageMaker JumpStart.
SageMaker is een volledig beheerde ML-service waarmee ontwikkelaars eenvoudig ML-modellen kunnen implementeren in hun AWS-omgevingen. Hoewel AWS een aantal opties biedt voor modeltraining - van AWS Marketplace modellen en ingebouwde algoritmen van SageMaker: er zijn een aantal technieken om open-source ML-modellen te implementeren.
JumpStart biedt toegang tot honderden ingebouwde algoritmen met vooraf getrainde modellen die naadloos kunnen worden ingezet op SageMaker-eindpunten. Van voorspellend onderhoud en computervisie tot autonoom rijden en fraudedetectie, JumpStart ondersteunt een verscheidenheid aan populaire use-cases met implementatie met รฉรฉn klik op de console.
Omdat SageMaker niet standaard wordt ondersteund in Wavelength Zones, demonstreren we hoe de modelartefacten uit de regio kunnen worden gehaald en opnieuw naar de rand kunnen worden geรฏmplementeerd. Hiervoor gebruik je Amazon Elastic Kubernetes-service (Amazon EKS) clusters en knooppuntgroepen in Wavelength Zones, gevolgd door het maken van een implementatiemanifest met de containerimage gegenereerd door JumpStart. Het volgende diagram illustreert deze architectuur.
Voorwaarden
Om dit zo gemakkelijk mogelijk te maken, moet u ervoor zorgen dat uw AWS-account Wavelength Zones heeft ingeschakeld. Merk op dat deze integratie alleen beschikbaar is in us-east-1
en us-west-2
, en je gaat gebruiken us-east-1
voor de duur van de demo.
Voer de volgende stappen uit om u aan te melden voor AWS Wavelength:
- Kies op de Amazon VPC-console Zones voor Instellingen En kies VS Oost (Verizon) / us-east-1-wl1.
- Kies Beheren.
- kies Toegetreden.
- Kies Zones updaten.
Creรซer een AWS Wavelength-infrastructuur
Voordat we het lokale SageMaker-modelinferentie-eindpunt converteren naar een Kubernetes-implementatie, kunt u een EKS-cluster maken in een Wavelength Zone. Implementeer hiervoor een Amazon EKS-cluster met een AWS Wavelength-knooppuntgroep. Voor meer informatie kunt u bezoeken deze gids op de AWS Containers Blog or Verizon's 5GEdgeTutorials-repository voor zo'n voorbeeld.
Gebruik vervolgens een AWS-Cloud9 omgeving of interactieve ontwikkelomgeving (IDE) naar keuze, download de vereiste SageMaker-pakketten en Docker Compose, een belangrijke afhankelijkheid van JumpStart.
Maak modelartefacten met behulp van JumpStart
Zorg er eerst voor dat u een AWS Identiteits- en toegangsbeheer (IAM) uitvoeringsrol voor SageMaker. Ga voor meer informatie naar SageMaker-rollen.
- gebruik dit voorbeeld, maak een bestand met de naam train_model.py dat de SageMaker Software Development Kit (SDK) gebruikt om een โโvooraf gebouwd model op te halen (vervang met de Amazon Resource Name (ARN) van uw SageMaker-uitvoeringsrol). In dit bestand implementeert u een model lokaal met behulp van het
instance_type
attribuut in hetmodel.deploy()
functie, die een Docker-container binnen uw IDE start met alle vereiste modelartefacten die u hebt gedefinieerd:
- Stel vervolgens in
infer_model_id
naar de ID van het SageMaker-model dat u wilt gebruiken.
Voor een volledige lijst, zie Ingebouwde algoritmen met vooraf getrainde modeltabel. In ons voorbeeld gebruiken we het model Bidirectional Encoder Representations from Transformers (BERT), dat gewoonlijk wordt gebruikt voor natuurlijke taalverwerking.
- Voer de ... uit
train_model.py
script om de artefacten van het JumpStart-model op te halen en het vooraf getrainde model op uw lokale computer te implementeren:
Als deze stap slaagt, kan uw uitvoer er als volgt uitzien:
In de uitvoer ziet u drie artefacten in volgorde: de basisafbeelding voor TensorFlow-inferentie, het inferentiescript dat het model bedient en de artefacten die het getrainde model bevatten. Hoewel u met deze artefacten een aangepaste Docker-afbeelding kunt maken, is een andere benadering om de lokale modus van SageMaker de Docker-afbeelding voor u te laten maken. In de volgende stappen extraheren we de containerimage die lokaal wordt uitgevoerd en implementeren we deze Amazon Elastic Container-register (Amazon ECR) en duw het modelartefact afzonderlijk naar Amazon eenvoudige opslagservice (Amazone S3).
Converteer artefacten in lokale modus naar externe Kubernetes-implementatie
Nu u hebt bevestigd dat SageMaker lokaal werkt, gaan we het implementatiemanifest extraheren uit de actieve container. Voer de volgende stappen uit:
Identificeer de locatie van het SageMaker-implementatiemanifest in de lokale modus: zoek hiervoor in onze hoofdmap naar bestanden met de naam 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
Identificeer de locatie van de SageMaker-modelartefacten in de lokale modus: zoek vervolgens het onderliggende volume dat is gekoppeld aan de lokale SageMaker-inferentiecontainer, die zal worden gebruikt in elk EKS-werkknooppunt nadat we het artefact hebben geรผpload naar 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>
Maak een lokale kopie van de actieve SageMaker-inferentiecontainer: vervolgens zoeken we de momenteel actieve containerimage waarop ons machine learning-inferentiemodel draait en maken we lokaal een kopie van de container. Dit zorgt ervoor dat we onze eigen kopie van de containerafbeelding hebben om uit Amazon ECR te halen.
# 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/
Alvorens te handelen op de model_local_volume
, die we naar Amazon S3 zullen pushen, een kopie van de draaiende Docker-image pushen, nu in de sagemaker-container
directory, naar Amazon Elastic Container Registry. Zorg ervoor dat u vervangt region
, aws_account_id
, docker_image_id
en my-repository:tag
of volg de Amazon ECR-gebruikershandleiding. Let ook op de uiteindelijke URL van de ECR-afbeelding (aws_account_id.dkr.ecr.region.amazonaws.com/my-repository:tag
), die we zullen gebruiken in onze EKS-implementatie.
Nu we een ECR-afbeelding hebben die overeenkomt met het inferentie-eindpunt, maakt u een nieuwe Amazon S3-bucket en kopieert u de SageMaker Local-artefacten (model_local_volume
) naar deze emmer. Creรซer tegelijkertijd een Identity Access Management (IAM) dat Amazon EC2-instanties toegang geeft tot het lezen van objecten in de bucket. Zorg ervoor dat u vervangt met een wereldwijd unieke naam voor uw Amazon S3-bucket.
Bewerk vervolgens de gebruikersgegevens voor uw EKS-werkknooppunten om ervoor te zorgen dat elke EC2-instantie bij het opstarten een kopie van het modelartefact ophaalt. Zorg er in uw gebruikersgegevensscript voor dat elk knooppunt de modelartefacten ophaalt met behulp van de S3 API bij het opstarten. Zorg ervoor dat u vervangt met een wereldwijd unieke naam voor uw Amazon S3-bucket. Aangezien de gebruikersgegevens van het knooppunt ook het EKS-bootstrapscript zullen bevatten, kunnen de volledige gebruikersgegevens er ongeveer zo uitzien.
Nu kunt u het bestaande docker-manifest inspecteren en vertalen naar Kubernetes-vriendelijke manifestbestanden met behulp van Komponeren, een bekende conversietool. Opmerking: als u een versiecompatibiliteitsfout krijgt, wijzigt u het version
attribuut in regel 27 van docker-compose.yml to โ2โ
.
Nadat u Kompose heeft uitgevoerd, ziet u vier nieuwe bestanden: a Deployment
voorwerp, Service
voorwerp, PersistentVolumeClaim
object, en NetworkPolicy
voorwerp. Je hebt nu alles wat je nodig hebt om je uitstapje naar Kubernetes aan de rand te beginnen!
Implementeer SageMaker-modelartefacten
Zorg ervoor dat u kubectl en aws-iam-authenticator hebt gedownload naar uw AWS Cloud9 IDE. Zo niet, volg dan de installatiehandleidingen:
Voer nu de volgende stappen uit:
Wijzig de service/algo-1-ow3nv
object om van servicetype te wisselen ClusterIP
naar NodePort
. In ons voorbeeld hebben we poort 30,007 geselecteerd als onze NodePort
:
Vervolgens moet u de NodePort toestaan โโin de beveiligingsgroep voor uw knooppunt. Om dit te doen, haalt u de beveiligingsgroep-ID op en zet u de NodePort op de toelatingslijst:
Wijzig vervolgens de algo-1-ow3nv-deployment.yaml
manifesteren om de te monteren /tmp/model hostPath
map naar de container. Vervangen met de ECR-afbeelding die u eerder hebt gemaakt:
Met de manifestbestanden die u vanuit Kompose hebt gemaakt, gebruikt u kubectl om de configuraties op uw cluster toe te passen:
Maak verbinding met het 5G edge-model
Voer de volgende stappen uit om verbinding te maken met uw model:
Haal op de Amazon EC2-console het IP-adres van de provider van het EKS-werkknooppunt op of gebruik de AWS CLI om het IP-adres van de provider rechtstreeks op te vragen:
Nu, met het IP-adres van de provider geรซxtraheerd, kunt u rechtstreeks verbinding maken met het model met behulp van de NodePort. Maak een bestand aan met de naam invoke.py
om het BERT-model rechtstreeks aan te roepen door een op tekst gebaseerde invoer te leveren die wordt uitgevoerd tegen een sentimentanalysator om te bepalen of de toon positief of negatief was:
Uw uitvoer zou er als volgt uit moeten zien:
Opruimen
Om alle gecreรซerde applicatieresources te vernietigen, verwijdert u de AWS Wavelength-werkknooppunten, het EKS-besturingsvlak en alle resources die binnen de VPC zijn gemaakt. Verwijder bovendien de ECR-repo die wordt gebruikt om de containerimage te hosten, de S3-buckets die worden gebruikt om de SageMaker-modelartefacten te hosten en de sagemaker-demo-app-s3 IAM
beleid.
Conclusie
In dit bericht hebben we een nieuwe benadering gedemonstreerd voor het implementeren van SageMaker-modellen op de netwerkrand met behulp van Amazon EKS en AWS Wavelength. Raadpleeg voor meer informatie over Amazon EKS best practices op AWS Wavelength Implementeer geografisch gedistribueerde Amazon EKS-clusters op AWS Wavelength. Ga daarnaast voor meer informatie over Jumpstart naar de Amazon SageMaker JumpStart-ontwikkelaarsgids of de Tabel met beschikbare JumpStart-modellen.
Over de auteurs
Robert Bellson is een Developer Advocate in de AWS Worldwide Telecom Business Unit, gespecialiseerd in AWS Edge Computing. Hij richt zich op het werken met de ontwikkelaarsgemeenschap en grote zakelijke klanten om hun zakelijke uitdagingen op te lossen met behulp van automatisering, hybride netwerken en de edge-cloud.
Mohammed Al Mehdar is een Senior Solutions Architect in de Worldwide Telecom Business Unit bij AWS. Zijn belangrijkste focus is om klanten te helpen bij het bouwen en implementeren van Telco- en Enterprise IT-workloads op AWS. Voordat hij bij AWS kwam, werkte Mohammed al meer dan 13 jaar in de telecomindustrie en brengt hij een schat aan ervaring mee op het gebied van LTE Packet Core, 5G, IMS en WebRTC. Mohammed heeft een bachelordiploma in telecommunicatie-engineering van Concordia University.
Evan Kravitz is een software-engineer bij Amazon Web Services en werkt aan SageMaker JumpStart. Hij houdt van koken en hardlopen in New York City.
Justin St. Arnauld is een Associate Director โ Solution Architects bij Verizon for the Public Sector met meer dan 15 jaar ervaring in de IT-industrie. Hij is een gepassioneerd pleitbezorger voor de kracht van edge computing en 5G-netwerken en is een expert in het ontwikkelen van innovatieve technologische oplossingen die gebruikmaken van deze technologieรซn. Justin is bijzonder enthousiast over de mogelijkheden die Amazon Web Services (AWS) biedt bij het leveren van geavanceerde oplossingen voor zijn klanten. In zijn vrije tijd houdt Justin ervan om op de hoogte te blijven van de nieuwste technologische trends en zijn kennis en inzichten te delen met anderen in de branche.
- Door SEO aangedreven content en PR-distributie. Word vandaag nog versterkt.
- Platoblockchain. Web3 Metaverse Intelligentie. Kennis versterkt. Toegang hier.
- Bron: https://aws.amazon.com/blogs/machine-learning/deploy-pre-trained-models-on-aws-wavelength-with-5g-edge-using-amazon-sagemaker-jumpstart/
- :is
- 1
- 10
- 100
- 11
- 15 jaar
- 5G
- 7
- 8
- 9
- a
- Over
- ACCEPTEREN
- toegang
- Account
- over
- Actie
- Daarnaast
- adres
- komst
- advocaat
- Na
- tegen
- algoritmen
- Alles
- toestaat
- Hoewel
- altijd
- Amazone
- Amazon EC2
- Amazon Sage Maker
- Amazon SageMaker JumpStart
- Amazon Web Services
- Amazon Web Services (AWS)
- analytics
- en
- Nog een
- api
- Aanvraag
- toepassingen
- Solliciteer
- nadering
- architectuur
- ZIJN
- gebieden
- AS
- Associรซren
- Vereniging
- At
- Automatisering
- autonoom
- Beschikbaar
- AWS
- AWS-Cloud9
- barriรจre
- baseren
- BE
- beginnen
- BEST
- 'best practices'
- Bootstrap
- Brengt
- bouw
- ingebouwd
- bedrijfsdeskundigen
- by
- Dit betekent dat we onszelf en onze geliefden praktisch vergiftigen.
- CAN
- mogelijkheden
- gevallen
- KAT
- CD
- uitdagingen
- verandering
- keuze
- Kies
- Plaats
- klanten
- dichterbij
- Cloud
- Cloud9
- TROS
- code
- COM
- algemeen
- gemeenschap
- verenigbaarheid
- compleet
- Berekenen
- computer
- Computer visie
- computergebruik
- BEVESTIGD
- Verbinden
- troosten
- Containers
- containers
- onder controle te houden
- Convergentie
- Camper ombouw
- converteren
- Kern
- Overeenkomend
- kon
- en je merk te creรซren
- aangemaakt
- Wij creรซren
- menigte
- Op dit moment
- gewoonte
- Klanten
- Snijden
- op het randje
- gegevens
- Datum
- gedefinieerd
- Mate
- leveren
- het leveren van
- tonen
- gedemonstreerd
- Afhankelijkheid
- implementeren
- ingezet
- het inzetten
- inzet
- vernietigen
- Opsporing
- Bepalen
- Ontwikkelaar
- ontwikkelaars
- het ontwikkelen van
- Ontwikkeling
- direct
- Director
- besproken
- havenarbeider
- Download
- aandrijving
- elk
- Vroeger
- gemakkelijk
- oosten
- echo
- rand
- edge computing
- effect
- in staat stellen
- ingeschakeld
- Endpoint
- ingenieur
- Engineering
- verzekeren
- Enterprise
- bedrijven
- enthousiast
- toegang
- Milieu
- omgevingen
- uitrusting
- fout
- Zelfs
- OOIT
- alles
- voorbeeld
- uitvoering
- bestaand
- uit te breiden
- ervaring
- Ervaringen
- expert
- verlengen
- extract
- Dien in
- Bestanden
- finale
- VIND DE PLEK DIE PERFECT VOOR JOU IS
- Focus
- richt
- volgen
- gevolgd
- volgend
- Voor
- inval
- bedrog
- fraude detectie
- Gratis
- wrijvingsloos
- oppompen van
- geheel
- functie
- Fundamentals
- gegenereerde
- krijgen
- gegeven
- Globaal
- Wereldwijd
- wereldbol
- Go
- gaan
- Groep
- Groep
- gids
- Guides
- Hardware
- harnas
- Hebben
- hulp
- houdt
- gastheer
- Hoe
- How To
- HTML
- http
- HTTPS
- Honderden
- Hybride
- ID
- Identiteit
- beeld
- importeren
- in
- omvatten
- Laat uw omzet
- -industrie
- Infrastructuur
- innovatieve
- innovatieve technologie
- invoer
- inzichten
- installeren
- instantie
- integratie
- interactieve
- investering
- IP
- IP-adres
- IT
- IT-industrie
- aansluiting
- jpg
- json
- Justin
- houden
- sleutel
- Soort
- Pakket (SDK)
- kennis
- labels
- taal
- Groot
- Wachttijd
- laatste
- lancering
- LEARN
- leren
- Hefboomwerking
- als
- Lijn
- lijnen
- Lijst
- lokaal
- plaatselijk
- plaats
- Kijk
- machine
- machine learning
- Hoofd
- onderhoud
- maken
- beheerd
- management
- Metadata
- minimaliseren
- ML
- Mobile
- mobiele netwerken
- Mode
- model
- modellen
- wijzigen
- meer
- meest
- MOUNT
- naam
- Genoemd
- Naturel
- Natural Language Processing
- Noodzaak
- negatief
- netwerk
- netwerkgebaseerd
- netwerken
- netwerken
- New
- New York
- new york city
- volgende
- nlp
- knooppunt
- knooppunten
- roman
- aantal
- object
- objecten
- of
- aangeboden
- Aanbod
- on
- EEN
- open source
- Operations
- kansen
- Opties
- bestellen
- Overig
- uitgang
- het te bezitten.
- Paketten
- Parallel
- vooral
- hartstochtelijk
- pad
- Plato
- Plato gegevensintelligentie
- PlatoData
- beleidsmaatregelen
- Populair
- gepositioneerd
- positief
- mogelijk
- Post
- energie
- praktijken
- predictor
- Voorafgaand
- privaat
- verwerking
- vooraanstaand
- biedt
- het verstrekken van
- publiek
- Truien
- Duwen
- snel
- Lees
- real-time
- Aanbeveling
- verminderen
- regio
- register
- vanop
- vervangen
- verzoeken
- vereiste
- hulpbron
- Resources
- verkooppunten
- Retourneren
- Rol
- wortel
- lopen
- lopend
- veiliger
- sagemaker
- SageMaker Inferentie
- sdk
- naadloos
- Ontdek
- sector
- veiligheid
- gekozen
- senior
- dienen
- bedient
- service
- Diensten
- reeks
- delen
- moet
- Shows
- Eenvoudig
- eenvoudigweg
- So
- Software
- software development
- Software Engineer
- oplossing
- Oplossingen
- OPLOSSEN
- iets
- gespecialiseerd
- starts
- Statement
- Status
- Stap voor
- Stappen
- mediaopslag
- Strategie
- volgend
- slagen
- dergelijk
- ondersteunde
- steunen
- Stap over voor slechts
- Systems
- TAG
- Nemen
- technieken
- Technologies
- Technologie
- Telecom
- telecom
- telecommunicatie
- Telecommunicatie Engineering
- sjabloon
- tensorflow
- dat
- De
- hun
- Deze
- drie
- niet de tijd of
- naar
- TONE
- tools
- getraind
- transformers
- vertalen
- Trends
- waar
- voor
- die ten grondslag liggen
- unieke
- eenheid
- universiteit-
- openen
- ontgrendelen
- up-to-date
- URL
- .
- Gebruiker
- v1
- waarde
- variรซteit
- Venue
- Verizon
- versie
- via
- Virtueel
- visie
- Bezoek
- volume
- volumes
- gezocht
- Rijkdom
- web
- webservices
- GOED
- bekend
- of
- welke
- en
- wil
- Met
- binnen
- werker
- werkzaam
- wereldwijd
- zou
- YAML
- jaar
- You
- Your
- youtube
- zephyrnet
- zones