Сократите время и затраты на обучение глубокому обучению с помощью MosaicML Composer на платформе AWS PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

Сократите время и затраты на обучение глубокому обучению с помощью MosaicML Composer на AWS

За последнее десятилетие мы увидели Наука глубокого обучения (DL) стремительно внедряется клиентами AWS.. Многочисленные и совместно обученные параметры моделей DL обладают большой репрезентативной способностью, что привело к улучшениям во многих случаях использования клиентами, включая анализ изображений и речи, обработку естественного языка (NLP), обработку временных рядов и многое другое. В этом посте мы освещаем проблемы, о которых обычно сообщают конкретно при обучении ДО, а также то, как библиотека с открытым исходным кодом Композитор MosaicML помогает их решить.

Проблема с обучением DL

Модели DL обучаются итеративно во вложенном цикле for. Цикл выполняет итерацию по частям обучающего набора данных и, при необходимости, этот цикл повторяется несколько раз для всего набора данных. Специалисты по МО, работающие над обучением ДО, сталкиваются с рядом проблем:

  • Продолжительность обучения увеличивается с размером данных. С постоянно растущими наборами данных время и стоимость обучения также растут, а ритм научных открытий замедляется.
  • Сценарии DL часто требуют шаблонного кода, в частности, вышеупомянутой структуры двойного цикла for, которая разбивает набор данных на мини-пакеты, а обучение — на эпохи.
  • Парадокс выбора: опубликовано несколько статей и библиотек по оптимизации обучения, но неясно, какую из них протестировать первой и как объединить их эффекты.

За последние несколько лет несколько библиотек с открытым исходным кодом, таких как Keras, Молния PyTorch, Трансформеры с обнимающимися лицамии Рэй Трейн пытались сделать обучение DL более доступным, в частности, за счет уменьшения многословности кода, тем самым упрощая программирование нейронных сетей. Большинство этих библиотек ориентированы на опыт разработчиков и компактность кода.

В этом посте мы представляем новую библиотеку с открытым исходным кодом, которая занимает другую позицию в обучении DL: Композитор MosaicML — это библиотека, ориентированная на скорость, основная цель которой — ускорить сценарии обучения нейронных сетей за счет инноваций в алгоритмах. В мире облачного DL разумно сосредоточиться на скорости, поскольку вычислительная инфраструктура часто оплачивается по факту использования — вплоть до секунды. Обучение работе с Amazon SageMaker— а повышение скорости может привести к экономии денег.

Исторически ускорение обучения DL в основном достигалось за счет увеличения количества параллельных итераций модели, вычисляемых машинами. Этот метод называется параллелизм данных. Хотя параллелизм данных иногда ускоряет обучение (это не гарантируется, поскольку нарушает сходимость, как показано в Гоял и др.), это не снижает общую стоимость работы. На практике оно имеет тенденцию увеличиваться из-за накладных расходов на межмашинную связь и более высокой стоимости единицы машины, поскольку распределенные машины DL оснащены высокопроизводительной сетью и межсерверным соединением графического процессора.

Хотя MosaicML Composer поддерживает параллелизм данных, его основная философия отличается от движения за параллелизм данных. Его цель — ускорить обучение, не требуя большего количества машин, за счет инноваций на уровне внедрения науки. Таким образом, целью компании является экономия времени, что приведет к экономии средств благодаря структуре оплаты по факту использования AWS.

Представляем библиотеку с открытым исходным кодом MosaicML Composer

MosaicML Composer — это библиотека обучения DL с открытым исходным кодом, специально созданная для упрощения внедрения новейших алгоритмов и объединения их в новые рецепты, которые ускоряют обучение модели и помогают улучшить качество модели. На момент написания этой статьи он поддерживает PyTorch и включает 25 методов, называемых методы в мире MosaicML — наряду со стандартными моделями, наборами данных и тестами

Композитор доступен через пип:

pip install mosaicml

Доступ к методам ускорения, реализованным в Composer, можно получить с помощью его функционального API. Например, следующий фрагмент применяет Размытие пула техника для TorchVision ResNet:

import logging

from composer import functional as CF
import torchvision.models as models
logging.basicConfig(level=logging.INFO)

model = models.resnet50()
CF.apply_blurpool(model)

При желании вы также можете использовать Trainer составить собственную комбинацию техник:

from composer import Trainer
from composer.algorithms import LabelSmoothing, CutMix, ChannelsLast

trainer = Trainer(
    model=.. # must be a composer.ComposerModel
    train_dataloader=...,
    max_duration="2ep",  # can be a time, a number of epochs or batches
    algorithms=[
        LabelSmoothing(smoothing=0.1),
        CutMix(alpha=1.0),
        ChannelsLast(),
    ]
)

trainer.fit()

Примеры методов, реализованных в Composer

