У сучасному середовищі штучного інтелекту, що швидко розвивається, моделі глибокого навчання опинилися в авангарді інновацій із застосуваннями, що охоплюють комп’ютерне бачення (CV), обробку природної мови (NLP) і системи рекомендацій. Однак зростаючі витрати, пов’язані з навчанням і налагодженням цих моделей, створюють проблеми для підприємств. Ця вартість в першу чергу зумовлена величезним обсягом даних, які використовуються для навчання моделей глибокого навчання. Сьогодні великі моделі часто навчаються на терабайтах даних, і навчання може тривати тижнями навіть із потужним графічним процесором або AWS Trainiumобладнання на основі. Як правило, клієнти покладаються на методи й оптимізацію, які підвищують ефективність циклу навчання моделі, наприклад оптимізоване ядро або шари, змішане точне навчання або такі функції, як Amazon SageMaker розподілені навчальні бібліотеки. Проте сьогодні менше уваги приділяється ефективності самих навчальних даних. Не всі дані однаково сприяють процесу навчання під час навчання моделі: значна частка обчислювальних ресурсів може бути витрачена на обробку простих прикладів, які не вносять істотного внеску в загальну точність моделі.
Клієнти традиційно покладаються на методи попередньої обробки, такі як підвищення або зменшення дискретизації та дедуплікація, щоб уточнити та покращити якість інформації своїх даних. Ці методи можуть допомогти, але часто займають багато часу, вимагають спеціального досвіду в галузі обробки даних і іноді можуть бути більше мистецтвом, ніж наукою. Клієнти також часто покладаються на підібрані набори даних, наприклад RefinedWeb, покращити продуктивність своїх моделей; однак ці набори даних не завжди є повністю відкритими і часто мають більш загальне призначення та не пов’язані з вашим конкретним випадком використання.
Як інакше можна подолати цю неефективність, пов’язану з малоінформативними вибірками даних під час навчання моделі?
Ми раді оголосити про публічну попередню версію інтелектуального відсіву, нової можливості SageMaker, яка може знизити витрати на навчання моделей глибокого навчання до 35%. Інтелектуальне відсіювання – це нова техніка ефективності даних, яка активно аналізує ваші зразки даних під час навчання та відфільтровує зразки, які є менш інформативними для моделі. Завдяки навчанню на меншій підмножині даних лише з тими зразками, які найбільше сприяють конвергенції моделі, загальне навчання та витрати зменшуються з мінімальним впливом на точність або без нього. Крім того, оскільки ця функція працює в режимі онлайн під час навчання моделі, інтелектуальне відсіювання не потребує змін у ваших вихідних даних або конвеєрі подальшого навчання.
У цій публікації ми обговорюємо такі теми:
- Нова функція розумного просіювання в SageMaker і як вона працює
- Як використовувати розумне відсіювання з навчальними навантаженнями PyTorch
Ви також можете перевірити наш документація та зразки зошитів для отримання додаткових ресурсів про те, як почати роботу з розумним відсіюванням.
Як працює розумне просіювання SageMaker
Ми починаємо цю публікацію з огляду того, як функція інтелектуального відсіву може прискорити навчання моделі на SageMaker.
Завдання інтелектуального відсіву полягає в тому, щоб відсіяти ваші тренувальні дані під час тренувального процесу та ввести в модель лише більш інформативні зразки. Під час типового навчання з PyTorch дані ітеративно надсилаються пакетами до навчального циклу та до прискорювальних пристроїв (наприклад, графічних процесорів або мікросхем Trainium). Завантажувач даних PyTorch. Інтелектуальне відсіювання реалізовано на цьому етапі завантаження даних і тому не залежить від будь-якої попередньої обробки даних у вашому навчальному конвеєрі.
Інтелектуальне відсіювання використовує вашу модель і визначену користувачем функцію втрат для здійснення оціночної прямої передачі кожного зразка даних під час його завантаження. Зразки з високими втратами суттєво впливатимуть на навчання моделі, тому їх використовують у навчанні; зразки даних з відносно низькими втратами відкладаються та виключаються з навчання.
Ключовою вхідною інформацією для інтелектуального відсіву є частка даних, які потрібно виключити: наприклад, якщо встановити пропорцію на 33% (beta_value=0.5), зразки приблизно в нижній третині втрати кожної партії будуть виключені з навчання. Коли виявлено достатню кількість зразків із високими втратами для завершення партії, дані надсилаються через повний цикл навчання, і модель навчається та тренується в звичайному режимі. Вам не потрібно вносити жодних змін у цикл навчання, коли ввімкнено інтелектуальне відсіювання.
Наступна діаграма ілюструє цей робочий процес.
Включаючи лише частину ваших навчальних даних, інтелектуальне відсіювання скорочує час і обчислення, необхідні для навчання моделі. У наших тестах ми досягли майже 40% скорочення загального часу навчання та вартості. Завдяки інтелектуальному відсіву даних вплив на точність моделі може бути мінімальним або взагалі відсутнім, оскільки виключені зразки мали відносно низькі втрати для моделі. У наведеній нижче таблиці ми включаємо набір експериментальних результатів, які демонструють підвищення продуктивності, можливе за допомогою розумного просіювання SageMaker.
У таблиці стовпець % прийнятих вказує на частку даних, які включено та використовується в навчальному циклі. Збільшення цього настроюваного параметра зменшує вартість (як показано в стовпці IMR Savings %), але це також може вплинути на точність. Відповідне налаштування % прийнято залежить від вашого набору даних і моделі; вам слід поекспериментувати з цим параметром і налаштувати його, щоб досягти найкращого балансу між зниженням вартості та впливом на точність.
Огляд рішення
У наступних розділах ми розглянемо практичний приклад увімкнення розумного відсіву за допомогою навчального завдання PyTorch на SageMaker. Якщо ви хочете почати швидко, ви можете перейти до Приклади PyTorch або PyTorch Lightning.
Передумови
Ми припускаємо, що ви вже знаєте, як навчити модель за допомогою PyTorch або PyTorch Lightning за допомогою SDK SageMaker Python і класу Estimator за допомогою контейнерів глибокого навчання SageMaker для навчання. Якщо ні, зверніться до Використання SageMaker Python SDK перед тим, як продовжити.
Почніть роботу з розумним просіюванням SageMaker
У типовому навчанні PyTorch ви ініціалізуєте навчання PyTorch DataLoader з вашим набором даних та іншими необхідними параметрами, що забезпечує вхідні пакети в ході навчання. Щоб увімкнути інтелектуальне відсіювання ваших тренувальних даних, скористайтеся новою DataLoader
клас: smart_sifting.dataloader.sift_dataloader.SiftingDataloader
. Цей клас використовується як оболонка поверх вашого існуючого PyTorch DataLoader
а навчальний процес натомість використовуватиме SiftingDataloader
щоб отримати вхідні партії. The SiftingDataLoader
отримує вхідний пакет із вашого оригінального PyTorch DataLoader
, оцінює важливість зразків у партії та створює просіяну партію із зразками з високими втратами, які потім передаються на етап навчання. Обгортка виглядає так:
Команда SiftingDataloader
вимагає деяких додаткових параметрів для аналізу ваших тренувальних даних, які ви можете вказати за допомогою sift_config
параметр. Спочатку створіть a smart_sifting.sift_config.sift_configs.RelativeProbabilisticSiftConfig
об'єкт. Цей об’єкт містить настроювані та необхідні beta_value
та loss_history_length
, які відповідно визначають частку зразків для збереження та вікно зразків для включення під час оцінювання відносної втрати. Зауважте, що оскільки інтелектуальне відсіювання використовує вашу модель для визначення важливості вибірки, використання моделі з абсолютно випадковими вагами може мати негативні наслідки. Замість цього можна використовувати loss_based_sift_config
і sift_delay
щоб затримати процес просіювання, доки ваги параметрів у моделі не оновляться за межі випадкових значень. (Для отримання додаткової інформації див Застосуйте інтелектуальне відсіювання до свого навчального сценарію.) У наступному коді ми визначаємо sift_config
і вкажіть beta_value
та loss_history_length
, а також відкласти початок просіювання використовуючи loss_based_sift_config
:
Далі ви також повинні включити a loss_impl
параметр у SiftingDataloader
об'єкт. Інтелектуальне відсіювання працює на рівні окремої вибірки, і дуже важливо мати доступ до методу розрахунку втрат, щоб визначити важливість вибірки. Ви повинні реалізувати метод відсіву втрат, який повертає тензор nx1, який містить значення втрат n вибірок. Як правило, ви вказуєте той самий метод втрати, який використовує ваш model
під час навчання. Нарешті, додайте покажчик на свою модель у SiftingDataloader
об'єкт, який використовується для оцінки зразків перед їх включенням у навчання. Перегляньте наступний код:
У наведеному нижче коді показано повний приклад увімкнення інтелектуального відсіву за допомогою наявного навчального завдання BERT:
Висновок
У цьому дописі ми ознайомилися з публічною попередньою версією інтелектуального відсіву, нової можливості SageMaker, яка може зменшити витрати на навчання моделі глибокого навчання до 35%. Ця функція покращує ефективність даних під час навчання, відфільтровуючи менш інформативні зразки даних. Включаючи лише найбільш впливові дані для конвергенції моделі, ви можете значно скоротити час і витрати на навчання, зберігаючи при цьому точність. Більше того, він легко інтегрується у ваші існуючі процеси, не вимагаючи змін у ваших даних або конвеєрі навчання.
Щоб глибше зануритися в інтелектуальне просіювання SageMaker, дослідити, як воно працює, і реалізувати його за допомогою навчальних навантажень PyTorch, перегляньте наш документація та зразки зошитів і почати роботу з цією новою можливістю.
Про авторів
Роберт Ван Дусен є старшим менеджером із продуктів Amazon SageMaker. Він керує фреймворками, компіляторами та методами оптимізації для глибокого навчання.
К Локеш Кумар Редді є старшим інженером у команді Amazon Applied AI. Він зосереджений на ефективних методах навчання ML та створенні інструментів для вдосконалення розмовних систем ШІ. У вільний час він любить шукати нові культури, нові враження та бути в курсі останніх технологічних тенденцій.
Абхішек Ден є старшим менеджером із розробки в команді Amazon Applied AI і працює над машинним навчанням і розмовними системами штучного інтелекту. Він захоплюється технологіями штучного інтелекту та працює на перетині науки та техніки, надаючи можливості систем штучного інтелекту створювати більш інтуїтивно зрозумілу та безперебійну взаємодію між людиною та комп’ютером. Зараз він створює додатки на великих мовних моделях, щоб підвищити ефективність і покращити CX для Amazon.
- Розповсюдження контенту та PR на основі SEO. Отримайте посилення сьогодні.
- PlatoData.Network Vertical Generative Ai. Додайте собі сили. Доступ тут.
- PlatoAiStream. Web3 Intelligence. Розширення знань. Доступ тут.
- ПлатонЕСГ. вуглець, CleanTech, Енергія, Навколишнє середовище, Сонячна, Поводження з відходами. Доступ тут.
- PlatoHealth. Розвідка про біотехнології та клінічні випробування. Доступ тут.
- джерело: https://aws.amazon.com/blogs/machine-learning/accelerate-deep-learning-model-training-up-to-35-with-amazon-sagemaker-smart-sifting/
- :є
- : ні
- $UP
- 100
- 125
- 13
- 14
- 23
- 25
- 35%
- 7
- a
- МЕНЮ
- прискорювати
- прискорювач
- прийнятий
- доступ
- точність
- Achieve
- досягнутий
- активно
- додавати
- Додатковий
- Додатково
- просування
- впливати
- AI
- Системи ШІ
- ВСІ
- вже
- Також
- зміни
- завжди
- Amazon
- Amazon SageMaker
- Amazon Web Services
- an
- аналізувати
- аналізи
- та
- Оголосити
- будь-який
- застосування
- прикладної
- Прикладний ШІ
- відповідний
- приблизно
- ЕСТЬ
- Art
- штучний
- штучний інтелект
- AS
- aside
- асоційований
- припустити
- At
- AWS
- Balance
- BE
- оскільки
- було
- перед тим
- починати
- КРАЩЕ
- між
- За
- дно
- Створюємо
- але
- by
- обчислювати
- розрахунок
- CAN
- можливості
- можливості
- випадок
- виклик
- Зміни
- перевірка
- Чіпси
- клас
- код
- Колонка
- повний
- повністю
- обчислення
- обчислювальна
- обчислення
- комп'ютер
- Комп'ютерне бачення
- конструкти
- споживання
- Контейнери
- триває
- сприяти
- сприяє
- Зближення
- діалоговий
- розмовний ШІ
- Коштувати
- витрати
- створювати
- вирішальне значення
- Куратор
- В даний час
- Клієнти
- CX
- дані
- наука про дані
- набори даних
- Дата
- зменшується
- глибокий
- глибоке навчання
- глибше
- визначати
- визначаючи
- затримка
- продемонстрований
- демонстрація
- деталі
- Визначати
- DEV
- пристрій
- прилади
- обговорювати
- розподілений
- розподілене навчання
- занурення
- do
- Ні
- Не знаю
- управляти
- керований
- під час
- кожен
- ефективність
- ефективний
- ще
- включіть
- включений
- дозволяє
- інженер
- Машинобудування
- досить
- підприємств
- однаково
- оцінювати
- оцінки
- Навіть
- еволюціонує
- приклад
- Приклади
- збуджений
- виключений
- існуючий
- досвід
- Досліди
- експеримент
- експериментальний
- дослідити
- Розвіданий
- особливість
- риси
- Фільтри
- в кінці кінців
- Перший
- Сфокусувати
- увагу
- після
- для
- передній край
- Вперед
- знайдений
- каркаси
- від
- Повний
- повністю
- функція
- Загальне
- отримати
- GPU
- Графічні процесори
- апаратні засоби
- Мати
- he
- допомога
- його
- тримає
- Як
- How To
- Однак
- HTML
- HTTPS
- ідентифікований
- if
- ілюструє
- Impact
- вражаючий
- здійснювати
- реалізовані
- наслідки
- імпорт
- значення
- удосконалювати
- поліпшення
- поліпшення
- поліпшується
- in
- включати
- включені
- У тому числі
- зростаючий
- незалежний
- вказує
- індивідуальний
- неефективність
- інформація
- інформативний
- інновація
- вхід
- замість
- Інтеграція
- Інтелект
- Взаємодії
- перетин
- в
- інтуїтивний
- IT
- сам
- робота
- JPG
- стрибати
- тримати
- ключ
- Знати
- Кумар
- ландшафт
- мова
- великий
- останній
- шарів
- Веде за собою
- вивчення
- вчиться
- менше
- рівень
- libraries
- блискавка
- як
- погрузка
- логіка
- ВИГЛЯДИ
- від
- машина
- навчання за допомогою машини
- Підтримка
- зробити
- менеджер
- матеріально
- Може..
- метод
- мінімальний
- змішаний
- ML
- модель
- Моделі
- Модулі
- більше
- найбільш
- повинен
- Природний
- Обробка природних мов
- майже
- Необхідність
- необхідний
- негативний
- Нові
- nlp
- немає
- ніхто
- нормально
- увагу
- об'єкт
- of
- часто
- on
- онлайн
- тільки
- відкрити
- з відкритим вихідним кодом
- працює
- оптимізація
- оптимізований
- or
- оригінал
- Інше
- наші
- з
- виходи
- загальний
- Подолати
- огляд
- параметр
- параметри
- проходити
- Пройшов
- пристрасний
- для
- продуктивність
- трубопровід
- plato
- Інформація про дані Платона
- PlatoData
- позах
- це можливо
- пошта
- потужний
- Практичний
- Точність
- попередній перегляд
- в першу чергу
- процес
- процеси
- обробка
- Product
- менеджер по продукції
- частка
- забезпечує
- громадськість
- мета
- Python
- піторх
- якість
- швидко
- випадковий
- швидко
- Рекомендація
- зменшити
- Знижений
- знижує
- скорочення
- послатися
- удосконалювати
- пов'язаний
- відносний
- щодо
- покладатися
- вимагати
- вимагається
- Вимагається
- ресурси
- відповідно
- REST
- результати
- повертати
- Умови повернення
- мудрець
- то ж
- Економія
- наука
- Sdk
- безшовні
- плавно
- розділам
- побачити
- пошук
- SELF
- старший
- посланий
- Послуги
- комплект
- установка
- Повинен
- Шоу
- Просіяти
- значний
- істотно
- простий
- менше
- розумний
- деякі
- іноді
- Source
- напруга
- спеціалізований
- конкретний
- відпрацьований
- Стажування
- старт
- почалася
- перебування
- Крок
- по суті
- такі
- Systems
- таблиця
- Приймати
- Завдання
- команда
- техніка
- методи
- Технології
- Технологія
- Тести
- ніж
- Що
- Команда
- інформація
- їх
- самі
- потім
- Там.
- отже
- Ці
- вони
- третій
- це
- через
- час
- до
- сьогодні
- сьогоднішній
- інструменти
- топ
- теми
- факел
- Усього:
- традиційно
- поїзд
- навчений
- Навчання
- поїзда
- Тенденції
- мелодія
- типовий
- типово
- до
- оновлений
- Вихідні дані
- використання
- використання випадку
- використовуваний
- використовує
- використання
- Цінності
- через
- бачення
- обсяг
- ходити
- хотіти
- we
- Web
- веб-сервіси
- тижня
- ДОБРЕ
- були
- коли
- який
- в той час як
- волі
- вікно
- з
- без
- робочий
- працює
- Ти
- вашу
- зефірнет