З появою високошвидкісних мобільних мереж 5G підприємствам легше, ніж будь-коли, отримати можливість використовувати конвергенцію телекомунікаційних мереж і хмари. Як один із найвідоміших варіантів використання на сьогоднішній день, машинне навчання (ML) на межі дозволило підприємствам розгортати моделі ML ближче до своїх кінцевих клієнтів, щоб зменшити затримку та підвищити швидкість реагування своїх програм. Як приклад, розумні рішення для проведення заходів може використовувати комп’ютерне бачення майже в реальному часі для аналітики натовпу в мережах 5G, зводячи до мінімуму інвестиції в локальне апаратне мережеве обладнання. Роздрібні продавці можуть надавати більш легкий досвід у дорозі за допомогою обробки природної мови (NLP), систем рекомендацій у реальному часі та виявлення шахрайства. Навіть наземна та повітряна робототехніка може використовувати ML для розблокування безпечніших і більш автономних операцій.
Щоб зменшити перешкоди для входу в машинне навчання на межі, ми хотіли продемонструвати приклад розгортання попередньо навченої моделі з Amazon SageMaker до AWS довжина хвилі, усе в менш ніж 100 рядках коду. У цій публікації ми демонструємо, як розгорнути модель SageMaker в AWS Wavelength, щоб зменшити затримку визначення моделі для мережевих додатків 5G.
Огляд рішення
У глобальній інфраструктурі AWS, яка швидко розширюється, AWS Wavelength переносить потужність хмарних обчислень і сховищ на межі мереж 5G, відкриваючи більш продуктивні мобільні можливості. За допомогою AWS Wavelength ви можете розширити свою віртуальну приватну хмару (VPC) до зон хвилі, що відповідають межі мережі телекомунікаційного оператора в Міста 29 по всьому світу. На наступній діаграмі показано приклад цієї архітектури.
Ви можете вибрати зони довжини хвилі в певному регіоні за допомогою Консоль управління AWS або Інтерфейс командного рядка AWS (AWS CLI). Щоб дізнатися більше про розгортання георозподілених програм на AWS Wavelength, див Розгорніть георозподілені кластери Amazon EKS на AWS Wavelength.
Грунтуючись на основах, розглянутих у цій публікації, ми розглядаємо ML на межі як зразок робочого навантаження для розгортання в AWS Wavelength. Як приклад робочого навантаження ми розгортаємо попередньо навчену модель із Amazon SageMaker JumpStart.
SageMaker — це повністю керована служба ML, яка дозволяє розробникам легко розгортати моделі ML у своїх середовищах AWS. Незважаючи на те, що AWS пропонує кілька варіантів для навчання моделі — від Торговий майданчик AWS моделі та вбудовані алгоритми SageMaker — існує низка методів розгортання моделей ML з відкритим кодом.
JumpStart надає доступ до сотень вбудованих алгоритмів із попередньо навченими моделями, які можна безперешкодно розгортати на кінцевих точках SageMaker. Від прогнозованого технічного обслуговування та комп’ютерного бачення до автономного водіння та виявлення шахрайства, JumpStart підтримує низку популярних випадків використання з розгортанням одним клацанням миші на консолі.
Оскільки SageMaker не підтримується у Wavelength Zones, ми демонструємо, як витягти артефакти моделі з регіону та повторно розгорнути на межі. Для цього ви використовуєте Послуга Amazon Elastic Kubernetes (Amazon EKS) кластери та групи вузлів у Wavelength Zones із подальшим створенням маніфесту розгортання із зображенням контейнера, створеним JumpStart. Наступна діаграма ілюструє цю архітектуру.
Передумови
Щоб зробити це якомога простішим, переконайтеся, що у вашому обліковому записі AWS увімкнено зони довжини хвилі. Зауважте, що ця інтеграція доступна лише в us-east-1
та us-west-2
, і ви будете використовувати us-east-1
на час демонстрації.
Щоб підключитися до AWS Wavelength, виконайте такі дії:
- На консолі Amazon VPC виберіть Зони при Налаштування І вибирай Схід США (Verizon) / us-east-1-wl1.
- Вибирати керувати.
- Select Увімкнено.
- Вибирати Оновити зони.
Створіть інфраструктуру AWS Wavelength
Перш ніж ми перетворимо локальну кінцеву точку висновку моделі SageMaker у розгортання Kubernetes, ви можете створити кластер EKS у зоні довжини хвилі. Для цього розгорніть кластер Amazon EKS із групою вузлів AWS Wavelength. Щоб дізнатися більше, ви можете відвідати цей посібник у блозі контейнерів AWS or Репозиторій Verizon 5GEdgeTutorials за один такий приклад.
Далі, використовуючи an AWS Cloud9 середовище або інтерактивне середовище розробки (IDE) на вибір, завантажте необхідні пакети SageMaker і Docker Compose, ключова залежність JumpStart.
Створіть артефакти моделі за допомогою JumpStart
По-перше, переконайтеся, що у вас є Управління ідентифікацією та доступом AWS (IAM) роль виконання для SageMaker. Щоб дізнатися більше, відвідайте Ролі SageMaker.
- використання цей приклад, створіть файл під назвою train_model.py, який використовує SageMaker Software Development Kit (SDK) для отримання попередньо створеної моделі (замініть з іменем ресурсу Amazon (ARN) вашої ролі виконання SageMaker). У цьому файлі ви розгортаєте модель локально за допомогою
instance_type
атрибут уmodel.deploy()
функція, яка запускає контейнер Docker у вашому IDE, використовуючи всі потрібні артефакти моделі, які ви визначили:
- Далі встановіть
infer_model_id
до ідентифікатора моделі SageMaker, яку ви бажаєте використати.
Повний список див Вбудовані алгоритми з попередньо навченою таблицею моделей. У нашому прикладі ми використовуємо модель уявлень двонаправленого кодувальника з трансформаторів (BERT), яка зазвичай використовується для обробки природної мови.
- Запустіть
train_model.py
сценарій для отримання артефактів моделі JumpStart і розгортання попередньо навченої моделі на вашій локальній машині:
Якщо цей крок завершиться успішно, результат може виглядати так:
У вихідних даних ви побачите три артефакти по порядку: базове зображення для висновку TensorFlow, сценарій висновку, який обслуговує модель, і артефакти, що містять навчену модель. Хоча ви можете створити власний образ Docker із цими артефактами, інший підхід полягає в тому, щоб дозволити локальному режиму SageMaker створити образ Docker для вас. У наступних кроках ми витягуємо образ контейнера, який працює локально, і розгортаємо його Реєстр контейнерів Amazon Elastic (Amazon ECR), а також надішліть артефакт моделі окремо Служба простого зберігання Amazon (Amazon S3).
Перетворіть артефакти локального режиму на віддалене розгортання Kubernetes
Тепер, коли ви підтвердили, що SageMaker працює локально, давайте витягнемо маніфест розгортання з запущеного контейнера. Виконайте наступні дії:
Визначте розташування маніфесту розгортання локального режиму SageMaker: для цього знайдіть у нашому кореневому каталозі будь-які файли з назвою 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
Визначте розташування артефактів моделі локального режиму SageMaker: Далі знайдіть базовий том, підключений до локального контейнера висновків SageMaker, який використовуватиметься в кожному робочому вузлі EKS після завантаження артефакту в 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>
Створіть локальну копію запущеного контейнера висновків SageMaker: Далі ми знайдемо поточний запущений образ контейнера, який запускає нашу модель висновку машинного навчання, і створимо копію контейнера локально. Це забезпечить нам власну копію зображення контейнера для отримання з 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/
Перш ніж діяти на model_local_volume
, який ми передамо в Amazon S3, надішліть копію запущеного образу Docker, який зараз знаходиться в sagemaker-container
до каталогу Amazon Elastic Container Registry. Обов'язково замінити region
, aws_account_id
, docker_image_id
та my-repository:tag
або дотримуйтесь Посібник користувача Amazon ECR. Також обов’язково зверніть увагу на остаточну URL-адресу зображення ECR (aws_account_id.dkr.ecr.region.amazonaws.com/my-repository:tag
), який ми будемо використовувати в нашому розгортанні EKS.
Тепер, коли у нас є зображення ECR, що відповідає кінцевій точці висновку, створіть нове відро Amazon S3 і скопіюйте локальні артефакти SageMaker (model_local_volume
) до цього відра. Паралельно створіть Identity Access Management (IAM), який надає доступ до екземплярів Amazon EC2 для читання об’єктів у сегменті. Обов'язково замінити з глобально унікальною назвою для вашого відра Amazon S3.
Далі, щоб гарантувати, що кожен екземпляр EC2 отримує копію артефакту моделі під час запуску, відредагуйте дані користувача для робочих вузлів EKS. У вашому сценарії даних користувача переконайтеся, що кожен вузол отримує артефакти моделі за допомогою S3 API під час запуску. Обов'язково замінити з глобально унікальною назвою для вашого відра Amazon S3. Враховуючи, що дані користувача вузла також включатимуть сценарій початкового завантаження EKS, повні дані користувача можуть виглядати приблизно так.
Тепер ви можете перевірити наявний маніфест докерів і перекласти його у зручні для Kubernetes файли маніфесту за допомогою Скласти, добре відомий інструмент перетворення. Примітка: якщо ви отримуєте помилку сумісності версії, змініть version
атрибут у рядку 27 файлу docker-compose.yml до “2”
.
Після запуску Kompose ви побачите чотири нових файли: a Deployment
об'єкт, Service
об'єкт, PersistentVolumeClaim
об'єкт і NetworkPolicy
об'єкт. Тепер у вас є все необхідне, щоб розпочати свій набіг на Kubernetes на краю!
Розгорніть артефакти моделі SageMaker
Переконайтеся, що ви завантажили kubectl і aws-iam-authenticator у свою AWS Cloud9 IDE. Якщо ні, дотримуйтесь інструкцій зі встановлення:
Тепер виконайте наступні кроки:
Змінити service/algo-1-ow3nv
об’єкт для перемикання типу служби ClusterIP
до NodePort
. У нашому прикладі ми вибрали порт 30,007 XNUMX як наш NodePort
:
Далі ви повинні дозволити NodePort у групі безпеки для вашого вузла. Для цього отримайте ідентифікатор групи безпеки та додайте NodePort до списку дозволених:
Далі змініть algo-1-ow3nv-deployment.yaml
маніфест для встановлення /tmp/model hostPath
каталог до контейнера. Замінити із зображенням ECR, яке ви створили раніше:
З файлами маніфесту, які ви створили з Kompose, використовуйте kubectl, щоб застосувати конфігурації до свого кластера:
Підключіться до моделі 5G edge
Щоб підключитися до вашої моделі, виконайте такі дії:
На консолі Amazon EC2 отримайте IP-адресу оператора робочого вузла EKS або використовуйте AWS CLI, щоб запитати безпосередньо IP-адресу оператора:
Тепер, отримавши IP-адресу оператора, ви можете підключитися до моделі безпосередньо за допомогою NodePort. Створіть файл під назвою invoke.py
щоб безпосередньо викликати модель BERT, надаючи текстові введення, які будуть запущені проти аналізатора настроїв, щоб визначити, чи був тон позитивним чи негативним:
Ваш результат має виглядати так:
Прибирати
Щоб знищити всі створені ресурси програми, видаліть робочі вузли AWS Wavelength, площину керування EKS і всі ресурси, створені в межах VPC. Крім того, видаліть репозиторій ECR, який використовується для розміщення зображення контейнера, сегменти S3, які використовуються для розміщення артефактів моделі SageMaker, і sagemaker-demo-app-s3 IAM
політика
Висновок
У цій публікації ми продемонстрували новий підхід до розгортання моделей SageMaker на межі мережі за допомогою Amazon EKS і AWS Wavelength. Щоб дізнатися про найкращі практики Amazon EKS щодо AWS Wavelength, див Розгорніть георозподілені кластери Amazon EKS на AWS Wavelength. Крім того, щоб дізнатися більше про Jumpstart, відвідайте Посібник розробника Amazon SageMaker JumpStart або JumpStart Таблиця доступних моделей.
Про авторів
Роберт Белсон є захисником розробників у бізнес-підрозділі AWS Worldwide Telecom, який спеціалізується на AWS Edge Computing. Він зосереджується на роботі зі спільнотою розробників і великими корпоративними клієнтами для вирішення їхніх бізнес-завдань за допомогою автоматизації, гібридних мереж і периферійної хмари.
Мохаммед Аль-Мехдар є старшим архітектором рішень у міжнародному бізнес-підрозділі телекомунікацій AWS. Його основна увага полягає в тому, щоб допомогти клієнтам створювати та розгортати робочі навантаження Telco та Enterprise IT на AWS. До того, як приєднатися до AWS, Мохаммед працював у галузі телекомунікацій понад 13 років і має багатий досвід у сферах LTE Packet Core, 5G, IMS і WebRTC. Мохаммед має ступінь бакалавра телекомунікаційної інженерії в Університеті Конкордія.
Еван Кравіц є інженером-програмістом Amazon Web Services, працює над SageMaker JumpStart. Йому подобається готувати і бігати в Нью-Йорку.
Джастін Сент-Арно є заступником директора – архітектором рішень у Verizon для державного сектору з понад 15-річним досвідом роботи в ІТ-галузі. Він є пристрасним прихильником потужності периферійних обчислень і мереж 5G і є експертом у розробці інноваційних технологічних рішень, які використовують ці технології. Джастін із особливим ентузіазмом сприймає можливості Amazon Web Services (AWS) у наданні найсучасніших рішень для своїх клієнтів. У вільний час Джастін любить бути в курсі останніх технологічних тенденцій і ділитися своїми знаннями та ідеями з іншими в галузі.
- Розповсюдження контенту та PR на основі SEO. Отримайте посилення сьогодні.
- Платоблокчейн. Web3 Metaverse Intelligence. Розширені знання. Доступ тут.
- джерело: https://aws.amazon.com/blogs/machine-learning/deploy-pre-trained-models-on-aws-wavelength-with-5g-edge-using-amazon-sagemaker-jumpstart/
- :є
- 1
- 10
- 100
- 11
- 15 роки
- 5G
- 7
- 8
- 9
- a
- МЕНЮ
- Прийняти
- доступ
- рахунки
- через
- дію
- Додатково
- адреса
- прихід
- адвокат
- після
- проти
- алгоритми
- ВСІ
- дозволяє
- хоча
- завжди
- Amazon
- Amazon EC2
- Amazon SageMaker
- Amazon SageMaker JumpStart
- Amazon Web Services
- Веб-служби Amazon (AWS)
- аналітика
- та
- Інший
- API
- додаток
- застосування
- Застосовувати
- підхід
- архітектура
- ЕСТЬ
- області
- AS
- Юрист
- Асоціація
- At
- Автоматизація
- автономний
- доступний
- AWS
- AWS Cloud9
- бар'єр
- база
- BE
- починати
- КРАЩЕ
- передового досвіду
- Bootstrap
- Приносить
- будувати
- вбудований
- бізнес
- by
- званий
- CAN
- можливості
- випадків
- КПП
- CD
- проблеми
- зміна
- вибір
- Вибирати
- Місто
- клієнтів
- ближче
- хмара
- Cloud9
- кластер
- код
- COM
- зазвичай
- співтовариство
- сумісність
- повний
- обчислення
- комп'ютер
- Комп'ютерне бачення
- обчислення
- Підтверджено
- З'єднуватися
- Консоль
- Контейнер
- Контейнери
- контроль
- Зближення
- Перетворення
- конвертувати
- Core
- Відповідний
- може
- створювати
- створений
- створення
- натовп
- В даний час
- виготовлений на замовлення
- Клієнти
- Вирізати
- передовий
- дані
- Дата
- певний
- Ступінь
- доставляти
- надання
- демонструвати
- продемонстрований
- Залежність
- розгортання
- розгорнути
- розгортання
- розгортання
- знищити
- Виявлення
- Визначати
- Розробник
- розробників
- розвивається
- розробка
- безпосередньо
- Директор
- обговорювалися
- Docker
- скачати
- водіння
- кожен
- Раніше
- легко
- Схід
- нудьгувати
- край
- краю обчислень
- ефект
- включіть
- включений
- Кінцева точка
- інженер
- Машинобудування
- забезпечувати
- підприємство
- підприємств
- захоплений
- запис
- Навколишнє середовище
- середовищах
- обладнання
- помилка
- Навіть
- НІКОЛИ
- все
- приклад
- виконання
- існуючий
- розширюється
- досвід
- Досліди
- експерт
- продовжити
- витяг
- філе
- Файли
- остаточний
- знайти
- Сфокусувати
- фокусується
- стежити
- потім
- після
- для
- Напад
- шахрайство
- виявлення шахрайства
- Безкоштовна
- без тертя
- від
- повністю
- функція
- Основи
- генерується
- отримати
- даний
- Глобальний
- Глобально
- земну кулю
- Go
- буде
- Group
- Групи
- керівництво
- Гід
- апаратні засоби
- збруя
- Мати
- допомога
- тримає
- господар
- Як
- How To
- HTML
- HTTP
- HTTPS
- Сотні
- гібрид
- ID
- Особистість
- зображення
- імпорт
- in
- включати
- Augmenter
- промисловість
- Інфраструктура
- інноваційний
- інноваційні технології
- вхід
- розуміння
- встановлювати
- екземпляр
- інтеграція
- інтерактивний
- інвестиції
- IP
- IP-адреса
- IT
- ІТ-індустрія
- приєднання
- JPG
- json
- Джастін
- зберігання
- ключ
- Дитина
- Комплект (SDK)
- знання
- етикетки
- мова
- великий
- Затримка
- останній
- запуск
- УЧИТЬСЯ
- вивчення
- Важіль
- як
- Лінія
- ліній
- список
- місцевий
- локально
- розташування
- подивитися
- машина
- навчання за допомогою машини
- головний
- обслуговування
- зробити
- вдалося
- управління
- метадані
- мінімізація
- ML
- Mobile
- мобільних мереж
- режим
- модель
- Моделі
- змінювати
- більше
- найбільш
- МОНТАЖ
- ім'я
- Названий
- Природний
- Обробка природних мов
- Необхідність
- негативний
- мережу
- на основі мережі
- мережа
- мереж
- Нові
- Нью-Йорк
- Нью-Йорк
- наступний
- nlp
- вузол
- вузли
- роман
- номер
- об'єкт
- об'єкти
- of
- запропонований
- Пропозиції
- on
- ONE
- з відкритим вихідним кодом
- операції
- Можливість
- Опції
- порядок
- інші
- вихід
- власний
- пакети
- Паралельні
- особливо
- пристрасний
- шлях
- plato
- Інформація про дані Платона
- PlatoData
- політика
- популярний
- розташовані
- позитивний
- це можливо
- пошта
- влада
- практики
- Прогноз
- попередній
- приватний
- обробка
- видатний
- забезпечує
- забезпечення
- громадськість
- Тягне
- Штовхати
- швидко
- Читати
- реального часу
- Рекомендація
- зменшити
- регіон
- реєстру
- віддалений
- замінювати
- запитів
- необхідний
- ресурс
- ресурси
- роздрібної торгівлі
- Умови повернення
- Роль
- корінь
- прогін
- біг
- безпечніше
- мудрець
- Висновок SageMaker
- Sdk
- плавно
- Пошук
- сектор
- безпеку
- обраний
- старший
- служити
- служить
- обслуговування
- Послуги
- комплект
- поділ
- Повинен
- Шоу
- простий
- просто
- So
- Софтвер
- розробка програмного забезпечення
- Інженер-програміст
- рішення
- Рішення
- ВИРІШИТИ
- що в сім'ї щось
- спеціалізується
- починається
- Заява
- Статус
- Крок
- заходи
- зберігання
- Стратегія
- наступні
- процвітати
- такі
- Підтриманий
- Опори
- перемикач
- Systems
- TAG
- Приймати
- методи
- Технології
- Технологія
- Telco
- телеком
- зв'язок
- Телекомунікаційна техніка
- шаблон
- тензорний потік
- Що
- Команда
- їх
- Ці
- три
- час
- до
- TONE
- інструмент
- навчений
- Трансформатори
- переводити
- Тенденції
- правда
- при
- що лежить в основі
- створеного
- блок
- університет
- відімкнути
- розблокування
- відповідний сучасним вимогам
- URL
- використання
- користувач
- v1
- значення
- різноманітність
- Місце зустрічі
- Verizon
- версія
- через
- Віртуальний
- бачення
- візит
- обсяг
- Обсяги
- хотів
- Багатство
- Web
- веб-сервіси
- ДОБРЕ
- добре відомі
- Чи
- який
- в той час як
- волі
- з
- в
- робочий
- робочий
- світовий
- б
- ямл
- років
- Ти
- вашу
- YouTube
- зефірнет
- зони