Проаналізуйте витрати Amazon SageMaker і визначте можливості оптимізації витрат на основі використання, Частина 4: Навчання | Веб-сервіси Amazon

Проаналізуйте витрати Amazon SageMaker і визначте можливості оптимізації витрат на основі використання, Частина 4: Навчання | Веб-сервіси Amazon

У 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 і визначте можливості оптимізації витрат на основі використання, Частина 4: Вакансії для навчання | Amazon Web Services PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.

Перш ніж оптимізувати наявну навчальну роботу, ми рекомендуємо дотримуватися найкращих практик, розглянутих у Оптимізація витрат на машинне навчання за допомогою Amazon SageMaker: перевірте свій код локально та використовуйте локальний режим для тестування використовуйте попередньо навчені моделі, де це можливо, і обміркуйте керовані точкові тренування (що може оптимізувати витрати до 90% порівняно з екземплярами On-Demand).

Коли завдання на вимогу запускається, воно проходить п’ять етапів: початок, завантаження, навчання, завантаження та завершення. Ви можете побачити ці фази та описи на сторінці навчальної роботи на консолі SageMaker.

Проаналізуйте витрати Amazon SageMaker і визначте можливості оптимізації витрат на основі використання, Частина 4: Вакансії для навчання | Amazon Web Services PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.

З точки зору ціноутворення, з вас стягується плата за фази завантаження, навчання та завантаження.

Перегляд цих етапів є першим кроком у діагностиці того, як оптимізувати витрати на навчання. У цій публікації ми обговорюємо етапи завантаження та навчання.

Фаза завантаження

У попередньому прикладі етап завантаження тривав менше хвилини. Проте, якщо завантаження даних є суттєвим фактором вартості навчання, вам слід розглянути джерело даних, яке ви використовуєте, і методи доступу. Навчальні завдання 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 метрики спеціального алгоритму для моніторингу продуктивності навчання.

Проаналізуйте витрати Amazon SageMaker і визначте можливості оптимізації витрат на основі використання, Частина 4: Вакансії для навчання | Amazon Web Services PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.

Ці показники можуть вказувати на вузькі місця або надмірне виділення ресурсів. Наприклад, якщо ви спостерігаєте високу навантаженість процесора з низьким використанням графічного процесора, ви можете вирішити проблему, використовуючи неоднорідні кластери. Іншим прикладом може бути постійне низьке використання ЦП протягом усього завдання — це може призвести до зменшення розміру примірника.

Якщо ви використовуєте розподілене навчання, вам слід протестувати різні методи розподілу (баштовий, 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.

Проаналізуйте витрати Amazon SageMaker і визначте можливості оптимізації витрат на основі використання, Частина 4: Вакансії для навчання | Amazon Web Services PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.

Ви можете докладніше ознайомитися з операторами та функціями Python (the Топ операцій на GPU розділ), які запускаються для виконання навчальної роботи. Вбудовані правила Debugger для профілювання проблем, пов’язаних із роботою рамки спостереження, включаючи надмірний час ініціалізації навчання через завантаження даних перед початком навчання та викиди тривалості кроку в циклах навчання. Зауважте, що хоча використання вбудованих правил безкоштовне, вартість користувальницьких правил стягується залежно від екземпляра, який ви налаштували протягом навчального завдання та сховища, яке до нього додається.

Висновок

У цій публікації ми надали вказівки щодо аналізу витрат і найкращі практики під час навчання моделей машинного навчання за допомогою навчальних завдань SageMaker. Оскільки машинне навчання стає потужним інструментом у різних галузях, навчання та використання моделей ML повинні залишатися економічно ефективними. SageMaker пропонує широкий і глибокий набір функцій для полегшення кожного кроку в конвеєрі машинного навчання та надає можливості оптимізації витрат без впливу на продуктивність або гнучкість.


Про авторів

Проаналізуйте витрати Amazon SageMaker і визначте можливості оптимізації витрат на основі використання, Частина 4: Вакансії для навчання | Amazon Web Services PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.Діпалі Раджале є старшим спеціалістом зі штучного інтелекту та ML в AWS. Вона працює з корпоративними клієнтами, надаючи технічне керівництво з найкращими практиками для розгортання та підтримки рішень AI/ML в екосистемі AWS. Вона працювала з багатьма організаціями над різними сценаріями використання глибокого навчання, пов’язаними з НЛП та комп’ютерним зором. Вона захоплена розширенням можливостей організацій використовувати генеративний штучний інтелект для покращення досвіду використання. У вільний час вона захоплюється кіно, музикою та літературою.

Проаналізуйте витрати Amazon SageMaker і визначте можливості оптимізації витрат на основі використання, Частина 4: Вакансії для навчання | Amazon Web Services PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.Урі Розенберг є технічним менеджером зі штучного інтелекту та машинного навчання для Європи, Близького Сходу та Африки. Урі, що базується в Ізраїлі, працює над розширенням можливостей корпоративних клієнтів у всьому, що стосується машинного навчання, щоб проектувати, створювати та працювати в масштабі. У вільний час він захоплюється їздою на велосипеді, пішим туризмом і підвищенням ентропії.

Часова мітка:

Більше від AWS Машинне навчання

Запустіть кілька генеративних моделей штучного інтелекту на графічному процесорі за допомогою багатомодельних кінцевих точок Amazon SageMaker із TorchServe та заощаджуйте до 75% витрат на висновки | Веб-сервіси Amazon

Вихідний вузол: 1887176
Часова мітка: Вересень 6, 2023