Некоторые методы, доступные в Composer, специфичны для компьютерного зрения, например методы увеличения изображения. ColOut, Вырезатьили Прогрессивное изменение размера изображения. Другие специфичны для моделирования последовательностей, например Разминка длины последовательности or Алиби. Интересно, что некоторые из них не зависят от варианта использования и могут применяться к различным нейронным сетям PyTorch, помимо компьютерного зрения и НЛП. Эти общие методы ускорения обучения нейронной сети включают в себя Сглаживание меток, Выборочное обратное распространение, Стохастическое усреднение веса, Замораживание слоеви Минимизация с учетом резкости (SAM).

Давайте углубимся в некоторые из них, которые команда MosaicML сочла особенно эффективными:

  • Минимизация с учетом резкости (SAM) является оптимизатором, который минимизирует как функцию потерь модели, так и ее резкость, вычисляя градиент дважды для каждого шага оптимизации. Чтобы ограничить дополнительные вычисления и снизить пропускную способность, SAM можно запускать периодически.
  • Внимание с линейными смещениями (ALiBi), вдохновлен Пресс и др., относится только к моделям Трансформеров. Это устраняет необходимость в позиционных вложениях, заменяя их необучаемым уклоном в сторону весов внимания.
  • Выборочное обратное распространение, вдохновлен Цзян и др., позволяет запускать обратное распространение ошибки (алгоритмы, которые улучшают веса модели путем отслеживания наклона ее ошибок) только для записей с функцией высоких потерь. Этот метод помогает избежать ненужных вычислений и помогает повысить пропускную способность.

Наличие этих методов в единой компактной системе обучения представляет собой значительную добавленную стоимость для специалистов по МО. Что также ценно, так это практические отзывы, которые команда MosaicML предоставляет для каждого метода, протестированного и оцененного. Однако, имея такой богатый набор инструментов, вы можете задаться вопросом: какой метод мне использовать? Безопасно ли совмещать использование нескольких методов? Войдите в MosaicML Explorer.

МозаикаML Explorer

Чтобы количественно оценить ценность и совместимость методов обучения DL, команда MosaicML поддерживает Explorer, первая в своем роде интерактивная информационная панель, отображающая десятки экспериментов по обучению DL на пяти наборах данных и семи моделях. На приборной панели изображено оптимальная граница Парето в соотношении цена/время/качество и позволяет просматривать и находить наиболее эффективные комбинации методов, называемые рецепты в мире MosaicML — для данной модели и набора данных. Например, следующие графики показывают, что для обучения GPT125 со 2 миллионами параметров самое дешевое обучение, поддерживающее недоумение 24.11, получается путем объединения AliBi, прогрева длины последовательности и расписания масштабирования, что приводит к стоимости около 145.83 долларов США в облаке AWS! Однако обратите внимание, что этот расчет затрат и расчеты, приведенные ниже, основаны только на вычислениях EC2 по требованию; могут быть применимы и другие соображения по стоимости, в зависимости от вашей среды и потребностей бизнеса.

Снимок экрана MosaicML Explorer для обучения GPT-2

Заметные достижения с Composer на AWS

Запустив библиотеку Composer на AWS, команда MosaicML добилась ряда впечатляющих результатов. Обратите внимание, что оценки затрат, представленные командой MosaicML, включают только расходы на вычисления по требованию.

Заключение

Вы можете начать работу с Composer на любой совместимой платформе, от ноутбука до крупных облачных серверов с графическим процессором. Библиотека имеет интуитивно понятный Приветственный тур и Первые шаги страницы документации. Использование Composer в AWS позволяет объединить научные исследования по оптимизации затрат Composer с сервисами и программами AWS по оптимизации затрат, включая спотовые вычисления (Amazon EC2, Создатель мудреца Амазонки), План сбережений, SageMaker автоматическая настройка модели, и более. Команда MosaicML поддерживает учебник композитора на AWS. Он обеспечивает пошаговую демонстрацию того, как можно воспроизвести результаты MLPerf и обучить ResNet-50 на AWS до стандартной точности Top-76.6 1% всего за 27 минут.

Если у вас проблемы с нейронными сетями, которые обучаются слишком медленно, или если вы хотите контролировать расходы на обучение DL, попробуйте MosaicML на AWS и сообщите нам, что вы создадите!


Об авторах

Сократите время и затраты на обучение глубокому обучению с помощью MosaicML Composer на платформе AWS PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.Бандиш Шах — технический менеджер в MosaicML, работающий над объединением эффективного глубокого обучения с крупномасштабными распределенными системами и высокопроизводительными вычислениями. У Бэндиша более десяти лет опыта создания систем для машинного обучения и корпоративных приложений. Ему нравится проводить время с друзьями и семьей, готовить и смотреть «Звездный путь» на повторе для вдохновения.

Сократите время и затраты на обучение глубокому обучению с помощью MosaicML Composer на платформе AWS PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.Оливье Крючан является специалистом по машинному обучению и архитектором решений в AWS, базирующейся во Франции. Оливье помогает клиентам AWS — от небольших стартапов до крупных предприятий — разрабатывать и развертывать приложения машинного обучения производственного уровня. В свободное время он любит читать исследовательские работы и исследовать пустыню с друзьями и семьей.

Отметка времени:

Больше от Машинное обучение AWS