Виберіть найкраще джерело даних для свого навчального завдання Amazon SageMaker PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.

Виберіть найкраще джерело даних для навчальної роботи Amazon SageMaker

Amazon SageMaker – це керований сервіс, який спрощує створення, навчання та розгортання моделей машинного навчання (ML). Науковці даних використовують навчальні завдання SageMaker для легкого навчання моделей машинного навчання; вам не потрібно турбуватися про управління обчислювальними ресурсами, і ви платите лише за фактичний час навчання. Поглинання даних є невід’ємною частиною будь-якого навчального конвеєра, і навчальні завдання SageMaker підтримують різноманітні режими зберігання та введення даних, щоб відповідати широкому діапазону навчальних навантажень.

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

Власні джерела даних SageMaker і режими введення

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

Механізм навчання SageMaker інтегрується з трьома керованими службами зберігання даних AWS:

  • Служба простого зберігання Amazon (Amazon S3) — це служба зберігання об’єктів, яка пропонує найкращі в галузі масштабованість, доступність даних, безпеку та продуктивність.
  • Amazon FSx для Luster це повністю кероване спільне сховище з масштабованістю та продуктивністю популярної файлової системи Lustre. Зазвичай його пов’язують із наявним сегментом S3.
  • Еластична файлова система Amazon (Amazon EFS) — це універсальна, масштабована та високодоступна спільна файлова система з кількома ціновими рівнями. Amazon EFS є безсерверним і автоматично збільшується та зменшується, коли ви додаєте та видаляєте файли.

Навчання SageMaker дозволяє вашому сценарію навчання отримувати доступ до наборів даних, що зберігаються на Amazon S3, FSx for Lustre або Amazon EFS, так, ніби вони доступні в локальній файловій системі (через POSIX-сумісний інтерфейс файлової системи).

Використовуючи Amazon S3 як джерело даних, ви можете вибрати режим файлу, режим FastFile і режим конвеєра:

  • Файловий режим – SageMaker копіює набір даних із Amazon S3 у сховище екземплярів ML, яке додається Магазин еластичних блоків Amazon (Amazon EBS) або обсяг NVMe SSD перед запуском сценарію навчання.
  • Режим FastFile – SageMaker розкриває набір даних, що зберігається в Amazon S3, як файлову систему POSIX на екземплярі навчання. Файли набору даних передаються з Amazon S3 на вимогу, коли ваш навчальний сценарій їх читає.
  • Трубний режим – SageMaker передає набір даних, що зберігається в Amazon S3, до екземпляра навчання ML як канал Unix, який передається з Amazon S3 на вимогу, коли ваш сценарій навчання зчитує дані з каналу.

Завдяки FSx for Lustre або Amazon EFS як джерелу даних SageMaker монтує файлову систему перед запуском сценарію навчання.

Навчання вхідних каналів

Під час запуску навчального завдання SageMaker можна вказати до 20 керованих навчальні вхідні канали. Ви можете думати про канали як про одиницю абстракції, щоб вказати навчальній роботі, як і де отримати дані, доступні для коду алгоритму для читання з шляху файлової системи (наприклад, /opt/ml/input/data/input-channel-name) на екземплярі ML. Вибрані навчальні канали фіксуються як частина метаданих навчального завдання, щоб уможливити повне відстеження походження моделі для таких випадків використання, як відтворюваність навчальних завдань або цілей керування моделлю.

Щоб використовувати Amazon S3 як джерело даних, необхідно визначити a TrainingInput вказати наступне:

Крім того, для FSx для Lustre або Amazon EFS ви визначаєте a FileSystemInput.

На наступній діаграмі показано п’ять навчальних завдань, кожне з яких налаштоване з різними джерелами даних і комбінацією режимів введення:

Виберіть найкраще джерело даних для свого навчального завдання Amazon SageMaker PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.

Джерела даних і режими введення

У наступних розділах детально описано відмінності між Amazon S3 (режим файлу, режим FastFile і режим каналу), FSx для Lustre та Amazon EFS як механізми прийому SageMaker.

Режим файлів Amazon S3

