У 2021 році ми запустили AWS Support Proactive Services як частина Підтримка AWS Enterprise планувати. З моменту його появи ми допомогли сотням клієнтів оптимізувати їхні робочі навантаження, встановити захисні огородження та покращити видимість витрат і використання робочих навантажень машинного навчання (ML).
У цій серії публікацій ми ділимося уроками щодо оптимізації витрат у Amazon SageMaker. У цій публікації ми зосередимося на навчальних роботах SageMaker.
Навчальні завдання SageMaker
Навчальні завдання SageMaker — це асинхронні пакетні процеси з вбудованими функціями для навчання й оптимізації моделі ML.
З навчальними завданнями SageMaker ви можете використовувати свій власний алгоритм або вибирати з більш ніж 25 вбудованих алгоритмів. SageMaker підтримує різні джерела даних і шаблони доступу, розподілене навчання, включаючи гетерогенні кластери, а також функції керування експериментом і автоматичне налаштування моделі.
Вартість навчального завдання базується на ресурсах, які ви використовуєте (екземпляри та сховище) протягом часу (у секундах), протягом якого ці екземпляри працюють. Це включає в себе час навчання і, якщо ви використовуєте функція теплого басейну, налаштований вами період підтримки активності. в Частина 1, ми показали, як почати використовувати AWS Cost Explorer щоб визначити можливості оптимізації витрат у SageMaker. Ви можете фільтрувати витрати на навчання, застосувавши фільтр за типом використання. Назви цих типів використання такі:
REGION-Train:instanceType
(наприклад,USE1-Train:ml.m5.large
)REGION-Train:VolumeUsage.gp2
(наприклад,USE1-Train:VolumeUsage.gp2
)
Щоб переглянути розбивку ваших витрат на навчання в Cost Explorer, ви можете ввести train:
як префікс для Тип використання. Якщо фільтрувати лише за використаними годинами (див. наступний знімок екрана), Cost Explorer створить два графіки: вартість і використання. Це подання допоможе вам визначити пріоритети можливостей оптимізації та визначити, які екземпляри є довготривалими та дорогими.
Перш ніж оптимізувати наявну навчальну роботу, ми рекомендуємо дотримуватися найкращих практик, розглянутих у Оптимізація витрат на машинне навчання за допомогою Amazon SageMaker: перевірте свій код локально та використовуйте локальний режим для тестування використовуйте попередньо навчені моделі, де це можливо, і обміркуйте керовані точкові тренування (що може оптимізувати витрати до 90% порівняно з екземплярами On-Demand).
Коли завдання на вимогу запускається, воно проходить п’ять етапів: початок, завантаження, навчання, завантаження та завершення. Ви можете побачити ці фази та описи на сторінці навчальної роботи на консолі SageMaker.
З точки зору ціноутворення, з вас стягується плата за фази завантаження, навчання та завантаження.
Перегляд цих етапів є першим кроком у діагностиці того, як оптимізувати витрати на навчання. У цій публікації ми обговорюємо етапи завантаження та навчання.
Фаза завантаження
У попередньому прикладі етап завантаження тривав менше хвилини. Проте, якщо завантаження даних є суттєвим фактором вартості навчання, вам слід розглянути джерело даних, яке ви використовуєте, і методи доступу. Навчальні завдання SageMaker підтримують три джерела даних: Еластична файлова система Amazon (Amazon EFS), Служба простого зберігання Amazon (Amazon S3) і Amazon FSx для Luster. Для Amazon S3 SageMaker пропонує три керовані способи доступу вашого алгоритму до навчання: режим файлу (де дані завантажуються до блокового сховища екземпляра), режим конвеєра (дані передаються потоком до екземпляра, таким чином усуваючи тривалість фази завантаження) і швидкий режим файлу (поєднує простоту використання існуючого режиму файлу з продуктивністю режиму каналу). Докладні вказівки щодо вибору правильного джерела даних і методів доступу див Виберіть найкраще джерело даних для навчальної роботи Amazon SageMaker.
У разі використання керованого точкового навчання будь-які повторні фази завантаження, які виникли через переривання, не стягуються (тому з вас стягується плата лише за тривалість одноразового завантаження даних).
Важливо зазначити, що хоча навчальні завдання SageMaker підтримують згадані нами джерела даних, вони не є обов’язковими. У вашому навчальному коді ви можете реалізувати будь-який метод для завантаження навчальних даних з будь-якого джерела (за умови, що екземпляр навчання має до них доступ). Існують додаткові способи пришвидшити час завантаження, як-от використання API Boto3 із багатопроцесорністю для одночасного завантаження файлів або використання сторонніх бібліотек, таких як WebDataset або s5cmd, для швидшого завантаження з Amazon S3. Для отримання додаткової інформації див Розпаралелювання робочих навантажень S3 за допомогою s5cmd.
Етап тренувань
Оптимізація витрат на етапі навчання складається з оптимізації двох векторів: вибору правильної інфраструктури (сімейства та розміру екземплярів) і оптимізації самого навчання. Ми можемо приблизно розділити навчальні екземпляри на дві категорії: на базі прискореного графічного процесора, здебільшого для моделей глибокого навчання, і на базі ЦП для звичайних фреймворків ML. Щоб отримати вказівки щодо вибору правильного сімейства екземплярів для навчання, див Забезпечте ефективні обчислювальні ресурси на Amazon SageMaker. Якщо для навчання потрібні екземпляри GPU, рекомендуємо переглянути відео Як вибрати екземпляри GPU Amazon EC2 для глибокого навчання.
Як загальне керівництво, якщо для вашого робочого навантаження потрібен графічний процесор NVIDIA, ми виявили, що клієнти отримують значну економію коштів за допомогою двох Обчислювальна хмара Amazon Elastic Типи екземплярів (Amazon EC2): ml.g4dn та ml.g5. Ml.g4dn оснащений NVIDIA T4 і пропонує особливо низьку вартість пам'яті. Примірник ml.g5 оснащений NVIDIA A10g Tensor Core і має найнижчу ціну за флоп CUDA (fp32).
AWS пропонує спеціальні функції для економії коштів для глибокого навчання:
Щоб вибрати правильний розмір і оптимізувати свій екземпляр, вам слід спочатку подивитися на Amazon CloudWatch показники, які генерують навчальні роботи. Для отримання додаткової інформації див Роботи SageMaker і показники кінцевої точки. Ви можете далі використовувати CloudWatch метрики спеціального алгоритму для моніторингу продуктивності навчання.
Ці показники можуть вказувати на вузькі місця або надмірне виділення ресурсів. Наприклад, якщо ви спостерігаєте високу навантаженість процесора з низьким використанням графічного процесора, ви можете вирішити проблему, використовуючи неоднорідні кластери. Іншим прикладом може бути постійне низьке використання ЦП протягом усього завдання — це може призвести до зменшення розміру примірника.
Якщо ви використовуєте розподілене навчання, вам слід протестувати різні методи розподілу (баштовий, Ring-AllReduce, дзеркальний тощо), щоб перевірити максимальне використання та відповідно налаштувати параметри своєї структури (для прикладу див. Найкращі методи навчання прискорення TensorFlow 1.x на Amazon SageMaker). Важливо підкреслити, що ви можете використовувати API дистрибутива SageMaker і подібні бібліотеки SageMaker Distributed Data Parallel, Модель SageMaker Parallel та SageMaker Sharded Data Parallel, які оптимізовані для інфраструктури AWS і допомагають зменшити витрати на навчання.
Зауважте, що розподілене навчання не обов’язково лінійно масштабується та може спричинити певні витрати, що вплине на загальний час виконання.
Для моделей глибокого навчання іншим методом оптимізації є використання змішаної точності. Змішана точність може пришвидшити навчання, тим самим зменшуючи як час навчання, так і використання пам’яті з мінімальним впливом на точність моделі. Для отримання додаткової інформації див Навчання з Data Parallel і Model Parallel розділ в Розподілене навчання в Amazon SageMaker.
Нарешті, оптимізація специфічних параметрів інфраструктури може мати значний вплив на оптимізацію процесу навчання. Автоматичне налаштування моделі SageMaker знаходить найкращі гіперпараметри, виміряні об’єктивною метрикою, яку ви вибрали. Встановлення часу навчання як об’єктивної метрики та конфігурації рамки як гіперпараметрів може допомогти усунути вузькі місця та скоротити загальний час навчання. Приклад оптимізації налаштувань TensorFlow за замовчуванням і усунення вузького місця ЦП див Аероботика покращує швидкість тренувань у 24 рази за вибірку за допомогою Amazon SageMaker і TensorFlow.
Ще одна можливість оптимізувати час завантаження та обробки – розглянути можливість навчання на підмножині ваших даних. Якщо ваші дані складаються з кількох повторюваних записів або функцій із низьким приростом інформації, можливо, ви зможете потренуватися на підмножині даних і скоротити час завантаження та навчання, а також використовувати менший екземпляр і Магазин еластичних блоків Amazon (Amazon EBS) обсяг. Для прикладу див Використовуйте підхід, орієнтований на дані, щоб мінімізувати кількість даних, необхідних для навчання моделей Amazon SageMaker. Крім того, Amazon SageMaker Data Wrangler може спростити аналіз і створення навчальних зразків. Для отримання додаткової інформації див Створюйте випадкові та стратифіковані вибірки даних за допомогою Amazon SageMaker Data Wrangler.
Налагоджувач SageMaker
Щоб забезпечити ефективне навчання та використання ресурсів, SageMaker може профілювати вашу навчальну роботу за допомогою Налагоджувач Amazon SageMaker. Пропозиції Debugger вбудовані правила щоб попередити про загальні проблеми, які впливають на ваше навчання, як-от вузьке місце ЦП, збільшення пам’яті графічного процесора або вузьке місце вводу/виводу, або ви можете створити власні правила. Ви можете переглянути та проаналізувати створений звіт у Студія Amazon SageMaker. Для отримання додаткової інформації див Інтерфейс налагоджувача Amazon SageMaker в експериментах Amazon SageMaker Studio. На наступному знімку екрана показано подання Debugger у Studio.
Ви можете докладніше ознайомитися з операторами та функціями Python (the Топ операцій на GPU розділ), які запускаються для виконання навчальної роботи. Вбудовані правила Debugger для профілювання проблем, пов’язаних із роботою рамки спостереження, включаючи надмірний час ініціалізації навчання через завантаження даних перед початком навчання та викиди тривалості кроку в циклах навчання. Зауважте, що хоча використання вбудованих правил безкоштовне, вартість користувальницьких правил стягується залежно від екземпляра, який ви налаштували протягом навчального завдання та сховища, яке до нього додається.
Висновок
У цій публікації ми надали вказівки щодо аналізу витрат і найкращі практики під час навчання моделей машинного навчання за допомогою навчальних завдань SageMaker. Оскільки машинне навчання стає потужним інструментом у різних галузях, навчання та використання моделей ML повинні залишатися економічно ефективними. SageMaker пропонує широкий і глибокий набір функцій для полегшення кожного кроку в конвеєрі машинного навчання та надає можливості оптимізації витрат без впливу на продуктивність або гнучкість.
Про авторів
Діпалі Раджале є старшим спеціалістом зі штучного інтелекту та ML в AWS. Вона працює з корпоративними клієнтами, надаючи технічне керівництво з найкращими практиками для розгортання та підтримки рішень AI/ML в екосистемі AWS. Вона працювала з багатьма організаціями над різними сценаріями використання глибокого навчання, пов’язаними з НЛП та комп’ютерним зором. Вона захоплена розширенням можливостей організацій використовувати генеративний штучний інтелект для покращення досвіду використання. У вільний час вона захоплюється кіно, музикою та літературою.
Урі Розенберг є технічним менеджером зі штучного інтелекту та машинного навчання для Європи, Близького Сходу та Африки. Урі, що базується в Ізраїлі, працює над розширенням можливостей корпоративних клієнтів у всьому, що стосується машинного навчання, щоб проектувати, створювати та працювати в масштабі. У вільний час він захоплюється їздою на велосипеді, пішим туризмом і підвищенням ентропії.
- Розповсюдження контенту та PR на основі SEO. Отримайте посилення сьогодні.
- PlatoAiStream. Web3 Data Intelligence. Розширення знань. Доступ тут.
- Карбування майбутнього з Адріенн Ешлі. Доступ тут.
- Купуйте та продавайте акції компаній, які вийшли на IPO, за допомогою PREIPO®. Доступ тут.
- джерело: https://aws.amazon.com/blogs/machine-learning/part-4-analyze-amazon-sagemaker-spend-and-determine-cost-optimization-opportunities-based-on-usage-part-4-training-jobs/
- : має
- :є
- : ні
- :де
- $UP
- 1
- 100
- 2021
- 24
- 7
- a
- Здатний
- МЕНЮ
- прискорений
- доступ
- відповідно
- точність
- через
- Додатковий
- адреса
- впливати
- зачіпає
- Африка
- AI
- AI / ML
- Оповіщення
- алгоритм
- алгоритми
- ВСІ
- Також
- хоча
- Amazon
- Amazon EC2
- Amazon SageMaker
- Студія Amazon SageMaker
- Amazon Web Services
- кількість
- an
- аналіз
- аналізувати
- та
- Інший
- будь-який
- API
- Застосовувати
- Застосування
- підхід
- ЕСТЬ
- AS
- At
- автоматичний
- AWS
- заснований
- BE
- перед тим
- КРАЩЕ
- передового досвіду
- Великий
- Блокувати
- обидва
- Пробій
- приносити
- будувати
- вбудований
- by
- CAN
- випадків
- категорії
- стягується
- Вибирати
- Вибираючи
- код
- комбінати
- загальний
- Зроблено
- обчислення
- комп'ютер
- Комп'ютерне бачення
- конфігурація
- Вважати
- послідовний
- складається
- Консоль
- Core
- Коштувати
- економія на витратах
- рентабельним
- дорого
- витрати
- покритий
- створювати
- створення
- виготовлений на замовлення
- Клієнти
- дані
- глибокий
- глибоке навчання
- дефолт
- розгортання
- дизайн
- докладно
- Визначати
- різний
- обговорювати
- розподілений
- розподілене навчання
- розподіл
- робить
- Ні
- вниз
- скачати
- два
- тривалість
- кожен
- простота
- простота використання
- Схід
- екосистема
- ефективний
- усуваючи
- уповноважувати
- уповноважують
- Кінцева точка
- підвищувати
- забезпечувати
- Що натомість? Створіть віртуальну версію себе у
- підприємство
- обладнаний
- встановлює
- Європа
- приклад
- існуючий
- досвід
- експеримент
- дослідник
- сприяння
- фактор
- сім'я
- ШВИДКО
- швидше
- особливість
- риси
- філе
- Файли
- фільтрувати
- знахідки
- Перший
- Перший погляд
- Сфокусувати
- після
- слідує
- для
- знайдений
- Рамки
- каркаси
- Безкоштовна
- від
- Функції
- далі
- Отримувати
- Загальне
- породжувати
- генерується
- породжує
- генеративний
- Генеративний ШІ
- отримати
- йде
- GPU
- Графічні процесори
- графіки
- керівництво
- Мати
- he
- допомога
- допоміг
- її
- Високий
- Виділіть
- його
- ГОДИННИК
- Як
- How To
- Однак
- HTML
- HTTP
- HTTPS
- Сотні
- ідентифікувати
- if
- Impact
- впливає
- здійснювати
- важливо
- удосконалювати
- in
- includes
- У тому числі
- Augmenter
- зростаючий
- вказувати
- промисловості
- інформація
- Інфраструктура
- екземпляр
- в
- вводити
- Вступ
- за участю
- Ізраїль
- питання
- питання
- IT
- ЙОГО
- сам
- робота
- Джобс
- JPG
- тримати
- запущений
- вести
- вчений
- вивчення
- менше
- Уроки
- Уроки, витягнуті
- Важіль
- libraries
- як
- літератури
- локально
- подивитися
- низький
- найнижчий
- машина
- навчання за допомогою машини
- Підтримка
- вдалося
- управління
- менеджер
- обов'язковий
- максимальний
- пам'ять
- згаданий
- метод
- методика
- метрика
- Метрика
- Середній
- середній Схід
- може бути
- мінімальний
- хвилин
- змішаний
- ML
- режим
- модель
- Моделі
- монітор
- більше
- в основному
- кіно
- множинний
- музика
- Імена
- обов'язково
- потреби
- nlp
- немає
- Nvidia
- мета
- сталося
- of
- Пропозиції
- on
- On-Demand
- ONE
- тільки
- працювати
- операції
- Оператори
- Можливості
- Можливість
- оптимізація
- Оптимізувати
- оптимізований
- оптимізуючий
- or
- порядок
- організації
- з
- над
- загальний
- власний
- сторінка
- Паралельні
- параметри
- частина
- особливо
- пристрасний
- моделі
- Виконувати
- продуктивність
- period
- перспектива
- фаза
- труба
- трубопровід
- місце
- план
- plato
- Інформація про дані Платона
- PlatoData
- басейн
- це можливо
- пошта
- Пости
- потужний
- практики
- Точність
- ціни без прихованих комісій
- Пріоритетність
- Проактивний
- процес
- процеси
- обробка
- профіль
- профілювання
- за умови
- забезпечує
- забезпечення
- Python
- випадковий
- діапазон
- рекомендувати
- зменшити
- зниження
- залишатися
- видаляти
- видалення
- повторний
- звітом
- вимагати
- вимагається
- Вимагається
- ресурс
- ресурси
- право
- грубо
- Правила
- прогін
- біг
- мудрець
- економія
- Економія
- шкала
- seconds
- розділ
- побачити
- бачачи
- вибирає
- старший
- Серія
- Послуги
- комплект
- установка
- налаштування
- загострений
- Поділитись
- вона
- Повинен
- показав
- Шоу
- значний
- простий
- спростити
- з
- Розмір
- менше
- So
- Рішення
- деякі
- Source
- Джерела
- спеціаліст
- конкретний
- швидкість
- витрачати
- Spot
- почалася
- Починаючи
- починається
- Крок
- зберігання
- потоковий
- студія
- такі
- підтримка
- підтримка активна
- Опори
- приймає
- технічний
- тензорний потік
- тест
- Тестування
- ніж
- Що
- Команда
- їх
- Там.
- тим самим
- Ці
- вони
- речі
- третя сторона
- це
- ті
- три
- через
- по всьому
- час
- times
- до
- прийняли
- інструмент
- Башта
- поїзд
- Навчання
- два
- тип
- Типи
- ui
- Завантаження
- Використання
- використання
- використовуваний
- використання
- ПЕРЕВІР
- різний
- Відео
- вид
- видимість
- бачення
- обсяг
- годинник
- способи
- we
- Web
- веб-сервіси
- ДОБРЕ
- коли
- який
- широкий
- Широкий діапазон
- волі
- з
- без
- працював
- працює
- X
- Ти
- вашу
- YouTube
- зефірнет