Odată cu apariția rețelelor mobile 5G de mare viteză, întreprinderile sunt mai ușor de poziționat decât oricând cu posibilitatea de a valorifica convergența rețelelor de telecomunicații și a cloud-ului. Fiind unul dintre cele mai proeminente cazuri de utilizare până în prezent, învățarea automată (ML) la margine a permis companiilor să implementeze modele ML mai aproape de clienții lor finali pentru a reduce latența și a crește capacitatea de răspuns a aplicațiilor lor. Ca exemplu, soluții inteligente pentru locații poate folosi viziunea computerizată în timp aproape real pentru analize de mulțimi prin rețele 5G, toate în același timp reducând la minimum investițiile în echipamente hardware de rețea la nivel local. Comercianții cu amănuntul pot oferi mai multe experiențe fără fricțiuni din mers cu procesarea limbajului natural (NLP), sisteme de recomandare în timp real și detectarea fraudelor. Chiar robotică terestră și aeriană poate folosi ML pentru a debloca operațiuni mai sigure și mai autonome.
Pentru a reduce bariera de intrare a ML la margine, am vrut să demonstrăm un exemplu de implementare a unui model pre-antrenat de la Amazon SageMaker la AWS Lungime de undă, totul în mai puțin de 100 de linii de cod. În această postare, demonstrăm cum să implementăm un model SageMaker pe AWS Wavelength pentru a reduce latența de inferență a modelului pentru aplicațiile bazate pe rețea 5G.
Prezentare generală a soluțiilor
În infrastructura globală AWS în expansiune rapidă, AWS Wavelength aduce puterea de calcul în cloud și stocare la marginea rețelelor 5G, deblocând experiențe mobile mai performante. Cu AWS Wavelength, vă puteți extinde cloudul privat virtual (VPC) la zonele de lungime de undă corespunzătoare marginii rețelei operatorului de telecomunicații în Orașele 29 pe tot globul. Următoarea diagramă prezintă un exemplu al acestei arhitecturi.
Puteți opta pentru zonele de lungime de undă dintr-o anumită regiune prin intermediul Consola de administrare AWS sau Interfața liniei de comandă AWS (AWS CLI). Pentru a afla mai multe despre implementarea aplicațiilor geo-distribuite pe AWS Wavelength, consultați Implementați clustere Amazon EKS geo-distribuite pe AWS Wavelength.
Bazându-ne pe elementele fundamentale discutate în această postare, ne uităm la ML la margine ca un exemplu de încărcare de lucru cu care să putem implementa în AWS Wavelength. Ca exemplu de volum de lucru, implementăm un model pre-instruit din Amazon SageMaker JumpStart.
SageMaker este un serviciu ML gestionat complet care permite dezvoltatorilor să implementeze cu ușurință modele ML în mediile lor AWS. Deși AWS oferă o serie de opțiuni pentru formarea modelelor—de la Piața AWS modele și algoritmi încorporați SageMaker — există o serie de tehnici de implementare a modelelor ML cu sursă deschisă.
JumpStart oferă acces la sute de algoritmi încorporați cu modele pre-antrenate care pot fi implementate fără probleme la punctele finale SageMaker. De la întreținerea predictivă și viziunea computerizată până la conducerea autonomă și detectarea fraudelor, JumpStart acceptă o varietate de cazuri de utilizare populare cu implementare cu un singur clic pe consolă.
Deoarece SageMaker nu este acceptat nativ în zonele de lungime de undă, demonstrăm cum să extragem artefactele modelului din regiune și să le reinstalăm la margine. Pentru a face acest lucru, folosiți Serviciul Amazon Elastic Kubernetes (Amazon EKS) clustere și grupuri de noduri în zonele de lungime de undă, urmate de crearea unui manifest de implementare cu imaginea containerului generată de JumpStart. Următoarea diagramă ilustrează această arhitectură.
Cerințe preliminare
Pentru a face acest lucru cât mai ușor posibil, asigurați-vă că contul dvs. AWS are zonele de lungime de undă activate. Rețineți că această integrare este disponibilă numai în us-east-1
și us-west-2
, și veți folosi us-east-1
pe durata demo-ului.
Pentru a vă înscrie la AWS Wavelength, parcurgeți următorii pași:
- În consola Amazon VPC, alegeți zonele în Setări cont Și alegeți Estul SUA (Verizon) / us-east-1-wl1.
- Alege Administrare.
- Selectați S-a înscris.
- Alege Actualizați zonele.
Creați infrastructură AWS Wavelength
Înainte de a converti punctul final de inferență model SageMaker local într-o implementare Kubernetes, puteți crea un cluster EKS într-o zonă de lungime de undă. Pentru a face acest lucru, implementați un cluster Amazon EKS cu un grup de noduri AWS Wavelength. Pentru a afla mai multe, puteți vizita acest ghid pe blogul AWS Containers or Depozitul 5GEdgeTutorials al Verizon pentru un astfel de exemplu.
Apoi, folosind un AWS Cloud9 mediu sau mediu de dezvoltare interactiv (IDE) la alegere, descărcați pachetele necesare SageMaker și Docker Compune, o dependență cheie a JumpStart.
Creați artefacte model folosind JumpStart
În primul rând, asigurați-vă că aveți un Gestionarea identității și accesului AWS (IAM) rol de execuție pentru SageMaker. Pentru a afla mai multe, vizitați Roluri SageMaker.
- Utilizarea acest exemplu, creați un fișier numit train_model.py care utilizează kit-ul de dezvoltare software (SDK) SageMaker pentru a prelua un model pre-construit (înlocuiți cu Amazon Resource Name (ARN) al rolului dvs. de execuție SageMaker). În acest fișier, implementați un model la nivel local folosind
instance_type
atribut înmodel.deploy()
funcția, care pornește un container Docker în IDE-ul dvs. folosind toate artefactele de model necesare pe care le-ați definit:
- Apoi, setați
infer_model_id
la ID-ul modelului SageMaker pe care doriți să-l utilizați.
Pentru o listă completă, consultați Algoritmi încorporați cu tabel model pre-antrenat. În exemplul nostru, folosim modelul Bidirectional Encoder Representations from Transformers (BERT), folosit în mod obișnuit pentru procesarea limbajului natural.
- Pornește
train_model.py
script pentru a prelua artefactele modelului JumpStart și a implementa modelul pre-antrenat pe mașina dvs. locală:
Dacă acest pas reușește, rezultatul dvs. poate să semene cu următorul:
În rezultat, veți vedea trei artefacte în ordine: imaginea de bază pentru inferența TensorFlow, scriptul de inferență care servește modelului și artefactele care conțin modelul antrenat. Deși puteți crea o imagine Docker personalizată cu aceste artefacte, o altă abordare este să lăsați modul local SageMaker să creeze imaginea Docker pentru dvs. În pașii următori, extragem imaginea containerului care rulează local și o implementăm Registrul Amazon de containere elastice (Amazon ECR), precum și împingeți artefactul modelului separat Serviciul Amazon de stocare simplă (Amazon S3).
Convertiți artefactele în modul local în implementarea Kubernetes la distanță
Acum că ați confirmat că SageMaker funcționează local, să extragem manifestul de implementare din containerul care rulează. Parcurgeți următorii pași:
Identificați locația manifestului de implementare a modului local SageMaker: Pentru a face acest lucru, căutați în directorul nostru rădăcină orice fișiere numite 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
Identificați locația artefactelor modelului în modul local SageMaker: Apoi, găsiți volumul de bază montat pe containerul de inferență local SageMaker, care va fi utilizat în fiecare nod de lucru EKS după ce încărcăm artefactul pe 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>
Creați o copie locală a containerului de inferență SageMaker care rulează: În continuare, vom găsi imaginea containerului care rulează în prezent, care rulează modelul nostru de inferență de învățare automată și vom face o copie a containerului la nivel local. Acest lucru ne va asigura că avem propria noastră copie a imaginii containerului de extras din 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/
Înainte de a acționa asupra model_local_volume
, pe care îl vom împinge către Amazon S3, împinge o copie a imaginii Docker care rulează, acum în sagemaker-container
director, către Amazon Elastic Container Registry. Asigurați-vă că înlocuiți region
, aws_account_id
, docker_image_id
și my-repository:tag
sau urmați Ghid de utilizare Amazon ECR. De asemenea, asigurați-vă că țineți cont de URL-ul final al imaginii ECR (aws_account_id.dkr.ecr.region.amazonaws.com/my-repository:tag
), pe care îl vom folosi în implementarea noastră EKS.
Acum că avem o imagine ECR corespunzătoare punctului final de inferență, creați o nouă găleată Amazon S3 și copiați artefactele locale SageMaker (model_local_volume
) la această găleată. În paralel, creați un Identity Access Management (IAM) care oferă acces instanțelor Amazon EC2 pentru a citi obiectele din compartiment. Asigurați-vă că înlocuiți cu un nume unic la nivel global pentru bucket-ul tău Amazon S3.
Apoi, pentru a vă asigura că fiecare instanță EC2 extrage o copie a artefactului model la lansare, editați datele utilizatorului pentru nodurile de lucru EKS. În scriptul de date utilizator, asigurați-vă că fiecare nod preia artefactele modelului folosind API-ul S3 la lansare. Asigurați-vă că înlocuiți cu un nume unic la nivel global pentru bucket-ul tău Amazon S3. Având în vedere că datele utilizatorului nodului vor include și scriptul de bootstrap EKS, datele complete ale utilizatorului pot arăta cam așa.
Acum, puteți inspecta manifestul docker existent și îl puteți traduce în fișiere manifest compatibile cu Kubernetes folosind Compone, un instrument de conversie binecunoscut. Notă: dacă primiți o eroare de compatibilitate cu versiunea, modificați version
atribut în linia 27 din docker-compose.yml la “2”
.
După ce rulați Kompose, veți vedea patru fișiere noi: a Deployment
obiect, Service
obiect, PersistentVolumeClaim
obiect, și NetworkPolicy
obiect. Acum aveți tot ce aveți nevoie pentru a vă începe incursiunea în Kubernetes la margine!
Implementați artefacte model SageMaker
Asigurați-vă că aveți kubectl și aws-iam-authenticator descărcate în IDE-ul dvs. AWS Cloud9. Dacă nu, urmați ghidurile de instalare:
Acum, parcurgeți următorii pași:
Modificați service/algo-1-ow3nv
obiect pentru a comuta tipul de serviciu ClusterIP
la NodePort
. În exemplul nostru, am selectat portul 30,007 drept nostru NodePort
:
Apoi, trebuie să permiteți NodePort în grupul de securitate pentru nodul dvs. Pentru a face acest lucru, preluați ID-ul grupului de securitate și listați NodePort:
Apoi, modificați algo-1-ow3nv-deployment.yaml
manifest pentru a monta /tmp/model hostPath
directorul către container. A inlocui cu imaginea ECR creată mai devreme:
Cu fișierele manifest pe care le-ați creat din Kompose, utilizați kubectl pentru a aplica configurațiile clusterului dvs.:
Conectați-vă la modelul 5G edge
Pentru a vă conecta la modelul dvs., parcurgeți următorii pași:
Pe consola Amazon EC2, preluați IP-ul operatorului de transport al nodului de lucru EKS sau utilizați AWS CLI pentru a interoga direct adresa IP a operatorului:
Acum, cu adresa IP a operatorului extrasă, vă puteți conecta direct la model folosind NodePort. Creați un fișier numit invoke.py
pentru a invoca modelul BERT direct, oferind o intrare bazată pe text care va fi executată împotriva unui analizor de sentimente pentru a determina dacă tonul a fost pozitiv sau negativ:
Ieșirea dvs. ar trebui să semene cu următoarele:
A curăța
Pentru a distruge toate resursele aplicației create, ștergeți nodurile de lucru AWS Wavelength, planul de control EKS și toate resursele create în VPC. În plus, ștergeți depozitul ECR folosit pentru a găzdui imaginea containerului, gălețile S3 utilizate pentru a găzdui artefactele modelului SageMaker și sagemaker-demo-app-s3 IAM
politică.
Concluzie
În această postare, am demonstrat o abordare nouă pentru implementarea modelelor SageMaker la marginea rețelei folosind Amazon EKS și AWS Wavelength. Pentru a afla despre cele mai bune practici Amazon EKS privind lungimea de undă AWS, consultați Implementați clustere Amazon EKS geo-distribuite pe AWS Wavelength. În plus, pentru a afla mai multe despre Jumpstart, vizitați Ghid pentru dezvoltatori Amazon SageMaker JumpStart sau Tabelul modelului disponibil JumpStart.
Despre Autori
Robert Belson este un avocat pentru dezvoltatori în Unitatea de afaceri AWS Worldwide Telecom, specializat în AWS Edge Computing. El se concentrează pe lucrul cu comunitatea de dezvoltatori și cu clienții companiilor mari pentru a-și rezolva provocările de afaceri folosind automatizarea, rețelele hibride și cloud-ul edge.
Mohammed Al-Mehdar este arhitect senior de soluții în unitatea de afaceri Worldwide Telecom de la AWS. Obiectivul său principal este de a ajuta clienții să creeze și să implementeze sarcini de lucru IT pentru Telco și Enterprise pe AWS. Înainte de a se alătura AWS, Mohammed a lucrat în industria Telco de peste 13 ani și aduce o experiență bogată în domeniile LTE Packet Core, 5G, IMS și WebRTC. Mohammed deține o diplomă de licență în Ingineria Telecomunicațiilor de la Universitatea Concordia.
Evan Kravitz este inginer software la Amazon Web Services, lucrând la SageMaker JumpStart. Îi place să gătească și să alerge în New York.
Justin St. Arnauld este director asociat – Arhitecți de soluții la Verizon pentru sectorul public, cu peste 15 ani de experiență în industria IT. El este un susținător pasionat al puterii edge computing și a rețelelor 5G și este un expert în dezvoltarea de soluții tehnologice inovatoare care folosesc aceste tehnologii. Justin este deosebit de entuziasmat de capacitățile oferite de Amazon Web Services (AWS) în furnizarea de soluții de ultimă oră pentru clienții săi. În timpul său liber, lui Justin îi place să fie la curent cu cele mai recente tendințe tehnologice și să-și împărtășească cunoștințele și cunoștințele cu alții din industrie.
- Distribuție de conținut bazat pe SEO și PR. Amplifică-te astăzi.
- Platoblockchain. Web3 Metaverse Intelligence. Cunoștințe amplificate. Accesați Aici.
- Sursa: https://aws.amazon.com/blogs/machine-learning/deploy-pre-trained-models-on-aws-wavelength-with-5g-edge-using-amazon-sagemaker-jumpstart/
- :este
- 1
- 10
- 100
- 11
- ani 15
- 5G
- 7
- 8
- 9
- a
- Despre Noi
- Accept
- acces
- Cont
- peste
- Acțiune
- În plus,
- adresa
- venire
- avocat
- După
- împotriva
- algoritmi
- TOATE
- permite
- Cu toate ca
- mereu
- Amazon
- Amazon EC2
- Amazon SageMaker
- Amazon SageMaker JumpStart
- Amazon Web Services
- Amazon Web Services (AWS)
- Google Analytics
- și
- O alta
- api
- aplicație
- aplicatii
- Aplică
- abordare
- arhitectură
- SUNT
- domenii
- AS
- Avocat Colaborator
- Asociație
- At
- Automatizare
- autonom
- disponibil
- AWS
- AWS Cloud9
- barieră
- de bază
- BE
- începe
- CEL MAI BUN
- Cele mai bune practici
- Bootstrap
- Aduce
- construi
- construit-in
- afaceri
- by
- denumit
- CAN
- capacități
- cazuri
- CAT
- CD
- provocări
- Schimbare
- alegere
- Alege
- Oraș
- clientii
- mai aproape
- Cloud
- Cloud9
- Grup
- cod
- COM
- în mod obișnuit
- comunitate
- compatibilitate
- Completă
- Calcula
- calculator
- Computer Vision
- tehnica de calcul
- CONFIRMAT
- Conectați
- Consoleze
- Recipient
- Containere
- Control
- Convergenţă
- Convertire
- converti
- Nucleu
- Corespunzător
- ar putea
- crea
- a creat
- Crearea
- mulţime
- În prezent
- personalizat
- clienţii care
- Tăiat
- ultima generație
- de date
- Data
- definit
- Grad
- livra
- livrarea
- demonstra
- demonstrat
- Dependenţă
- implementa
- dislocate
- Implementarea
- desfășurarea
- distruge
- Detectare
- Determina
- Dezvoltator
- Dezvoltatorii
- în curs de dezvoltare
- Dezvoltare
- direct
- Director
- discutat
- Docher
- Descarca
- conducere
- fiecare
- Mai devreme
- cu ușurință
- Est
- ecou
- Margine
- marginea de calcul
- efect
- permite
- activat
- Punct final
- inginer
- Inginerie
- asigura
- Afacere
- Companii
- entuziast
- intrare
- Mediu inconjurator
- medii
- echipament
- eroare
- Chiar
- EVER
- tot
- exemplu
- execuție
- existent
- extinderea
- experienţă
- Experiențe
- expert
- extinde
- extrage
- Fișier
- Fişiere
- final
- Găsi
- Concentra
- se concentrează
- urma
- a urmat
- următor
- Pentru
- Incursiune
- fraudă
- detectarea fraudei
- Gratuit
- fără frecare
- din
- complet
- funcţie
- Fundamentele
- generată
- obține
- dat
- Caritate
- La nivel global
- glob
- Go
- merge
- grup
- Grupului
- ghida
- Ghiduri
- Piese metalice
- valorifica
- Avea
- ajutor
- deține
- gazdă
- Cum
- Cum Pentru a
- HTML
- http
- HTTPS
- sute
- Hibrid
- ID
- Identitate
- imagine
- import
- in
- include
- Crește
- industrie
- Infrastructură
- inovatoare
- tehnologie inovatoare
- intrare
- perspective
- instala
- instanță
- integrare
- interactiv
- investiţie
- IP
- Adresa IP
- IT
- Industria IT
- aderarea
- jpg
- JSON
- Justin
- păstrare
- Cheie
- Copil
- Kit (SDK)
- cunoştinţe
- etichete
- limbă
- mare
- Latență
- Ultimele
- lansa
- AFLAȚI
- învăţare
- Pârghie
- ca
- Linie
- linii
- Listă
- local
- la nivel local
- locaţie
- Uite
- maşină
- masina de învățare
- Principal
- întreținere
- face
- gestionate
- administrare
- Metadata
- minimizând
- ML
- Mobil
- retele mobile
- mod
- model
- Modele
- modifica
- mai mult
- cele mai multe
- MOUNT
- nume
- Numit
- Natural
- Procesarea limbajului natural
- Nevoie
- negativ
- reţea
- bazat pe rețea
- rețele
- rețele
- Nou
- New York
- New York City
- următor
- nlp
- nod
- noduri
- roman
- număr
- obiect
- obiecte
- of
- oferit
- promoții
- on
- ONE
- open-source
- Operațiuni
- Oportunitate
- Opţiuni
- comandă
- Altele
- producție
- propriu
- ofertele
- Paralel
- în special
- pasionat
- cale
- Plato
- Informații despre date Platon
- PlatoData
- Politica
- Popular
- poziţionat
- pozitiv
- posibil
- Post
- putere
- practicile
- Predictor
- anterior
- privat
- prelucrare
- proeminent
- furnizează
- furnizarea
- public
- Trage
- Împinge
- repede
- Citeste
- în timp real
- Recomandare
- reduce
- regiune
- registru
- la distanta
- înlocui
- cereri de
- necesar
- resursă
- Resurse
- comercianții cu amănuntul
- Returnează
- Rol
- rădăcină
- Alerga
- funcţionare
- mai sigur
- sagemaker
- SageMaker Inference
- sdk
- perfect
- Caută
- sector
- securitate
- selectate
- senior
- servi
- servește
- serviciu
- Servicii
- set
- partajarea
- să
- Emisiuni
- simplu
- pur şi simplu
- So
- Software
- de dezvoltare de software
- Inginer Software
- soluţie
- soluţii
- REZOLVAREA
- ceva
- specializata
- începe
- Declarație
- Stare
- Pas
- paşi
- depozitare
- Strategie
- ulterior
- reuși
- astfel de
- Suportat
- Sprijină
- Intrerupator
- sisteme
- TAG
- Lua
- tehnici de
- Tehnologii
- Tehnologia
- Telco
- telecom
- de telecomunicaţii
- Inginerie Telecomunicatii
- șablon
- tensorflow
- acea
- lor
- Acestea
- trei
- timp
- la
- TONE
- instrument
- dresat
- transformatoare
- Traduceți
- Tendinţe
- adevărat
- în
- care stau la baza
- unic
- unitate
- universitate
- deschide
- deblocare
- up-to-data
- URL-ul
- utilizare
- Utilizator
- v1
- valoare
- varietate
- Locatia evenimentului
- Verizon
- versiune
- de
- Virtual
- viziune
- Vizita
- volum
- volume
- dorit
- Bogatie
- web
- servicii web
- BINE
- bine cunoscut
- dacă
- care
- în timp ce
- voi
- cu
- în
- lucrător
- de lucru
- la nivel internațional.
- ar
- yaml
- ani
- Tu
- Ta
- youtube
- zephyrnet
- zone