Режим файлу є режимом введення за замовчуванням (якщо ви не вказали його явно), і він більш простий у використанні. Коли ви використовуєте цей параметр введення, SageMaker завантажує набір даних із Amazon S3 у сховище екземпляра навчання ML (Amazon EBS або локальний NVMe залежно від типу екземпляра) від вашого імені перед запуском навчання моделі, щоб сценарій навчання міг читати набір даних із локальна файлова система. У цьому випадку екземпляр повинен мати достатньо місця для зберігання, щоб помістити весь набір даних.

Ви налаштовуєте набір даних для файлового режиму, надаючи префікс S3, файл маніфесту або доповнений файл маніфесту.

Вам слід використовувати префікс S3, якщо всі ваші файли набору даних розташовано в межах загального префікса S3 (підпапки допустимі).

Файл маніфесту містить список файлів, що містять ваш набір даних. Ви зазвичай використовуєте маніфест, коли завдання попередньої обробки даних створює файл маніфесту або коли ваші файли набору даних розподіляються між кількома префіксами S3. Доповнений маніфест — це рядковий файл JSON, у якому кожен рядок містить список атрибутів, як-от посилання на файл в Amazon S3, а також додаткові атрибути, переважно мітки. Його випадки використання схожі на випадки використання маніфесту.

Файловий режим сумісний із Локальний режим SageMaker (інтерактивний запуск навчального контейнера SageMaker за лічені секунди). Для розподіленого навчання ви можете розділити набір даних на кілька екземплярів за допомогою ShardedByS3Key варіант.

Швидкість завантаження в режимі файлу залежить від розміру набору даних, середнього розміру файлу та кількості файлів. Наприклад, чим більший набір даних (чи більше файлів у ньому), тим довшим є етап завантаження, під час якого обчислювальний ресурс екземпляра залишається фактично неактивним. Під час навчання за допомогою Spot Instances набір даних завантажується кожного разу, коли завдання відновлюється після переривання Spot. Зазвичай завантаження даних відбувається зі швидкістю приблизно 200 МБ/с для великих файлів (наприклад, 5 хвилин/50 ГБ). Чи прийнятні ці витрати на запуск, головним чином залежить від загальної тривалості вашого навчального завдання, оскільки довший етап навчання означає пропорційно менший етап завантаження.

Режим Amazon S3 FastFile

Режим FastFile відкриває об’єкти S3 через POSIX-сумісний інтерфейс файлової системи, як якщо б файли були доступні на локальному диску вашого екземпляра навчання, і передає їх вміст на вимогу, коли дані споживаються сценарієм навчання. Це означає, що ваш набір даних більше не повинен поміщатися в простір для зберігання екземпляра навчання, і вам не потрібно чекати, поки набір даних буде завантажено в екземпляр навчання, перш ніж можна буде розпочати навчання.

Щоб полегшити це, SageMaker перераховує всі метадані об’єктів, які зберігаються під вказаним префіксом S3, перед тим, як запустити ваш сценарій навчання. Ці метадані використовуються для створення лише для читання FUSE (файлова система в просторі користувача) який доступний для вашого навчального сценарію через /opt/ml/data/training-channel-name. Перерахування об’єктів S3 виконується зі швидкістю 5,500 об’єктів за секунду незалежно від їх розміру. Це набагато швидше, ніж завантажувати файли заздалегідь, як у випадку з режимом файлів. Під час роботи вашого навчального сценарію він може перераховувати або читати файли так, ніби вони доступні локально. Кожна операція читання делегується службі FUSE, яка надсилає запити GET до Amazon S3, щоб доставити фактичний вміст файлу абоненту. Як і локальна файлова система, FastFile розглядає файли як байти, тому не залежить від форматів файлів. Режим FastFile може досягати пропускної здатності понад один ГБ/с під час послідовного читання великих файлів за допомогою кількох робітників. Ви можете використовувати FastFile для читання невеликих файлів або отримання випадкових діапазонів байтів, але слід очікувати нижчої пропускної здатності для таких шаблонів доступу. Ви можете оптимізувати шаблон доступу для читання, серіалізувавши багато невеликих файлів у більші файлові контейнери та читаючи їх послідовно.

Наразі FastFile підтримує лише префікси S3 (без підтримки маніфесту та розширеного маніфесту), а режим FastFile сумісний із локальним режимом SageMaker.

Режим Amazon S3 Pipe

Режим конвеєра – це ще один режим потокової передачі, який значною мірою замінений новішим і простішим у використанні режимом FastFile.

