Большие модели преобразователей, основанные на внимании, добились огромных успехов в обработке естественного языка (NLP). Однако для обучения этих гигантских сетей с нуля требуется огромное количество данных и вычислений. Для небольших наборов данных НЛП простой, но эффективной стратегией является использование предварительно обученного преобразователя, обычно обучаемого без присмотра на очень больших наборах данных, и его точная настройка на интересующем наборе данных. Обнимая лицо поддерживает большой модельный зоопарк этих предварительно обученных трансформеров и делает их легко доступными даже для начинающих пользователей.
Однако тонкая настройка этих моделей по-прежнему требует экспертных знаний, поскольку они очень чувствительны к своим гиперпараметрам, таким как скорость обучения или размер пакета. В этом посте мы покажем, как оптимизировать эти гиперпараметры с помощью платформы с открытым исходным кодом. Сине Мелодия для распределенной оптимизации гиперпараметров (HPO). Syne Tune позволяет нам найти лучшую конфигурацию гиперпараметров, которая дает относительное улучшение на 1-4% по сравнению с гиперпараметрами по умолчанию на популярных КЛЕЙ эталонные наборы данных. Выбор самой предварительно обученной модели также можно считать гиперпараметром, и поэтому Syne Tune выбирает ее автоматически. В задаче классификации текста это приводит к дополнительному повышению точности примерно на 5% по сравнению с моделью по умолчанию. Однако мы можем автоматизировать больше решений, которые должен принять пользователь; мы демонстрируем это, также предоставляя тип экземпляра в качестве гиперпараметра, который мы позже используем для развертывания модели. Выбрав правильный тип экземпляра, мы можем найти конфигурации, которые оптимально сочетают стоимость и задержку.
Для ознакомления с Syne Tune см. Запуск распределенных заданий по настройке гиперпараметров и нейронной архитектуры с помощью Syne Tune.
Оптимизация гиперпараметров с помощью Syne Tune
Мы будем использовать КЛЕЙ набор эталонных тестов, который состоит из девяти наборов данных для задач понимания естественного языка, таких как распознавание текстовых следствий или анализ настроений. Для этого мы адаптируем Hugging Face run_glue.py сценарий обучения. Наборы данных GLUE поставляются с предопределенным набором для обучения и оценки с метками, а также набором тестов удержания без меток. Поэтому мы разделяем тренировочный набор на обучающий и проверочный наборы (разделение 70%/30%) и используем оценочный набор в качестве нашего тестового набора данных. Кроме того, мы добавляем еще одну функцию обратного вызова в API Trainer Hugging Face, которая сообщает о производительности проверки после каждой эпохи обратно в Syne Tune. См. следующий код:
Начнем с оптимизации типичных гиперпараметров обучения: скорости обучения, коэффициента прогрева для увеличения скорости обучения и размера партии для точной настройки предварительно обученного BERT (берт-основание-оболочка), которая является моделью по умолчанию в примере Hugging Face. См. следующий код:
В качестве нашего метода HPO мы используем Аша, который случайным образом выбирает конфигурации гиперпараметров и итеративно останавливает оценку неэффективных конфигураций. Хотя существуют более сложные методы, использующие вероятностную модель целевой функции, такие как BO или MoBster, мы используем ASHA для этого поста, потому что он не содержит каких-либо предположений о пространстве поиска.
На следующем рисунке мы сравниваем относительное улучшение тестовой ошибки по сравнению с конфигурацией гиперпараметра Hugging Faces по умолчанию.
Для простоты мы ограничимся сравнением с MRPC, COLA и STSB, но мы также наблюдаем аналогичные улучшения и для других наборов данных GLUE. Для каждого набора данных мы запускаем ASHA на одном файле ml.g4dn.xlarge. Создатель мудреца Амазонки экземпляр с бюджетом времени выполнения 1,800 секунд, что соответствует приблизительно 13, 7 и 9 полноценным вычислениям функций для этих наборов данных соответственно. Чтобы учесть присущую процессу обучения случайность, вызванную, например, мини-пакетной выборкой, мы запускаем ASHA и конфигурацию по умолчанию для пяти повторений с независимым начальным числом для генератора случайных чисел и сообщаем среднее значение и стандартное отклонение относительное улучшение при повторениях. Мы видим, что во всех наборах данных мы действительно можем повысить производительность прогнозирования на 1-3% по сравнению с производительностью тщательно выбранной конфигурации по умолчанию.
Автоматизируйте выбор предварительно обученной модели
Мы можем использовать HPO не только для поиска гиперпараметров, но и для автоматического выбора правильной предварительно обученной модели. Почему мы хотим это сделать? Поскольку ни одна модель не превосходит все наборы данных, мы должны выбрать правильную модель для конкретного набора данных. Чтобы продемонстрировать это, мы оцениваем ряд популярных моделей-трансформеров от Hugging Face. Для каждого набора данных мы ранжируем каждую модель по ее тестовой производительности. Ранжирование по наборам данных (см. следующий рисунок) меняется, и ни одна модель не имеет наивысшего балла для каждого набора данных. В качестве справки мы также показываем абсолютную производительность теста каждой модели и набора данных на следующем рисунке.
Чтобы автоматически выбрать правильную модель, мы можем указать выбор модели как категориальные параметры и добавить их в наше пространство поиска гиперпараметров:
Хотя пространство поиска теперь больше, это не обязательно означает, что его сложнее оптимизировать. На следующем рисунке показана ошибка теста наилучшей наблюдаемой конфигурации (на основе ошибки проверки) в наборе данных MRPC ASHA с течением времени при поиске в исходном пространстве (синяя линия) (с предварительно обученной моделью на основе BERT). ) или в новом расширенном пространстве поиска (оранжевая линия). При том же бюджете ASHA может найти гораздо более эффективную конфигурацию гиперпараметров в расширенном пространстве поиска, чем в меньшем пространстве.
Автоматизируйте выбор типа экземпляра
На практике мы можем заботиться не только об оптимизации эффективности прогнозирования. Нас также могут интересовать другие цели, такие как время обучения, (долларовая) стоимость, задержка или показатели справедливости. Нам также необходимо сделать другие выборы помимо гиперпараметров модели, например, выбрать тип экземпляра.
Хотя тип экземпляра не влияет на производительность прогнозирования, он сильно влияет на стоимость (в долларах), время выполнения обучения и задержку. Последнее становится особенно важным при развертывании модели. Мы можем сформулировать HPO как многоцелевую задачу оптимизации, в которой мы стремимся оптимизировать несколько целей одновременно. Однако ни одно решение не оптимизирует все показатели одновременно. Вместо этого мы стремимся найти набор конфигураций, которые оптимально сочетают одну цель с другой. Это называется набор Парето.
Для дальнейшего анализа этого параметра мы добавляем выбор типа экземпляра в качестве дополнительного категориального гиперпараметра в наше пространство поиска:
МЫ ИСПОЛЬЗУЕМ МО-АША, который адаптирует ASHA к многокритериальному сценарию, используя сортировку без доминирования. В каждой итерации MO-ASHA также выбирает для каждой конфигурации тип экземпляра, на котором мы хотим ее оценить. Для запуска HPO на разнородном наборе экземпляров Syne Tune предоставляет серверную часть SageMaker. При использовании этого бэкэнда каждое испытание оценивается как независимое обучающее задание SageMaker на собственном экземпляре. Количество рабочих определяет, сколько заданий SageMaker мы выполняем параллельно в данный момент времени. Сам оптимизатор, в нашем случае MO-ASHA, работает либо на локальном компьютере, либо на ноутбуке Sagemaker, либо на отдельном обучающем задании SageMaker. См. следующий код:
На следующих рисунках слева показано соотношение задержки и ошибки теста, а справа — соотношение задержки и стоимости для случайных конфигураций, отобранных MO-ASHA (мы ограничиваем ось для видимости) в наборе данных MRPC после его запуска в течение 10,800 XNUMX секунд на четырех рабочих процессах. Цвет указывает на тип экземпляра. Черная пунктирная линия представляет множество Парето, то есть множество точек, которые доминируют над всеми другими точками хотя бы в одной цели.
Мы можем наблюдать компромисс между задержкой и ошибкой теста, а это означает, что лучшая конфигурация с наименьшей ошибкой теста не обеспечивает наименьшую задержку. В зависимости от ваших предпочтений вы можете выбрать конфигурацию гиперпараметров, которая снижает производительность теста, но обеспечивает меньшую задержку. Мы также видим компромисс между задержкой и стоимостью. Например, используя инстанс ml.g4dn.xlarge меньшего размера, мы лишь незначительно увеличиваем задержку, но платим четверть стоимости инстанса ml.g4dn.8xlarge.
Заключение
В этом посте мы обсудили оптимизацию гиперпараметров для точной настройки предварительно обученных моделей трансформаторов от Hugging Face на основе Syne Tune. Мы увидели, что, оптимизируя гиперпараметры, такие как скорость обучения, размер пакета и коэффициент прогрева, мы можем улучшить тщательно выбранную конфигурацию по умолчанию. Мы также можем расширить это, автоматически выбрав предварительно обученную модель с помощью оптимизации гиперпараметров.
С помощью серверной части Syne Tune SageMaker мы можем рассматривать тип экземпляра как гиперпараметр. Хотя тип экземпляра не влияет на производительность, он существенно влияет на задержку и стоимость. Следовательно, рассматривая HPO как многокритериальную задачу оптимизации, мы можем найти набор конфигураций, которые оптимально сочетают одну цель с другой. Если вы хотите попробовать это сами, загляните в наш пример тетради.
Об авторах
Аарон Кляйн является прикладным ученым в AWS.
Матиас Сигер является ведущим научным сотрудником AWS.
Дэвид салинас является старшим научным сотрудником в AWS.
Эмили Уэббер присоединился к AWS сразу после запуска SageMaker и с тех пор пытается рассказать об этом миру! Помимо создания новых возможностей машинного обучения для клиентов, Эмили любит медитировать и изучать тибетский буддизм.
Седрик Аршамбо является ведущим научным сотрудником AWS и членом Европейской лаборатории обучения и интеллектуальных систем.
- Коинсмарт. Лучшая в Европе биржа биткойнов и криптовалют.
- Платоблокчейн. Интеллект метавселенной Web3. Расширение знаний. БЕСПЛАТНЫЙ ДОСТУП.
- КриптоХок. Альткоин Радар. Бесплатная пробная версия.
- Источник: https://aws.amazon.com/blogs/machine-learning/hyperparameter-optimization-for-fine-tuning-pre-trained-transformer-models-from-hugging-face/
- "
- 10
- 100
- 7
- 9
- a
- О нас
- Absolute
- доступной
- Учетная запись
- Достигать
- через
- дополнительный
- влиять на
- Все
- позволяет
- Несмотря на то, что
- Amazon
- количество
- анализ
- анализировать
- Другой
- API
- прикладной
- примерно
- архитектура
- дополненная
- автоматизировать
- автоматически
- в среднем
- AWS
- Ось
- , так как:
- эталонный тест
- ЛУЧШЕЕ
- Лучшая
- между
- Beyond
- Черный
- булавка
- повышение
- бюджет
- Строительство
- заботится
- случаев
- вызванный
- выбор
- выбор
- выбранный
- класс
- классификация
- код
- как
- сравненный
- Вычисление
- Конфигурация
- контроль
- Клиенты
- данным
- решения
- демонстрировать
- развертывание
- развернуть
- распределенный
- не
- Доллар
- каждый
- легко
- Эффективный
- Европейская кухня
- оценивать
- оценка
- пример
- Впечатления
- эксперту
- продлить
- Лицо
- Мода
- фигура
- после
- Рамки
- от
- полный
- функция
- далее
- Более того
- генератор
- помощь
- здесь
- Как
- How To
- Однако
- HTTPS
- Влияние
- важную
- улучшать
- улучшение
- Увеличение
- независимые
- повлиять
- пример
- Умный
- интерес
- IT
- саму трезвость
- работа
- Джобс
- присоединился
- знания
- лаборатория
- Этикетки
- язык
- большой
- больше
- запустили
- Лиды
- изучение
- ОГРАНИЧЕНИЯ
- линия
- локальным
- машина
- сделать
- ДЕЛАЕТ
- массивный
- смысл
- методы
- Метрика
- может быть
- ML
- модель
- Модели
- БОЛЕЕ
- с разными
- натуральный
- обязательно
- потребности
- сетей
- ноутбук
- номер
- целей
- полученный
- оптимизация
- Оптимизировать
- оптимизирующий
- оригинал
- Другие контрактные услуги
- собственный
- особенно
- ОПЛАТИТЬ
- производительность
- выполнения
- пожалуйста
- пунктов
- Популярное
- практика
- Основной
- Проблема
- процесс
- обработка
- приводит
- ассортимент
- Ранжирование
- отчету
- репортер
- Отчеты
- представляет
- требуется
- Итоги
- Run
- Бег
- то же
- Ученый
- Поиск
- секунды
- семя
- выбранный
- настроение
- набор
- установка
- показывать
- значительный
- аналогичный
- просто
- одинарной
- Размер
- Решение
- сложный
- Space
- конкретный
- раскол
- стандарт
- Начало
- Область
- По-прежнему
- Стратегия
- системы
- задачи
- тестXNUMX
- Ассоциация
- мир
- следовательно
- время
- торговать
- Обучение
- лечить
- огромный
- суд
- понимание
- us
- использование
- пользователей
- обычно
- использовать
- Проверка
- видимость
- Википедия.
- без
- рабочие
- Мир
- ВАШЕ