Автопілот Amazon SageMaker автоматично створює, навчає та налаштовує найкращі моделі машинного навчання (ML) на основі ваших даних, дозволяючи вам зберігати повний контроль і видимість. Автопілот також може автоматично розгортати навчені моделі до кінцевих точок висновку в реальному часі.
Якщо у вас є робочі навантаження з різкими або непередбачуваними моделями трафіку, які можуть терпіти холодні старти, тоді розгортання моделі на безсерверній кінцевій точці висновку буде економічно ефективнішим.
Безсерверний висновок Amazon SageMaker це спеціально розроблена опція висновку, яка ідеально підходить для робочих навантажень із непередбачуваними моделями трафіку, які допускають холодний запуск. На відміну від кінцевої точки висновку в реальному часі, яка підтримується тривалим обчислювальним екземпляром, безсерверні кінцеві точки надають ресурси на вимогу за допомогою вбудованого автоматичного масштабування. Безсерверні кінцеві точки автоматично масштабуються залежно від кількості вхідних запитів і зменшують ресурси до нуля, коли вхідних запитів немає, що допомагає мінімізувати ваші витрати.
У цьому дописі ми покажемо, як розгорнути навчені моделі автопілота на безсерверних кінцевих точках висновку за допомогою Бібліотеки Boto3 та цінності Amazon SageMaker.
Режими навчання автопілоту
Перш ніж створювати експеримент автопілота, ви можете дозволити автопілоту вибрати режим навчання автоматично, або ви можете вибрати режим навчання вручну.
Зараз автопілот підтримує три режими навчання:
- Авто – Залежно від розміру набору даних автопілот автоматично вибирає або режим ансамблю, або режим HPO. Для наборів даних розміром понад 100 МБ автопілот вибирає HPO; інакше він обирає ансамбль.
- Ансамблювання – Автопілот використовує Автоглюон техніку ансамблювання з використанням укладання моделей і створює оптимальну прогностичну модель.
- Гіперпараметрична оптимізація (HPO) – Autopilot знаходить найкращу версію моделі, налаштовуючи гіперпараметри за допомогою байєсівської оптимізації або мультиточної оптимізації під час виконання навчальних завдань на вашому наборі даних. Режим HPO вибирає алгоритми, найбільш відповідні вашому набору даних, і вибирає найкращий діапазон гіперпараметрів для налаштування ваших моделей.
Щоб дізнатися більше про режими навчання автопілота, див Режими навчання.
Огляд рішення
У цій публікації ми використовуємо Маркетинг UCI Bank набір даних, щоб передбачити, чи підпишеться клієнт на строковий депозит, запропонований банком. Це тип задачі двійкової класифікації.
Ми запускаємо два завдання автопілота за допомогою Бібліотеки Boto3 для SageMaker. У першій роботі в якості обраного режиму навчання використовується ансамбль. Потім ми розгортаємо модель єдиного ансамблю, згенеровану на безсерверній кінцевій точці, і надсилаємо запити на висновки до цієї розміщеної кінцевої точки.
Друга робота використовує режим навчання HPO. Для типів проблем класифікації Autopilot генерує три контейнери висновків. Ми витягуємо ці три контейнери висновків і розгортаємо їх на окремих безсерверних кінцевих точках. Потім ми надсилаємо запити на висновки до цих розміщених кінцевих точок.
Для отримання додаткової інформації про типи задач регресії та класифікації див Визначення контейнера висновків для типів проблем регресії та класифікації.
Ми також можемо запускати завдання автопілота з Студія Amazon SageMaker інтерфейс користувача. Якщо ви запускаєте завдання з інтерфейсу користувача, обов’язково вимкніть Автоматичне розгортання опція в Розгортання та додаткові параметри розділ. В іншому випадку Autopilot розгорне найкращий кандидат на кінцеву точку в реальному часі.
Передумови
Переконайтеся, що у вас встановлено останню версію пакетів Boto3 і SageMaker Python:
pip install -U boto3 sagemaker
Нам потрібна версія пакета SageMaker >= 2.110.0
і версія Boto3 >= boto3-1.24.84.
Запустіть завдання автопілота в режимі групування
Щоб запустити завдання автопілота за допомогою бібліотек SageMaker Boto3, ми використовуємо create_auto_ml_job API. Тоді ми проходимо AutoMLJobConfig
, InputDataConfig
та AutoMLJobObjective
як вхідні дані для create_auto_ml_job
. Дивіться наступний код:
Автопілот повертає BestCandidate
модельний об’єкт, який має InferenceContainers
необхідні для розгортання моделей до кінцевих точок висновку. Щоб отримати BestCandidate
для попередньої роботи ми використовуємо describe_automl_job
функція:
Розгорніть навчену модель
Тепер ми розгортаємо попередній контейнер висновків на безсерверній кінцевій точці. Першим кроком є створення моделі з контейнера висновків, а потім створення конфігурації кінцевої точки, у якій ми вказуємо MemorySizeInMB
та MaxConcurrency
значення для безсерверної кінцевої точки разом із назвою моделі. Нарешті, ми створюємо кінцеву точку зі створеною вище конфігурацією кінцевої точки.
Рекомендуємо обрати свій розмір пам'яті кінцевої точки відповідно до розміру вашої моделі. Обсяг пам’яті має бути не менше розміру вашої моделі. Ваша безсерверна кінцева точка має мінімальний розмір оперативної пам’яті 1024 МБ (1 ГБ), а максимальний розмір оперативної пам’яті, який ви можете вибрати, становить 6144 МБ (6 ГБ).
Об’єм пам’яті, який ви можете вибрати: 1024 МБ, 2048 МБ, 3072 МБ, 4096 МБ, 5120 МБ або 6144 МБ.
Щоб допомогти визначити, чи безсерверна кінцева точка є правильним варіантом розгортання з точки зору вартості та продуктивності, радимо вам звернутися до Набір інструментів порівняльного аналізу безсерверного висновку SageMaker, який тестує різні конфігурації кінцевих точок і порівнює найоптимальнішу з порівнянним примірником хостингу в реальному часі.
Зауважте, що безсерверні кінцеві точки приймають лише SingleModel
для контейнерів висновків. Автопілот у режимі ансамблювання генерує єдину модель, тому ми можемо розгорнути цей контейнер моделі як є до кінцевої точки. Перегляньте наступний код:
Коли кінцева точка висновку без сервера є InService
, ми можемо перевірити кінцеву точку, надіславши запит на висновок, і спостерігати за прогнозами. Наступна схема ілюструє архітектуру цієї установки.
Зверніть увагу, що ми можемо надсилати необроблені дані як корисне навантаження до кінцевої точки. Модель ансамблю, згенерована Autopilot, автоматично включає в себе всі необхідні етапи перетворення ознак і зворотного перетворення міток, а також модель алгоритму та пакети в єдину модель.
Надіслати запит на висновок навченій моделі
Використовуйте наступний код, щоб надіслати висновок на вашу модель, навчену в режимі ансамблю:
Запустіть роботу автопілота в режимі HPO
У режимі HPO, для CompletionCriteria
, до того ж MaxRuntimePerTrainingJobInSeconds
та MaxAutoMLJobRuntimeInSeconds,
ми також можемо вказати MaxCandidates
щоб обмежити кількість кандидатів, які генеруватиме робота автопілота. Зауважте, що це необов’язкові параметри, які встановлено лише для обмеження часу виконання завдання для демонстрації. Перегляньте наступний код:
Щоб отримати BestCandidate
для попередньої роботи ми можемо знову використати describe_automl_job
функція:
Розгорніть навчену модель
Автопілот у режимі HPO для типу проблеми класифікації генерує три контейнери висновків.
Перший контейнер обробляє етапи перетворення функції. Далі контейнер алгоритму генерує predicted_label
з найбільшою ймовірністю. Нарешті, контейнер висновків після обробки виконує зворотне перетворення прогнозованої мітки та відображає її на вихідній мітці. Для отримання додаткової інформації див Визначення контейнера висновків для типів проблем регресії та класифікації.
Ми витягуємо ці три контейнери висновків і розгортаємо їх на окремих безсерверних кінцевих точках. Для логічного висновку ми послідовно викликаємо кінцеві точки, відправляючи корисне навантаження спочатку в контейнер перетворення функцій, потім передаючи вихідні дані з цього контейнера в контейнер алгоритму і, нарешті, передаючи вихідні дані з попереднього контейнера логічного висновку в контейнер постобробки, який виводить передбачену мітку.
Наступна схема ілюструє архітектуру цієї установки.
Ми витягуємо три контейнери висновків із BestCandidate
з таким кодом:
Надіслати запит на висновок навченій моделі
Для висновку ми надсилаємо корисне навантаження в послідовності: спочатку до контейнера перетворення функції, потім до контейнера моделі і, нарешті, до контейнера перетворення зворотної мітки.
Дивіться наступний код:
Повна реалізація цього прикладу доступна в наступному jupyter ноутбук.
Прибирати
Щоб очистити ресурси, ви можете видалити створені безсерверні кінцеві точки, конфігурації кінцевих точок і моделі:
Висновок
У цьому дописі ми показали, як ми можемо розгортати моделі, згенеровані автопілотом, у режимах ансамблю та HPO на безсерверних кінцевих точках висновку. Це рішення може пришвидшити вашу здатність використовувати економічно ефективні та повністю керовані служби ML, такі як Autopilot, для швидкого створення моделей із необроблених даних, а потім розгортати їх на повністю керованих безсерверних кінцевих точках висновків із вбудованим автоматичним масштабуванням для зменшення витрат. .
Ми радимо вам спробувати це рішення з набором даних, що відповідає KPI вашого бізнесу. Ви можете звернутися до рішення, реалізованого в блокноті Jupyter у GitHub репо.
Додаткові посилання
Про автора
Правін Чамарті є старшим спеціалістом зі штучного інтелекту та ML Amazon Web Services. Він захоплений штучним інтелектом/ML і всім, що стосується AWS. Він допомагає клієнтам по всій Америці масштабувати, впроваджувати інновації та ефективно керувати робочими навантаженнями ML на AWS. У вільний час Правін любить читати і любить дивитися науково-фантастичні фільми.
- Розширений (300)
- AI
- ai мистецтво
- AI арт генератор
- ai робот
- Amazon SageMaker
- Автопілот Amazon SageMaker
- штучний інтелект
- сертифікація штучного інтелекту
- штучний інтелект у банківській справі
- робот зі штучним інтелектом
- роботи зі штучним інтелектом
- програмне забезпечення для штучного інтелекту
- AWS Машинне навчання
- blockchain
- блокчейн конференція AI
- coingenius
- розмовний штучний інтелект
- крипто конференція ai
- dall's
- глибоке навчання
- у вас є гугл
- навчання за допомогою машини
- plato
- платон ai
- Інформація про дані Платона
- Гра Платон
- PlatoData
- platogaming
- масштаб ai
- синтаксис
- Технічні інструкції
- зефірнет