У режимі Pipe дані попередньо вибираються з Amazon S3 із високим рівнем паралелізму та пропускною здатністю та передаються в канали Unix під назвою FIFO. Кожен канал може читатися лише одним процесом. Зручне розширення TensorFlow для SageMaker інтегрує режим Pipe у рідний завантажувач даних TensorFlow для форматів потокового тексту, TFRecords або RecordIO. Режим конвеєра також підтримує кероване сегментування та перемішування даних.

FSx для Luster

FSx для Lustre може масштабуватися до сотень ГБ/с пропускної здатності та мільйонів IOPS із отриманням файлів із низькою затримкою.

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

У багатьох випадках ви створюєте FSx для файлової системи Lustre і зв’яжіть його з сегментом S3 і префіксом. Коли файли пов’язані з сегментом S3 як джерелом, файли відкладено завантажуються у файлову систему, коли ваш навчальний сценарій їх читає. Це означає, що відразу після першої епохи вашого першого тренувального запуску весь набір даних копіюється з Amazon S3 у FSx для зберігання Lustre (припускається, що епоха визначається як одна повна розгортка враховуючи навчальні приклади, і що виділений FSx для Накопичувач люстри досить великий). Це забезпечує доступ до файлів із низькою затримкою для будь-яких наступних епох і навчальних завдань із тим самим набором даних.

Ви також можете попередньо завантажувати файли у файлову систему перед початком навчальної роботи, яка полегшує холодний старт через ліниве навантаження. Також можна паралельно запускати декілька навчальних завдань, які обслуговуються однією файловою системою FSx для Lustre. Щоб отримати доступ до FSx для Lustre, ваше навчальне завдання має підключитися до VPC (див Налаштування VPCConfig), що вимагає налаштування та участі DevOps. Щоб уникнути витрат на передачу даних, файлова система використовує одну зону доступності, і вам потрібно вказати цей ідентифікатор зони доступності під час виконання навчального завдання. Оскільки ви використовуєте Amazon S3 як довготермінове сховище даних, ми рекомендуємо розгорнути FSx для Lustre зі сховищем Scratch 2, як економічно ефективний вибір короткострокового сховища для високої пропускної здатності, що забезпечує базову швидкість 200 МБ/с. і пакет до 1300 МБ/с на ТБ виділеного сховища.

Якщо ваша файлова система FSx for Lustre постійно працює, ви можете розпочинати нові навчальні завдання, не чекаючи створення файлової системи, і вам не доведеться турбуватися про холодний запуск під час першої епохи (оскільки файли все ще можуть бути кешовані в файлова система FSx для Lustre). Недоліком цього сценарію є додаткові витрати, пов’язані з підтримкою роботи файлової системи. Крім того, ви можете створювати та видаляти файлову систему до та після кожного навчального завдання (ймовірно, за допомогою сценарної автоматизації), але для ініціалізації файлової системи FSx для Lustre потрібен час, який пропорційний кількості файлів, які вона містить (для наприклад, індексація приблизно 2 мільйонів об’єктів з Amazon S3 займає близько години).

Amazon EFS

Ми рекомендуємо використовувати Amazon EFS, якщо ваші навчальні дані вже зберігаються в Amazon EFS через випадки використання, крім навчання ML. Щоб використовувати Amazon EFS як джерело даних, дані вже повинні знаходитися в Amazon EFS до навчання. SageMaker монтує вказану файлову систему Amazon EFS до екземпляра навчання, а потім запускає ваш сценарій навчання. Під час налаштування файлової системи Amazon EFS вам потрібно вибрати між режимом продуктивності загального призначення за замовчуванням, який оптимізований для затримки (добре для невеликих файлів), і режимом максимальної продуктивності вводу-виводу, який можна масштабувати до вищих рівнів сукупної пропускної здатності та операцій за секунду (краще для навчальних завдань із багатьма працівниками введення/виведення). Щоб дізнатися більше, зверніться до Використання правильного режиму продуктивності.

Крім того, ви можете вибрати між двома параметрами вимірюваної пропускної здатності: пакетна пропускна здатність і забезпечена пропускна здатність. Бурхлива пропускна спроможність для файлової системи 1 ТБ забезпечує базову швидкість 150 МБ/с із можливістю підвищення до 300 МБ/с протягом 12 годин на день. Якщо вам потрібна більша базова пропускна здатність або ви бачите, що кредити пакетів надто багато разів закінчуються, ви можете або збільшити розмір файлової системи, або перейти на забезпечену пропускну здатність. У забезпеченій пропускній здатності ви платите за бажану базову пропускну здатність до максимальної швидкості читання 3072 МБ/с.

