Минулого року ми оголосили про загальну доступність RStudio на Amazon SageMaker, перше в галузі повністю кероване інтегроване середовище розробки (IDE) RStudio Workbench у хмарі. Ви можете швидко запустити звичне середовище IDE RStudio та підключити до базових обчислювальних ресурсів, не перериваючи роботу, що полегшить створення машинного навчання (ML) і аналітичних рішень у масштабі R.
З постійно зростаючим обсягом даних, які генеруються, набори даних, які використовуються для ML і статистичного аналізу, зростають разом. Це пов’язано зі збільшенням часу на розробку та керуванням обчислювальною інфраструктурою. Щоб вирішити ці проблеми, науковці з обробки даних прагнули застосувати методи паралельної обробки даних. Паралельна обробка даних, або розпаралелювання даних, бере великі існуючі набори даних і розподіляє їх між кількома процесорами або вузлами для одночасної роботи з даними. Це може прискорити обробку великих наборів даних, а також оптимізувати використання обчислювальної системи. Це може допомогти фахівцям з машинного навчання створити багаторазові шаблони для генерації набору даних, а також допоможе зменшити навантаження на обчислювальну інфраструктуру та витрати.
Огляд рішення
В Amazon SageMaker, використовують багато клієнтів Обробка SageMaker щоб допомогти реалізувати паралельну обробку даних. За допомогою SageMaker Processing ви можете використовувати спрощений керований досвід у SageMaker для виконання робочих навантажень з обробки даних, таких як розробка функцій, перевірка даних, оцінка моделі та інтерпретація моделі. Це приносить багато переваг, оскільки немає довгострокової інфраструктури, якою можна керувати — екземпляри обробки припиняються після завершення завдань, середовища можна стандартизувати за допомогою контейнерів, даних у Служба простого зберігання Amazon (Amazon S3) розподілено між примірниками, а налаштування інфраструктури є гнучкими щодо пам’яті, обчислень і сховища.
SageMaker Processing пропонує варіанти розповсюдження даних. Для паралельної обробки даних необхідно використовувати Параметр ShardedByS3Key для S3DataDistributionType. Якщо вибрано цей параметр, SageMaker Processing приймає надані дані n екземпляри та розподілені об’єкти 1/n об’єкти з джерела вхідних даних між примірниками. Наприклад, якщо двом примірникам надається чотири об’єкти даних, кожен примірник отримує по два об’єкти.
Для виконання завдань обробки SageMaker Processing потрібні три компоненти:
- Зображення контейнера з вашим кодом і залежностями для виконання робочих навантажень обробки даних
- Шлях до джерела вхідних даних в Amazon S3
- Шлях до вихідного джерела даних в Amazon S3
Процес зображено на наступній схемі.
У цій публікації ми покажемо вам, як використовувати RStudio на SageMaker для взаємодії з низкою завдань обробки SageMaker для створення паралельного конвеєра обробки даних за допомогою Мова програмування R.
Рішення складається з наступних кроків:
- Налаштуйте проект RStudio.
- Створіть і зареєструйте образ контейнера обробки.
- Запустіть двоетапний конвеєр обробки:
- На першому етапі беруться кілька файлів даних і обробляються вони в серії завдань обробки.
- На другому етапі вихідні файли об’єднуються та розбиваються на набори даних навчання, тестування та перевірки.
Передумови
Виконайте такі передумови:
- Налаштуйте RStudio на SageMaker Workbench. Для отримання додаткової інформації див Анонс повністю керованого RStudio на Amazon SageMaker для спеціалістів із обробки даних.
- Створіть користувача з RStudio на SageMaker із відповідними правами доступу.
Налаштуйте проект RStudio
Щоб налаштувати проект RStudio, виконайте такі дії:
- Перейдіть до свого Студія Amazon SageMaker панель керування на консолі SageMaker.
- Запустіть свою програму в середовищі RStudio.
- Розпочніть новий сеанс RStudio.
- для Назва сеансу, введіть ім'я.
- для Тип екземпляра та зображення, використовуйте параметри за замовчуванням.
- Вибирати Початок сеансу.
- Перейдіть до сеансу.
- Вибирати Новий проект, Контроль версії, А потім Виберіть Git.
- для URL-адреса сховища, введіть
https://github.com/aws-samples/aws-parallel-data-processing-r.git
- Залиште інші параметри за замовчуванням і виберіть Створити проект.
Ви можете перейти до aws-parallel-data-processing-R
довідник на Файли вкладка для перегляду сховища. Репозиторій містить такі файли:
Container_Build.rmd
/dataset
bank-additional-full-data1.csv
bank-additional-full-data2.csv
bank-additional-full-data3.csv
bank-additional-full-data4.csv
/docker
Dockerfile-Processing
Parallel_Data_Processing.rmd
/preprocessing
filter.R
process.R
Побудуйте контейнер
На цьому кроці ми створюємо наш образ контейнера обробки та надсилаємо його Реєстр контейнерів Amazon Elastic (Amazon ECR). Виконайте наступні дії:
- перейдіть до
Container_Build.rmd
файлу. - встановити SageMaker Studio Image Build CLI запустивши наступну клітинку. Переконайтеся, що у вас є необхідні дозволи, перш ніж виконувати цей крок, це інтерфейс командного рядка, призначений для надсилання та реєстрації зображень контейнерів у Studio.
- Запустіть наступну комірку, щоб створити та зареєструвати наш контейнер обробки:
Після успішного виконання завдання ви отримаєте результат, який виглядає так:
Запустіть конвеєр обробки
Після створення контейнера перейдіть до Parallel_Data_Processing.rmd
файл. Цей файл містить серію кроків, які допомагають нам створити конвеєр паралельної обробки даних за допомогою обробки SageMaker. На наступній діаграмі зображено кроки конвеєра, які ми виконуємо.
Почніть із виконання кроку імпорту пакета. Імпортуйте необхідні пакети RStudio разом із SDK SageMaker:
Тепер налаштуйте свою роль виконання SageMaker і деталі середовища:
Ініціалізуйте контейнер, який ми створили та зареєстрували на попередньому кроці:
Далі ми детальніше розглянемо кожен із етапів обробки.
Завантажте набір даних
Для нашого прикладу ми використовуємо Набір даних банківського маркетингу від UCI. Ми вже розділили набір даних на кілька менших файлів. Запустіть наступний код, щоб завантажити файли на Amazon S3:
Після завантаження файлів переходьте до наступного кроку.
Виконати паралельну обробку даних
На цьому кроці ми беремо файли даних і виконуємо розробку функцій, щоб відфільтрувати певні стовпці. Це завдання розподілено між серією екземплярів обробки (у нашому прикладі ми використовуємо два).
Ми використовуємо filter.R
файл для обробки даних і налаштуйте завдання наступним чином:
Як згадувалося раніше, під час виконання завдання паралельної обробки даних ви повинні налаштувати параметр введення відповідно до того, як дані будуть сегментовані, і типу даних. Тому ми пропонуємо метод шардингу за допомогою S3Prefix
:
Після того як ви вставите ці параметри, SageMaker Processing рівномірно розподілить дані між кількістю вибраних екземплярів.
За потреби відрегулюйте параметри, а потім запустіть клітинку, щоб створити екземпляр завдання.
Створення наборів даних для навчання, тестування та перевірки
На цьому кроці ми беремо оброблені файли даних, об’єднуємо їх і розділяємо на набори даних для тестування, навчання та перевірки. Це дозволяє нам використовувати дані для побудови нашої моделі.
Ми використовуємо process.R
файл для обробки даних і налаштуйте завдання наступним чином:
Налаштуйте необхідні параметри, а потім запустіть клітинку, щоб створити екземпляр завдання.
Запустити трубопровід
Після створення екземплярів усіх кроків запустіть конвеєр обробки для виконання кожного кроку, запустивши таку клітинку:
Час, який займає кожне з цих завдань, залежить від розміру екземпляра та вибраної кількості.
Перейдіть до консолі SageMaker, щоб переглянути всі ваші завдання обробки.
Ми починаємо з завдання фільтрації, як показано на наступному знімку екрана.
Коли це буде завершено, конвеєр переходить до завдання обробки даних.
Після завершення обох завдань перейдіть до свого відра S3. Подивіться всередину sagemaker-rstudio-example
папка, под processed
. Ви можете переглянути файли для наборів даних навчання, тестування та перевірки.
Висновок
Зі збільшенням обсягу даних, які знадобляться для створення все більш складних моделей, нам потрібно змінити наш підхід до того, як ми обробляємо дані. Паралельна обробка даних є ефективним методом прискорення створення набору даних, і в поєднанні з сучасними хмарними середовищами та інструментами, такими як RStudio на SageMaker і SageMaker Processing, може усунути велику частину недиференційованої важкої роботи з управління інфраструктурою, створення шаблонного коду та управління середовищем. У цій публікації ми розповіли, як реалізувати паралельну обробку даних у RStudio на SageMaker. Ми заохочуємо вас спробувати це, клонувавши репозиторій GitHub, і якщо у вас є пропозиції щодо покращення роботи, будь ласка, надішліть проблему або запит на отримання.
Щоб дізнатися більше про функції та послуги, які використовуються в цьому рішенні, див RStudio на Amazon SageMaker та Обробка Amazon SageMaker.
Про авторів
Радж Патхак є архітектором рішень та технічним радником для клієнтів із рейтингу Fortune 50 та середніх FSI (банківська справа, страхування, ринки капіталу) у Канаді та Сполучених Штатах. Радж спеціалізується на машинному навчанні з додатками для вилучення документів, трансформації контакт-центру та комп'ютерного зору.
Джейк Вен є архітектором рішень в AWS, який захоплюється навчанням ML і обробці природної мови. Джейк допомагає клієнтам малого середнього бізнесу завдяки дизайну та інтелектуальному лідерству створювати та розгортати програми в масштабі. Поза роботою захоплюється пішим туризмом.
Адіті Раджніш є студентом першого курсу програмної інженерії в Університеті Ватерлоо. Її інтереси включають комп’ютерне бачення, обробку природної мови та периферійні обчислення. Вона також захоплюється просвітницькою діяльністю та адвокацією STEM у громаді. У вільний час вона займається скелелазінням, грою на піаніно або вчиться пекти ідеальну булочку.
Шон Морган є архітектором рішень AI/ML в AWS. Він має досвід у галузі напівпровідників і наукових досліджень і використовує свій досвід, щоб допомогти клієнтам досягти своїх цілей на AWS. У вільний час Шон є активним учасником і супроводжувачем відкритого вихідного коду, а також є керівником спеціальної групи за інтересами для додатків TensorFlow.
Пол Ву є архітектором рішень, який працює в Greenfield Business компанії AWS у Техасі. Його спеціалізація включає контейнери та міграцію.
- AI
- ai мистецтво
- AI арт генератор
- ai робот
- Amazon SageMaker
- штучний інтелект
- сертифікація штучного інтелекту
- штучний інтелект у банківській справі
- робот зі штучним інтелектом
- роботи зі штучним інтелектом
- програмне забезпечення для штучного інтелекту
- AWS Машинне навчання
- blockchain
- блокчейн конференція AI
- coingenius
- розмовний штучний інтелект
- крипто конференція ai
- dall's
- глибоке навчання
- у вас є гугл
- навчання за допомогою машини
- plato
- платон ai
- Інформація про дані Платона
- Гра Платон
- PlatoData
- platogaming
- масштаб ai
- синтаксис
- зефірнет