Wraz z pojawieniem się szybkich sieci komórkowych 5G, przedsiębiorstwa mają łatwiej niż kiedykolwiek możliwość wykorzystania konwergencji sieci telekomunikacyjnych i chmury. Jako jeden z najwybitniejszych dotychczas przypadków użycia, uczenie maszynowe (ML) na krawędzi umożliwiło przedsiębiorstwom wdrażanie modeli ML bliżej swoich klientów końcowych w celu zmniejszenia opóźnień i zwiększenia czasu reakcji ich aplikacji. Jako przykład, inteligentne rozwiązania lokalowe może wykorzystywać obraz komputerowy w czasie zbliżonym do rzeczywistego do analizy tłumu w sieciach 5G, jednocześnie minimalizując inwestycje w lokalny sprzęt sieciowy. Sprzedawcy detaliczni mogą zapewniać bezproblemową obsługę w ruchu dzięki przetwarzaniu języka naturalnego (NLP), systemom rekomendacji w czasie rzeczywistym i wykrywaniu oszustw. Nawet robotyki naziemnej i powietrznej może używać ML do odblokowania bezpieczniejszych, bardziej autonomicznych operacji.
Aby zmniejszyć barierę wejścia ML na brzeg, chcieliśmy zademonstrować przykład wdrożenia wstępnie wytrenowanego modelu z Amazon Sage Maker do Długość fali AWS, a wszystko to w mniej niż 100 liniach kodu. W tym poście pokazujemy, jak wdrożyć model SageMaker w AWS Wavelength, aby zmniejszyć opóźnienie wnioskowania modelu dla aplikacji sieciowych 5G.
Omówienie rozwiązania
W szybko rozwijającej się globalnej infrastrukturze AWS, AWS Wavelength przenosi moc obliczeniową i pamięć masową w chmurze na brzeg sieci 5G, odblokowując bardziej wydajne mobilne doświadczenia. Dzięki AWS Wavelength możesz rozszerzyć swoją wirtualną chmurę prywatną (VPC) do Stref długości fali odpowiadających brzegowi sieci operatora telekomunikacyjnego w 29 miasta na całym świecie. Poniższy diagram przedstawia przykład takiej architektury.
Możesz wyrazić zgodę na Strefy długości fali w danym Regionie za pośrednictwem Konsola zarządzania AWS albo Interfejs wiersza poleceń AWS (AWS CLI). Aby dowiedzieć się więcej o wdrażaniu aplikacji rozproszonych geograficznie na AWS Wavelength, zobacz Wdrażaj rozproszone geograficznie klastry Amazon EKS na AWS Wavelength.
Opierając się na podstawach omówionych w tym poście, patrzymy na ML na krawędzi jako przykładowe obciążenie, które można wdrożyć w AWS Wavelength. Jako nasze przykładowe obciążenie wdrażamy wstępnie przeszkolony model z Amazon SageMaker JumpStart.
SageMaker to w pełni zarządzana usługa ML, która umożliwia programistom łatwe wdrażanie modeli ML w ich środowiskach AWS. Chociaż AWS oferuje szereg opcji szkolenia modeli — od Rynek AWS modele i wbudowane algorytmy SageMaker — istnieje wiele technik wdrażania modeli ML typu open source.
JumpStart zapewnia dostęp do setek wbudowanych algorytmów ze wstępnie wytrenowanymi modelami, które można bezproblemowo wdrożyć w punktach końcowych SageMaker. Od konserwacji zapobiegawczej i wizji komputerowej po autonomiczną jazdę i wykrywanie oszustw, JumpStart obsługuje wiele popularnych przypadków użycia z wdrożeniem jednym kliknięciem na konsoli.
Ponieważ SageMaker nie jest natywnie obsługiwany w strefach długości fali, pokazujemy, jak wyodrębnić artefakty modelu z regionu i ponownie wdrożyć je na brzegu. Aby to zrobić, użyj Elastyczna usługa Amazon Kubernetes (Amazon EKS) i grupy węzłów w strefach długości fal, a następnie utworzenie manifestu wdrożenia z obrazem kontenera wygenerowanym przez JumpStart. Poniższy diagram ilustruje tę architekturę.
Wymagania wstępne
Aby było to jak najłatwiejsze, upewnij się, że Twoje konto AWS ma włączone Strefy długości fali. Pamiętaj, że ta integracja jest dostępna tylko w us-east-1
i us-west-2
, a będziesz używać us-east-1
na czas trwania demo.
Aby włączyć usługę AWS Wavelength, wykonaj następujące czynności:
- Na konsoli Amazon VPC wybierz strefy dla Ustawienia i wybierz Wschodnie stany USA (Verizon) / us-east-1-wl1.
- Dodaj zarządzanie.
- Wybierz Zdecydowano się.
- Dodaj Zaktualizuj strefy.
Stwórz infrastrukturę długości fali AWS
Zanim przekonwertujemy lokalny punkt końcowy wnioskowania modelu SageMaker na wdrożenie Kubernetes, możesz utworzyć klaster EKS w strefie długości fali. Aby to zrobić, wdróż klaster Amazon EKS z grupą węzłów AWS Wavelength. Aby dowiedzieć się więcej, możesz odwiedzić ten przewodnik na blogu kontenerów AWS or Repozytorium Verizon 5GEdgeTutorials za jeden taki przykład.
Następnie za pomocą Chmura AWS9 środowiska lub interaktywnego środowiska programistycznego (IDE), pobierz wymagane pakiety SageMaker i Docker Compose, kluczowa zależność JumpStart.
Twórz artefakty modelu za pomocą funkcji JumpStart
Najpierw upewnij się, że masz AWS Zarządzanie tożsamością i dostępem (IAM) rola wykonawcza dla SageMaker. Aby dowiedzieć się więcej, odwiedź Role Mędrca.
- Korzystanie z ten przykład, utwórz plik o nazwie train_model.py, który używa zestawu SageMaker Software Development Kit (SDK) do pobrania gotowego modelu (zamień z nazwą zasobu Amazon (ARN) twojej roli wykonawczej SageMaker). W tym pliku wdrażasz model lokalnie przy użyciu pliku
instance_type
atrybut wmodel.deploy()
funkcję, która uruchamia kontener Docker w twoim IDE przy użyciu wszystkich zdefiniowanych przez ciebie wymaganych artefaktów modelu:
- Następnie ustaw
infer_model_id
do identyfikatora modelu SageMaker, którego chcesz użyć.
Aby uzyskać pełną listę, patrz Wbudowane algorytmy ze wstępnie wytrenowaną tabelą modeli. W naszym przykładzie używamy modelu Bi Directioner Encoder Representations from Transformers (BERT), powszechnie używanego do przetwarzania języka naturalnego.
- Uruchom
train_model.py
skrypt do pobierania artefaktów modelu JumpStart i wdrażania wstępnie wytrenowanego modelu na komputerze lokalnym:
Jeśli ten krok się powiedzie, dane wyjściowe mogą wyglądać następująco:
W danych wyjściowych zobaczysz kolejno trzy artefakty: obraz podstawowy dla wnioskowania TensorFlow, skrypt wnioskowania obsługujący model oraz artefakty zawierające przeszkolony model. Chociaż możesz utworzyć niestandardowy obraz Dockera za pomocą tych artefaktów, innym podejściem jest zezwolenie na utworzenie obrazu Dockera w trybie lokalnym SageMaker. W kolejnych krokach wyodrębniamy działający lokalnie obraz kontenera i wdrażamy go Rejestr elastycznego pojemnika Amazon (Amazon ECR), a także osobno przesunąć artefakt modelu do Usługa Amazon Simple Storage (Amazonka S3).
Konwertuj artefakty trybu lokalnego na zdalne wdrożenie Kubernetes
Po potwierdzeniu, że SageMaker działa lokalnie, wyodrębnijmy manifest wdrożenia z uruchomionego kontenera. Wykonaj następujące kroki:
Zidentyfikuj lokalizację manifestu wdrożenia trybu lokalnego SageMaker: Aby to zrobić, przeszukaj nasz katalog główny w poszukiwaniu plików o nazwach 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
Zidentyfikuj lokalizację artefaktów modelu trybu lokalnego SageMaker: Następnie znajdź podstawowy wolumin zamontowany w lokalnym kontenerze wnioskowania SageMaker, który będzie używany w każdym węźle roboczym EKS po przesłaniu artefaktu do 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>
Utwórz lokalną kopię uruchomionego kontenera wnioskowania SageMaker: Następnie znajdziemy aktualnie działający obraz kontenera, na którym działa nasz model wnioskowania uczenia maszynowego, i utworzymy lokalnie kopię kontenera. Dzięki temu będziemy mieć własną kopię obrazu kontenera do pobrania z 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/
Przed podjęciem działań na model_local_volume
, który wypchniemy do Amazon S3, wypchnij kopię działającego obrazu platformy Docker, teraz w sagemaker-container
katalogu do Amazon Elastic Container Registry. Koniecznie wymień region
, aws_account_id
, docker_image_id
i my-repository:tag
lub postępuj zgodnie z Podręcznik użytkownika Amazon ECR. Pamiętaj również o zanotowaniu końcowego adresu URL obrazu ECR (aws_account_id.dkr.ecr.region.amazonaws.com/my-repository:tag
), którego użyjemy w naszym wdrożeniu EKS.
Teraz, gdy mamy obraz ECR odpowiadający punktowi końcowemu wnioskowania, utwórz nowy segment Amazon S3 i skopiuj lokalne artefakty SageMaker (model_local_volume
) do tego wiadra. Równolegle utwórz zarządzanie dostępem do tożsamości (IAM), które zapewni instancjom Amazon EC2 dostęp do obiektów odczytu w zasobniku. Koniecznie wymień z globalnie unikatową nazwą dla Twojego wiadra Amazon S3.
Następnie, aby upewnić się, że każda instancja EC2 ściągnie kopię artefaktu modelu podczas uruchamiania, edytuj dane użytkownika dla węzłów procesu roboczego EKS. Upewnij się, że w skrypcie danych użytkownika każdy węzeł pobiera artefakty modelu przy użyciu interfejsu S3 API podczas uruchamiania. Koniecznie wymień z globalnie unikatową nazwą dla Twojego wiadra Amazon S3. Biorąc pod uwagę, że dane użytkownika węzła będą również zawierać skrypt ładowania początkowego EKS, pełne dane użytkownika mogą wyglądać mniej więcej tak.
Teraz możesz sprawdzić istniejący manifest dokera i przetłumaczyć go na przyjazne dla Kubernetes pliki manifestu za pomocą Komponuj, dobrze znane narzędzie do konwersji. Uwaga: jeśli pojawi się błąd zgodności wersji, zmień plik version
atrybut w wierszu 27 pliku docker-compose.yml do “2”
.
Po uruchomieniu Kompose zobaczysz cztery nowe pliki: a Deployment
obiekt, Service
obiekt, PersistentVolumeClaim
przedmiot i NetworkPolicy
obiekt. Masz teraz wszystko, czego potrzebujesz, aby rozpocząć przygodę z Kubernetes na krawędzi!
Wdróż artefakty modelu SageMaker
Upewnij się, że masz kubectl i aws-iam-authenticator pobrane do twojego AWS Cloud9 IDE. Jeśli nie, postępuj zgodnie z instrukcjami instalacji:
Teraz wykonaj następujące kroki:
Zmodyfikuj service/algo-1-ow3nv
obiekt, z którego ma zostać przełączony typ usługi ClusterIP
do NodePort
. W naszym przykładzie wybraliśmy port 30,007 XNUMX jako nasz NodePort
:
Następnie musisz zezwolić NodePort na grupę zabezpieczeń dla swojego węzła. Aby to zrobić, pobierz identyfikator grupy zabezpieczeń i wyświetl listę dozwolonych NodePort:
Następnie zmodyfikuj algo-1-ow3nv-deployment.yaml
manifest do zamontowania /tmp/model hostPath
katalog do kontenera. Zastępować z utworzonym wcześniej obrazem ECR:
Korzystając z plików manifestu utworzonych w Kompose, użyj narzędzia kubectl, aby zastosować konfiguracje w klastrze:
Połącz się z modelem brzegowym 5G
Aby połączyć się z modelem, wykonaj następujące czynności:
Na konsoli Amazon EC2 pobierz adres IP operatora węzła roboczego EKS lub użyj AWS CLI, aby bezpośrednio zapytać o adres IP operatora:
Teraz, po wyodrębnieniu adresu IP operatora, możesz połączyć się z modelem bezpośrednio za pomocą NodePort. Utwórz plik o nazwie invoke.py
bezpośrednio wywołać model BERT, dostarczając dane tekstowe, które zostaną porównane z analizatorem nastrojów w celu ustalenia, czy ton był pozytywny, czy negatywny:
Twoje dane wyjściowe powinny przypominać następujące:
Sprzątać
Aby zniszczyć wszystkie utworzone zasoby aplikacji, usuń węzły procesu roboczego AWS Wavelength, platformę kontrolną EKS i wszystkie zasoby utworzone w ramach VPC. Ponadto usuń repozytorium ECR używane do hostowania obrazu kontenera, zasobniki S3 używane do hostowania artefaktów modelu SageMaker oraz sagemaker-demo-app-s3 IAM
polityka.
Wnioski
W tym poście zademonstrowaliśmy nowatorskie podejście do wdrażania modeli SageMaker na brzegu sieci przy użyciu Amazon EKS i AWS Wavelength. Aby dowiedzieć się więcej o najlepszych praktykach Amazon EKS dotyczących długości fal AWS, zobacz Wdrażaj rozproszone geograficznie klastry Amazon EKS na AWS Wavelength. Ponadto, aby dowiedzieć się więcej o programie Jumpstart, odwiedź stronę Podręcznik programisty Amazon SageMaker JumpStart albo Tabela dostępnych modeli JumpStart.
O autorach
Roberta Belsona jest Developer Advocate w AWS Worldwide Telecom Business Unit, specjalizując się w AWS Edge Computing. Koncentruje się na pracy ze społecznością programistów i dużymi klientami korporacyjnymi, aby rozwiązywać ich problemy biznesowe przy użyciu automatyzacji, sieci hybrydowych i chmury brzegowej.
Mohammeda Al-Mehdara jest starszym architektem rozwiązań w Worldwide Telecom Business Unit w AWS. Jego głównym celem jest pomoc klientom w budowaniu i wdrażaniu obciążeń Telco i Enterprise IT w AWS. Przed dołączeniem do AWS Mohammed pracował w branży telekomunikacyjnej przez ponad 13 lat i wnosi bogate doświadczenie w obszarach LTE Packet Core, 5G, IMS i WebRTC. Mohammed posiada tytuł licencjata w dziedzinie inżynierii telekomunikacyjnej uzyskany na Uniwersytecie Concordia.
Evana Kravitza jest inżynierem oprogramowania w Amazon Web Services, pracującym nad SageMaker JumpStart. Lubi gotować i biegać w Nowym Jorku.
Justyna St. Arnaulda jest Associate Director – Solution Architects w Verizon dla sektora publicznego z ponad 15-letnim doświadczeniem w branży IT. Jest zapalonym orędownikiem mocy przetwarzania brzegowego i sieci 5G oraz ekspertem w opracowywaniu innowacyjnych rozwiązań technologicznych, które wykorzystują te technologie. Justin jest szczególnie entuzjastycznie nastawiony do możliwości oferowanych przez Amazon Web Services (AWS) w dostarczaniu najnowocześniejszych rozwiązań dla swoich klientów. W wolnym czasie Justin lubi być na bieżąco z najnowszymi trendami technologicznymi i dzielić się swoją wiedzą i spostrzeżeniami z innymi osobami z branży.
- Dystrybucja treści i PR oparta na SEO. Uzyskaj wzmocnienie już dziś.
- Platoblockchain. Web3 Inteligencja Metaverse. Wzmocniona wiedza. Dostęp tutaj.
- Źródło: https://aws.amazon.com/blogs/machine-learning/deploy-pre-trained-models-on-aws-wavelength-with-5g-edge-using-amazon-sagemaker-jumpstart/
- :Jest
- 1
- 10
- 100
- 11
- 15 roku
- 5G
- Sieci 5G
- 8
- 9
- a
- O nas
- Akceptuj
- dostęp
- zarządzanie dostępem
- Konto
- w poprzek
- Działania
- do tego
- adres
- nadejście
- rzecznik
- Po
- przed
- Algorytmy
- Wszystkie kategorie
- pozwala
- Chociaż
- zawsze
- Amazonka
- Amazon EC2
- Amazon Sage Maker
- Amazon SageMaker JumpStart
- Amazon Web Services
- Amazon Web Services (AWS)
- analityka
- i
- Inne
- api
- Zastosowanie
- aplikacje
- Aplikuj
- podejście
- architektura
- SĄ
- obszary
- AS
- Współpracownik
- Stowarzyszenie
- At
- Automatyzacja
- autonomiczny
- dostępny
- AWS
- Chmura AWS9
- bariera
- baza
- BE
- rozpocząć
- BEST
- Najlepsze praktyki
- Bootstrap
- Przynosi
- budować
- wbudowany
- biznes
- by
- nazywa
- CAN
- możliwości
- Etui
- CAT
- CD
- wyzwania
- zmiana
- wybór
- Dodaj
- Miasto
- klientów
- bliższy
- Chmura
- Cloud9
- Grupa
- kod
- COM
- powszechnie
- społeczność
- zgodność
- kompletny
- obliczać
- komputer
- Wizja komputerowa
- computing
- ZATWARDZIAŁY
- Skontaktuj się
- Konsola
- Pojemnik
- Pojemniki
- kontrola
- Konwergencja
- Konwersja
- konwertować
- gotowanie
- rdzeń
- Odpowiedni
- mógłby
- Stwórz
- stworzony
- Tworzenie
- tłum
- Obecnie
- zwyczaj
- Klientów
- Ciąć
- pionierski nowatorski
- dane
- Data
- zdefiniowane
- Stopień
- dostarczyć
- dostarczanie
- Demo
- wykazać
- wykazać
- Zależność
- rozwijać
- wdrażane
- wdrażanie
- Wdrożenie
- zniszczyć
- Wykrywanie
- Ustalać
- Deweloper
- deweloperzy
- rozwijanie
- oprogramowania
- bezpośrednio
- Dyrektor
- omówione
- Doker
- Kontener Dockera
- pobieranie
- jazdy
- każdy
- Wcześniej
- z łatwością
- Wschód
- łatwo
- przegapić
- krawędź
- przetwarzanie krawędziowe
- efekt
- umożliwiać
- włączony
- Punkt końcowy
- inżynier
- Inżynieria
- zapewnić
- Enterprise
- klienci korporacyjni
- przedsiębiorstwa
- entuzjastyczny
- wejście
- Środowisko
- środowiska
- sprzęt
- błąd
- Eter (ETH)
- Parzyste
- EVER
- wszystko
- przykład
- egzekucja
- Przede wszystkim system został opracowany
- rozszerzenie
- doświadczenie
- Doświadczenia
- ekspert
- rozciągać się
- wyciąg
- filet
- Akta
- finał
- Znajdź
- Skupiać
- koncentruje
- obserwuj
- następnie
- następujący
- W razie zamówieenia projektu
- Najazd
- oszustwo
- wykrywanie oszustw
- Darmowy
- bez tarcia
- od
- w pełni
- funkcjonować
- Podstawy
- wygenerowane
- otrzymać
- dany
- Globalne
- Globalnie
- globus
- Go
- będzie
- Zarządzanie
- Grupy
- poprowadzi
- Przewodniki
- sprzęt komputerowy
- uprząż
- Have
- pomoc
- posiada
- gospodarz
- W jaki sposób
- How To
- HTML
- http
- HTTPS
- Setki
- Hybrydowy
- IAM
- ID
- tożsamość
- obraz
- importować
- in
- zawierać
- Zwiększać
- przemysł
- Infrastruktura
- Innowacyjny
- Innowacyjna technologia
- wkład
- spostrzeżenia
- zainstalować
- przykład
- integracja
- interaktywne
- inwestycja
- IP
- Adres IP
- IT
- Branża IT
- łączący
- jpg
- json
- Justin
- konserwacja
- Klawisz
- Uprzejmy
- zestaw
- Zestaw (SDK)
- wiedza
- Kubernetes
- Etykiety
- język
- duży
- Utajenie
- firmy
- uruchomić
- UCZYĆ SIĘ
- nauka
- Dźwignia
- lubić
- Linia
- linie
- Lista
- miejscowy
- lokalnie
- lokalizacja
- Popatrz
- maszyna
- uczenie maszynowe
- Główny
- konserwacja
- robić
- zarządzane
- i konserwacjami
- Metadane
- minimalizowanie
- ML
- Aplikacje mobilne
- sieci komórkowe
- Moda
- model
- modele
- modyfikować
- jeszcze
- większość
- MONTAż
- Nazwa
- O imieniu
- Naturalny
- Język naturalny
- Przetwarzanie języka naturalnego
- Potrzebować
- ujemny
- sieć
- oparty na sieci
- sieci
- sieci
- Nowości
- I Love New York
- nowy jork
- Następny
- nlp
- węzeł
- węzły
- powieść
- numer
- przedmiot
- obiekty
- of
- oferowany
- Oferty
- on
- ONE
- open source
- operacje
- Okazja
- Opcje
- zamówienie
- Pozostałe
- wydajność
- własny
- Pakiety
- Parallel
- szczególnie
- namiętny
- ścieżka
- plato
- Analiza danych Platona
- PlatoDane
- polityka
- Popularny
- porty
- ustawione
- pozytywny
- możliwy
- Post
- power
- praktyki
- Urządzenie prognozujące
- Wcześniejszy
- prywatny
- przetwarzanie
- wybitny
- zapewnia
- że
- publiczny
- Ściąga
- Naciskać
- r2
- szybko
- Czytaj
- w czasie rzeczywistym
- Rekomendacja
- zmniejszyć
- region
- rejestr
- zdalny
- obsługi produkcji rolnej, która zastąpiła
- wywołań
- wymagany
- Zasób
- Zasoby
- sprzedawców
- powraca
- Rola
- korzeń
- run
- bieganie
- bezpieczniej
- sagemaker
- Wnioskowanie SageMakera
- Sdk
- płynnie
- Szukaj
- sektor
- bezpieczeństwo
- wybrany
- senior
- osobno
- służyć
- służy
- usługa
- Usługi
- zestaw
- dzielenie
- powinien
- Targi
- Prosty
- po prostu
- So
- Tworzenie
- rozwoju oprogramowania
- Software Engineer
- rozwiązanie
- Rozwiązania
- ROZWIĄZANIA
- coś
- specjalizujący się
- rozpocznie
- Zestawienie sprzedaży
- Rynek
- Ewolucja krok po kroku
- Cel
- przechowywanie
- Strategia
- kolejny
- osiągnąć sukces
- taki
- Sudo
- Utrzymany
- podpory
- Przełącznik
- systemy
- TAG
- Brać
- Techniki
- Technologies
- Technologia
- Telco
- Telecom
- telekomunikacja
- Inżynieria telekomunikacyjna
- szablon
- tensorflow
- że
- Połączenia
- bezpieczeństwa
- ich
- Te
- trzy
- czas
- do
- TON
- narzędzie
- przeszkolony
- Transformatory
- tłumaczyć
- Trendy
- prawdziwy
- dla
- zasadniczy
- wyjątkowy
- jednostka
- uniwersytet
- odblokować
- odblokowywanie
- nowomodny
- URI
- URL
- posługiwać się
- Użytkownik
- v1
- wartość
- różnorodność
- Miejsce
- Verizon
- wersja
- przez
- Wirtualny
- wizja
- Odwiedzić
- Tom
- kłęby
- poszukiwany
- Bogactwo
- sieć
- usługi internetowe
- DOBRZE
- znane
- czy
- który
- Podczas
- będzie
- w
- w ciągu
- pracownik
- pracujący
- na calym swiecie
- by
- jamla
- lat
- Twój
- youtube
- zefirnet
- Strefy