Ваше навчальне завдання має бути підключено до VPC (див Налаштування VPCConfig), щоб отримати доступ до Amazon EFS.

Вибір найкращого джерела даних

Найкраще джерело даних для вашої навчальної роботи залежить від таких характеристик робочого навантаження, як розмір набору даних, формат файлу, середній розмір файлу, тривалість навчання, послідовний або випадковий шаблон читання завантажувача даних і те, наскільки швидко ваша модель може використовувати навчальні дані.

Наведена нижче блок-схема містить деякі вказівки, які допоможуть вам розпочати роботу.
Виберіть найкраще джерело даних для свого навчального завдання Amazon SageMaker PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.

Коли використовувати Amazon EFS

Якщо ваш набір даних переважно зберігається в Amazon EFS, у вас може бути програма попередньої обробки або анотацій, яка використовує Amazon EFS для зберігання. Ви можете легко запустити навчальне завдання, налаштоване за допомогою каналу даних, який вказує на файлову систему Amazon EFS (додаткову інформацію див. Прискоріть навчання на Amazon SageMaker за допомогою файлових систем Amazon FSx for Lustre та Amazon EFS). Якщо продуктивність не така висока, як ви очікували, перевірте параметри оптимізації за допомогою Керівництво з продуктивності Amazon EFSабо розгляньте інші режими введення.

Використовуйте файловий режим для невеликих наборів даних

Якщо набір даних зберігається на Amazon S3 і його загальний обсяг відносно невеликий (наприклад, менше 50–100 ГБ), спробуйте використовувати режим файлу. Накладні витрати на завантаження набору даних розміром 50 ГБ можуть відрізнятися залежно від загальної кількості файлів (наприклад, близько 5 хвилин, якщо розділити їх на шарди по 100 МБ). Чи прийнятні ці витрати на запуск, головним чином залежить від загальної тривалості вашого навчального завдання, оскільки довший етап навчання означає пропорційно менший етап завантаження.

Серіалізація багатьох невеликих файлів разом

Якщо ваш набір даних невеликий (менше 50–100 ГБ), але складається з багатьох невеликих файлів (менше 50 МБ), витрати на завантаження в режимі файлу збільшуються, оскільки кожен файл потрібно завантажувати окремо з Amazon S3 на обсяг навчального екземпляра. Щоб зменшити ці накладні витрати та пришвидшити проходження даних загалом, розгляньте серіалізацію груп менших файлів у меншу кількість великих файлових контейнерів (наприклад, 150 МБ на файл), використовуючи такі формати файлів, як TFRecord для TensorFlow, WebDataset для PyTorch або RecordIO для MXNet. Ці формати вимагають, щоб ваш завантажувач даних послідовно переглядав приклади. Ви все ще можете перетасувати свої дані, довільно перевпорядковуючи список файлів TFRecord після кожної епохи та випадково відбираючи дані з локального буфера перемішування (див. наступне Приклад TensorFlow).

Коли використовувати режим FastFile

Для більших наборів даних із великими файлами (понад 50 МБ) перший варіант — спробувати режим FastFile, який є більш простим у використанні, ніж FSx для Luster, оскільки він не вимагає створення файлової системи або підключення до VPC. Режим FastFile ідеально підходить для великих файлів-контейнерів (понад 150 МБ), а також може працювати з файлами розміром понад 50 МБ. Оскільки режим FastFile забезпечує інтерфейс POSIX, він підтримує випадкове читання (читання непослідовних діапазонів байтів). Однак це не ідеальний варіант використання, і ваша пропускна здатність, ймовірно, буде нижчою, ніж у разі послідовного читання. Однак, якщо у вас є відносно велика та інтенсивна обчислювальна модель ML, режим FastFile все одно зможе наситити ефективну пропускну здатність навчального конвеєра та не призведе до вузьких місць введення-виведення. Вам потрібно буде поекспериментувати і побачити. На щастя, перемкнутися з режиму File у FastFile (і назад) так само просто, як додати (або видалити) input_mode='FastFile' під час визначення вхідного каналу за допомогою SageMaker Python SDK:

