Експерименти машинного навчання (ML) у хмарі можуть охоплювати багато служб і компонентів. Здатність структурувати, автоматизувати та відстежувати експерименти ML є важливою для швидкого розвитку моделей ML. Завдяки останнім досягненням у сфері автоматизованого машинного навчання (AutoML), а саме області ML, присвяченій автоматизації процесів машинного навчання, ви можете створювати точні моделі прийняття рішень, не потребуючи глибоких знань ML. У цій публікації ми розглянемо AutoGluon, фреймворк AutoML з відкритим кодом, який дозволяє створювати точні моделі ML лише за допомогою кількох рядків Python.
AWS пропонує широкий спектр послуг для керування та запуску робочих процесів ML, дозволяючи вибрати рішення на основі ваших навичок і застосування. Наприклад, якщо ви вже використовуєте Функції кроку AWS щоб організувати компоненти розподілених додатків, ви можете використовувати ту саму службу для створення й автоматизації робочих процесів машинного навчання. Серед інших інструментів MLOps, які пропонує AWS Трубопроводи Amazon SageMaker, що дозволяє створювати моделі ML Студія Amazon SageMaker з можливостями MLOps (наприклад, сумісність CI/CD, моніторинг моделі та схвалення моделей). Інструменти з відкритим кодом, наприклад Потік повітря Apache—доступно на AWS через Керовані робочі процеси Amazon для Apache Airflow- і KubeFlow, а також гібридні рішення, також підтримуються. Наприклад, ви можете керувати прийомом та обробкою даних за допомогою крокових функцій, навчаючи й розгортаючи свої моделі машинного навчання за допомогою SageMaker Pipelines.
У цій публікації ми показуємо, як навіть розробники без досвіду машинного навчання можуть легко створювати та підтримувати найсучасніші моделі ML за допомогою AutoGluon на Amazon SageMaker і крокові функції для організації компонентів робочого процесу.
Після огляду алгоритму AutoGluon ми представляємо визначення робочого процесу разом із прикладами та підручник з кодом які ви можете застосувати до власних даних.
Автоглюон
AutoGluon — це фреймворк AutoML з відкритим вихідним кодом, який прискорює впровадження ML, навчаючи точних моделей машинного навчання лише за допомогою кількох рядків коду Python. Хоча ця публікація зосереджена на табличних даних, AutoGluon також дозволяє тренувати найсучасніші моделі для класифікації зображень, виявлення об’єктів та класифікації тексту. Таблиця AutoGluon створює та комбінує різні моделі, щоб знайти оптимальне рішення.
Команда AutoGluon в AWS випустила a папір в якому представлені принципи, які структурують бібліотеку:
- Простота – Ви можете створювати моделі класифікації та регресії безпосередньо з необроблених даних без необхідності аналізувати дані або виконувати інженерні характеристики
- Надійність – Загальний навчальний процес має бути успішним, навіть якщо деякі з окремих моделей зазнають невдачі
- Передбачуваний термін – Ви можете отримати оптимальні результати протягом часу, який ви хочете інвестувати на навчання
- Відмовостійкість – Ви можете зупинити навчання та відновити його в будь-який час, що оптимізує витрати, якщо процес виконується на спотових зображеннях у хмарі
Докладніше про алгоритм див папір випущений командою AutoGluon на AWS.
Після встановлення Пакет AutoGluon та його залежностей, навчання моделі так само легко, як написання трьох рядків коду:
Команда AutoGluon довела міцність фреймворка, потрапивши до 10 найкращих лідерів у кількох змаганнях Kaggle.
Огляд рішення
Ми використовуємо функції кроків для реалізації робочого процесу машинного навчання, який охоплює навчання, оцінку та розгортання. Конструкція конвеєра дозволяє проводити швидкі та настроювані експерименти, змінюючи вхідні параметри, які ви подаєте в конвеєр під час виконання.
Ви можете налаштувати конвеєр для реалізації різних робочих процесів, наприклад:
- Навчіть нову модель ML і збережіть її в реєстрі моделі SageMaker, якщо на цьому етапі розгортання не потрібно
- Розгорніть попередньо навчену модель ML або для онлайн (Кінцева точка SageMaker) або офлайн (Пакетне перетворення SageMaker) висновок
- Виконайте повний конвеєр для навчання, оцінки та розгортання моделі ML з нуля
Рішення складаються із заг державна машина (див. наступну діаграму), яка організовує набір дій, які потрібно виконати на основі набору вхідних параметрів.
Етапи кінцевої машини такі:
- Перший крок
IsTraining
вирішує, чи використовуємо ми попередньо підготовлену модель чи навчаємо модель з нуля. Якщо використовується попередньо навчена модель, кінцевий автомат переходить до кроку 7. - Коли потрібна нова модель ML,
TrainSteps
запускає другий кінцевий автомат, який виконує всі необхідні дії і повертає результат до поточного кінцевого автомата. У наступному розділі ми докладніше розглянемо машину стану навчання. - Коли навчання закінчено,
PassModelName
зберігає назву навчального завдання у визначеному місці контексту кінцевого автомата для повторного використання в наступних станах. - Якщо вибрано етап оцінки,
IsEvaluation
перенаправляє кінцевий автомат до гілки оцінки. В іншому випадку перехід до кроку 7. - Потім етап оцінки реалізується за допомогою an AWS Lambda функція, що викликається
ModelValidation
крок. Функція Lambda отримує характеристики моделі на тестовому наборі та порівнює її з порогом, який налаштовується користувачем, зазначеним у вхідних параметрах. Наведений нижче код є прикладом результатів оцінки: - Якщо оцінка моделі на
EvaluationResults
успішно, кінцева машина продовжує з кінцевими кроками розгортання. Якщо модель працює нижче критеріїв, визначених користувачем, кінцевий автомат зупиняється, а розгортання пропускається. - Якщо вибрано розгортання,
IsDeploy
запускає третій кінцевий автомат черезDeploySteps
, який ми опишемо далі в цій публікації. Якщо розгортання не потрібне, кінцевий автомат зупиняється тут.
Набір зразків вхідних параметрів доступний на сторінці GitHub репо.
Навчальний державний автомат
Кінцевий автомат для навчання нової моделі ML за допомогою AutoGluon складається з двох кроків, як показано на наступній діаграмі. Першим кроком є навчальна робота SageMaker, яка створює модель. Другий зберігає записи в реєстрі моделі SageMaker.
Ви можете виконувати ці кроки автоматично як частину основного автомата або як окремий процес.
Стан автомата розгортання
Тепер розглянемо кінцевий автомат, призначений для фази розгортання (див. наступну діаграму). Як згадувалося раніше, архітектура підтримує як онлайн, так і автономне розгортання. Перший складається з розгортання кінцевої точки SageMaker, тоді як другий виконує завдання пакетного перетворення SageMaker.
Етапи впровадження наступні:
ChoiceDeploymentMode
переглядає вхідні параметри, щоб визначити, який режим розгортання потрібен, і спрямовує кінцевий автомат до відповідної гілки.- Якщо вибрано кінцеву точку, то
EndpointConfig
step визначає його конфігурацію, whileCreateEndpoint
запускає процес розподілу необхідних обчислювальних ресурсів. Це виділення може зайняти кілька хвилин, тому кінцевий автомат зупиняється наWaitForEndpoint
і використовує лямбда-функцію для опитування стану кінцевої точки. - Під час налаштування кінцевої точки,
ChoiceEndpointStatus
повертається доWaitForEndpoint
державі, інакше вона продовжує бутиDeploymentFailed
orDeploymentSucceeded
. - Якщо вибрано автономне розгортання, кінцевий автомат запускає завдання пакетного перетворення SageMaker, після чого кінцевий автомат зупиняється.
Висновок
У цій публікації представлено простий у використанні конвеєр для організації робочих процесів AutoML та забезпечення швидких експериментів у хмарі, що дає змогу розробляти точні рішення щодо машинного машинного навчання без потреби передових знань з ML.
Ми надаємо загальний конвеєр, а також два модульних, які дозволяють виконувати навчання та розгортання окремо, якщо це необхідно. Крім того, рішення повністю інтегроване з SageMaker, використовуючи його функції та обчислювальні ресурси.
Почніть з цим зараз підручник з кодом щоб розгорнути ресурси, представлені в цій публікації, у вашому обліковому записі AWS і запустити свої перші експерименти AutoML.
Про авторів
Федеріко Пічініні є архітектором глибокого навчання для лабораторії рішень машинного навчання Amazon. Він захоплений машинним навчанням, зрозумілим ШІ та MLOps. Він зосереджується на розробці конвеєрів ML для клієнтів AWS. Поза роботою любить спорт і піцу.
Паоло Іррера є науковцем із даних у лабораторії рішень машинного навчання Amazon, де він допомагає клієнтам вирішувати проблеми бізнесу за допомогою машинного машинного навчання та хмарних можливостей. Він має ступінь доктора філософії в галузі комп'ютерного зору в Telecom ParisTech, Париж.
- Coinsmart. Найкраща в Європі біржа біткойн та криптовалют.
- Платоблокчейн. Web3 Metaverse Intelligence. Розширені знання. БЕЗКОШТОВНИЙ ДОСТУП.
- CryptoHawk. Альткойн Радар. Безкоштовне випробування.
- Джерело: https://aws.amazon.com/blogs/machine-learning/manage-automl-workflows-with-aws-step-functions-and-autogluon-on-amazon-sagemaker/
- "
- 10
- 100
- 7
- a
- здатність
- МЕНЮ
- рахунки
- точний
- через
- дії
- адреса
- Прийняття
- просунутий
- досягнення
- AI
- алгоритм
- ВСІ
- розподіл
- Дозволити
- дозволяє
- вже
- хоча
- Amazon
- аналізувати
- додаток
- застосування
- Застосовувати
- архітектура
- ПЛОЩА
- автоматизувати
- Автоматизований
- автоматично
- Автоматизація
- доступний
- AWS
- буття
- нижче
- будувати
- бізнес
- Може отримати
- можливості
- вибраний
- класифікація
- хмара
- код
- сумісність
- Змагання
- повний
- Компоненти
- комп'ютер
- обчислення
- конфігурація
- триває
- Відповідний
- витрати
- створювати
- створює
- Критерії
- Поточний
- Поточний стан
- Клієнти
- дані
- вчений даних
- присвячених
- глибокий
- розгортання
- розгортання
- розгортання
- описувати
- дизайн
- проектування
- деталь
- деталі
- Виявлення
- розробників
- розробка
- різний
- безпосередньо
- розподілений
- легко
- легкий у використанні
- включіть
- дозволяє
- Кінцева точка
- істотний
- оцінювати
- оцінка
- приклад
- Приклади
- експертиза
- ШВИДКО
- особливість
- риси
- Перший
- фокусується
- після
- слідує
- Рамки
- від
- функція
- Функції
- Загальне
- має
- допомагає
- тут
- тримає
- Як
- HTTPS
- гібрид
- зображення
- зображень
- здійснювати
- реалізація
- реалізовані
- включати
- індивідуальний
- вхід
- встановлювати
- інтегрований
- IT
- робота
- знання
- lab
- останній
- вивчення
- бібліотека
- ліній
- розташування
- подивитися
- машина
- навчання за допомогою машини
- підтримувати
- управляти
- вдалося
- згаданий
- ML
- модель
- Моделі
- модульний
- моніторинг
- більше
- множинний
- а саме
- необхідно
- нужденних
- наступний
- запропонований
- Пропозиції
- offline
- онлайн
- Інше
- інакше
- загальний
- власний
- Паріс
- частина
- пристрасний
- виступи
- виконанні
- фаза
- Піца
- голосування
- представити
- подарунки
- проблеми
- процес
- процеси
- обробка
- забезпечувати
- діапазон
- Сировина
- випущений
- вимагається
- ресурси
- результати
- резюме
- Умови повернення
- прогін
- то ж
- вчений
- обраний
- обслуговування
- Послуги
- комплект
- кілька
- Показувати
- навички
- So
- рішення
- Рішення
- деякі
- SPORTS
- Spot
- автономні
- почалася
- починається
- стан
- впроваджений
- Штати
- Статус
- зберігати
- магазинів
- сила
- успішний
- Підтриманий
- Опори
- команда
- телеком
- тест
- Команда
- три
- поріг
- через
- час
- інструменти
- топ
- до
- трек
- поїзд
- Навчання
- Перетворення
- використання
- бачення
- Чи
- в той час як
- в
- без
- Work
- Робочі процеси
- лист
- вашу