sagemaker.inputs.TrainingInput(S3_INPUT_FOLDER, input_mode='FastFile') 

Ніякий інший код або конфігурацію не потрібно змінювати.

Коли використовувати FSx для Lustre

Якщо ваш набір даних завеликий для файлового режиму або містить багато маленьких файлів (які ви не можете легко серіалізувати), або у вас є шаблон довільного доступу до читання, FSx для Lustre — хороший варіант для розгляду. Його файлова система має пропускну здатність до сотень ГБ/с і мільйонів IOPS, що ідеально підходить, коли у вас багато невеликих файлів. Однак, як уже обговорювалося раніше, пам’ятайте про проблеми з холодним запуском через відкладене завантаження та накладні витрати на налаштування та ініціалізацію FSx для файлової системи Lustre.

Міркування щодо вартості

Для більшості робіт з навчання ML, особливо робіт із використанням графічних процесорів або спеціально створених чіпів ML, більша частина вартості навчання – це оплачувані секунди інстанції навчання ML. Обсяг пам’яті ГБ на місяць, запити API та забезпечена пропускна здатність – це додаткові витрати, які безпосередньо пов’язані з джерелами даних, які ви використовуєте.

Пам'ять Гб на місяць

Обсяг пам’яті ГБ на місяць може бути значним для великих наборів даних, таких як відео, дані датчиків LiDAR і журнали ставок AdTech у реальному часі. Наприклад, зберігання 1 ТБ у Amazon S3 Intelligent-Tiering Рівень частого доступу коштує 23 долари на місяць. Додавання файлової системи FSx для Lustre поверх Amazon S3 призводить до додаткових витрат. Наприклад, створення файлової системи 1.2 ТБ типу Scratch 2 із підтримкою SSD із вимкненим стисненням даних коштує додатково 168 доларів США на місяць (140 доларів США/ТБ/місяць).

З Amazon S3 і Amazon EFS ви платите лише за те, що використовуєте, тобто з вас стягується плата відповідно до фактичного розміру набору даних. З FSx для Lustre ви стягуєте плату відповідно до розміру наданої файлової системи (мінімум 1.2 ТБ). Під час запуску екземплярів ML з томами EBS Amazon EBS оплачується незалежно від екземпляра ML. Зазвичай це набагато нижча вартість порівняно з вартістю запуску екземпляра. Наприклад, запуск екземпляра ml.p3.2xlarge з томом EBS 100 ГБ протягом 1 години коштує 3.825 доларів США за екземпляр і 0.02 долара США за обсяг EBS.

Запити API та вартість пропускної спроможності

Поки ваше навчальне завдання обробляє набір даних, воно перераховує та отримує файли, надсилаючи запити Amazon S3 API. Наприклад, кожен мільйон запитів GET оцінюється в 0.4 дол. США (з класом Intelligent-Tiering). Ви не повинні очікувати витрат на передачу даних для смуги пропускання в Amazon S3 і з нього, оскільки навчання відбувається в одній зоні доступності.

Під час використання FSx для Luster, пов’язаного з сегментом S3, ви несете витрати на запит Amazon S3 API для читання даних, які ще не кешуються у файловій системі, оскільки FSx For Luster надсилає запит до Amazon S3 (і кешує результат). ). Немає прямих витрат на запит для FSx для самого Luster. Якщо ви використовуєте файлову систему FSx для Lustre, уникайте витрат на передачу даних між зонами доступності, запустивши навчальне завдання, підключене до тієї самої зони доступності, у якій ви налаштували файлову систему. Amazon EFS із забезпеченою пропускною здатністю додає додаткові витрати для споживачів. Гб на місяць.

Кейс із продуктивності

Щоб продемонструвати міркування про ефективність навчання, згадані раніше, ми виконали серію тестів для реалістичного використання в області комп’ютерного зору. Порівняльний тест (та висновки) з цього розділу може бути застосований не до всіх сценаріїв і на нього впливають різні заздалегідь визначені фактори, які ми використовували, наприклад DNN. Ми провели тести для 12 наступних комбінацій:

  • Режими введення – FSx для Lustre, режим файлу, режим FastFile
  • Розмір набору даних – Менший набір даних (1 ГБ), більший набір даних (54 ГБ)
  • Розмір файлу – Файли меншого розміру (JPG, приблизно 39 КБ), більші файли (TFRecord, приблизно 110 МБ)

Для цього прикладу ми вибрали найбільш поширені режими введення, тому опустили режим Amazon EFS і Pipe.

Еталонні приклади були розроблені як наскрізні навчальні завдання SageMaker TensorFlow на примірнику ml.p3.2xlarge з одним GPU. Ми вибрали відому ResNet-50 як нашу базову модель для завдання класифікації та Caltech-256 як менший навчальний набір даних (який ми повторили 50 разів, щоб створити більшу версію набору даних). Ми виконали тренування для однієї епохи, визначеної як єдина повна розгортка враховуючи приклади навчання.

На наступних графіках показано загальний оплачуваний час навчальних завдань SageMaker для кожного сценарію порівняння. Загальний час роботи складається із завантаження, навчання та інших етапів (таких як запуск контейнера та завантаження навчених артефактів моделі в Amazon S3). Коротший час для оплати означає швидше та дешевше навчання.

Виберіть найкраще джерело даних для свого навчального завдання Amazon SageMaker PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.

Давайте спочатку обговоримо Сценарій А та Сценарій С, які зручно демонструють різницю в продуктивності між режимами введення, коли набір даних складається з багатьох невеликих файлів.

Сценарій A (менші файли, менший набір даних) показує, що навчальна робота з FSx для файлової системи Lustre має найменший оплачуваний час. Він має найкоротший етап завантаження, а його етап навчання такий же швидкий, як режим File, але швидший, ніж FastFile. FSx для Lustre є переможцем у цьому тесті на одну епоху. Зважаючи на це, розглянемо подібне робоче навантаження, але з кількома епохами — відносні накладні витрати на режим файлу через етап завантаження зменшуються, коли додається більше епох. У цьому випадку ми віддаємо перевагу файловому режиму через його зручність використання. Крім того, ви можете виявити, що використання файлового режиму та оплата за 100 додаткових оплачуваних секунд є кращим вибором, ніж оплата та надання FSx для файлової системи Lustre.

Сценарій C (менші файли, більший набір даних) показує FSx для Lustre як найшвидший режим із лише 5,000 секундами загального оплачуваного часу. Він також має найкоротший етап завантаження, оскільки монтування FSx для файлової системи Lustre не залежить від кількості файлів у файловій системі (1.5 мільйона файлів у цьому випадку). Витрати на завантаження FastFile також невеликі; він лише отримує метадані файлів, які знаходяться під вказаним префіксом відра S3, тоді як вміст файлів зчитується на етапі навчання. Файловий режим є найповільнішим, він витрачає 10,000 3 секунд на завантаження всього набору даних перед початком навчання. Коли ми дивимося на стадію навчання, FSx для режиму Lustre та File демонструють однакову відмінну продуктивність. Що стосується режиму FastFile, під час потокової передачі невеликих файлів безпосередньо з Amazon SXNUMX накладні витрати на відправку нового запиту GET для кожного файлу стають значними відносно загальної тривалості передачі файлу (незважаючи на використання високопаралельного завантажувача даних із буфером попередньої вибірки). Це призводить до загальної нижчої пропускної здатності для режиму FastFile, що створює вузьке місце введення-виведення для навчального завдання. FSx для Lustre є очевидним переможцем у цьому сценарії.

Сценарії B і D показати різницю в продуктивності в різних режимах введення, коли набір даних складається з меншої кількості великих файлів. Послідовне читання з використанням великих файлів зазвичай призводить до кращої продуктивності вводу-виводу, оскільки забезпечує ефективну буферизацію та зменшує кількість операцій введення-виведення.

Сценарій B (більші файли, менший набір даних) показує подібний час етапу навчання для всіх режимів (що засвідчує, що навчання не прив’язане до введення-виведення). У цьому сценарії ми віддаємо перевагу режиму FastFile над режимом File через коротший етап завантаження та віддаємо перевагу режиму FastFile над FSx для Lustre через легкість використання першого.

Сценарій D (більші файли, більший набір даних) показує відносно подібний загальний оплачуваний час для всіх трьох режимів. Етап завантаження в режимі File довший, ніж у FSx для Luster і FastFile. Файловий режим завантажує весь набір даних (54 ГБ) з Amazon S3 у навчальний екземпляр перед початком етапу навчання. Усі три режими витрачають однаковий час на фазу навчання, оскільки всі режими можуть отримувати дані досить швидко та пов’язані з GPU. Якщо ми використовуємо екземпляри ML з додатковими ресурсами CPU або GPU, наприклад ml.p4d.24xlarge, необхідна пропускна здатність введення-виведення даних для насичення обчислювальних ресурсів зростає. У цих випадках ми можемо очікувати, що FastFile і FSx для Luster успішно масштабують свою пропускну здатність (однак пропускна здатність FSx для Luster залежить від розміру наданої файлової системи). Здатність файлового режиму масштабувати свою пропускну здатність залежить від пропускної здатності дискового тому, підключеного до примірника. Наприклад, екземпляри з підтримкою Amazon EBS (наприклад, ml.p3.2xlarge, ml.p3.8xlarge та ml.p3.16xlarge) обмежені максимальною пропускною здатністю 250 МБ/с, тоді як локальні екземпляри з підтримкою NVMe (як мл. g5.* або ml.p4d.24xlarge) може забезпечити набагато більшу пропускну здатність.

Підводячи підсумок, ми вважаємо, що FastFile є переможцем у цьому сценарії, оскільки він швидший, ніж файловий режим, і такий же швидкий, як FSx для Lustre, але більш простий у використанні, коштує дешевше та може легко збільшити пропускну здатність за потреби.

Крім того, якби у нас був набагато більший набір даних (розміром у кілька ТБ), файловий режим витратив би багато годин на завантаження набору даних, перш ніж розпочалося навчання, тоді як FastFile міг би почати навчання значно швидше.

Принесіть власні дані

Власне джерело даних SageMaker підходить для більшості, але не для всіх можливих сценаріїв навчання ML. Ситуації, коли вам може знадобитися пошук інших варіантів прийому даних, можуть включати зчитування даних безпосередньо зі стороннього продукту зберігання (припускаючи, що простий і своєчасний експорт до Amazon S3 неможливий) або наявність суворої вимоги до такого самого навчання сценарій для запуску без змін як на SageMaker, так і на Обчислювальна хмара Amazon Elastic (Amazon EC2) або Послуга Amazon Elastic Kubernetes (Amazon EKS). Ви можете вирішити ці випадки, реалізувавши свій механізм прийому даних у навчальний сценарій. Цей механізм відповідає за читання наборів даних із зовнішніх джерел даних у навчальний екземпляр. Наприклад, TFRecordDataset TensorFlow tf.data бібліотеку можна читати безпосередньо зі сховища Amazon S3.

Якщо вашому механізму прийому даних потрібно викликати будь-які служби AWS, наприклад Служба реляційних баз даних Amazon (Amazon RDS), переконайтеся, що Управління ідентифікацією та доступом AWS (IAM) роль вашої навчальної роботи включає відповідні політики IAM. Якщо джерело даних знаходиться в Віртуальна приватна хмара Amazon (Amazon VPC), вам потрібно запустити тренувальну роботу, підключившись до того самого VPC.

Якщо ви самостійно керуєте прийомом набору даних, відстеження походження SageMaker не може автоматично реєструвати набори даних, які використовуються під час навчання. Тому розгляньте альтернативні механізми, як-от теги навчальних завдань або гіперпараметри, щоб отримати відповідні метадані.

Висновок

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


Про авторів

Виберіть найкраще джерело даних для свого навчального завдання Amazon SageMaker PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.Гілі Нахум є старшим архітектором рішень спеціаліста зі штучного інтелекту/ML, який працює в команді Amazon Machine Learning у регіоні EMEA. Джілі захоплюється проблемами навчання моделей глибокого навчання та тим, як машинне навчання змінює світ, яким ми його знаємо. У вільний час Гілі любить грати в настільний теніс.

Виберіть найкраще джерело даних для свого навчального завдання Amazon SageMaker PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.д-р Олександр Аржанов є архітектором AI/ML Specialist Solutions, що працює у Франкфурті, Німеччина. Він допомагає клієнтам AWS розробляти та розгортати їхні рішення ML у регіоні EMEA. До того як приєднатися до AWS, Олександр досліджував походження важких елементів у нашому Всесвіті та захопився машинним моделюванням після використання його у своїх масштабних наукових розрахунках.

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

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