Уровень няни позволяет вам подробно прочитать NAS-BERT

искусственный интеллект

Резюме: В этом документе используется однократный метод распределения веса NAS для выполнения поиска NAS по BERT.

Эта статья опубликована в сообществе HUAWEI CLOUD.«[Документ NAS] [Трансформатор] [Модель для предварительного обучения] Интенсивное чтение NAS-BERT», Автор: Су Дао.

NAS-BERT:Task-Agnostic and Adaptive-Size BERT Compression with Neural ArchitectureSearch

Введение:

Код статьи не является открытым исходным кодом, но статья написана очень понятно и должна быть реализована вручную. Параметров BERT слишком много, а рассуждения слишком медленные (хотя поддерживается tensorRT8.X для достижения хороших результатов рассуждений, а рассуждения BERT-Large занимают всего 1,2 миллисекунды), но исследователи всегда стремились к совершенству, поэтому в этой статье используется однократный метод NAS с разделением веса для поиска NAS по BERT.

Используемые методы включаютblock-wise search, progressive shrinking, иperformanceapproximation

объяснять:

1. Определение области поиска

Операции пространства поиска включают размер ядра свертки отделимой по глубине свертки [3/5/7], скрытый размер [128/192/256/384/512] количество головок MHA [2/3/ 4/6/8], FNN[512/768/1021/1536/2048] и идентификационное соединение, то есть пропуск уровня, всего 26 операций, как показано на следующем рисунке:

Обратите внимание, что связь между MHA и FNN здесь представляет собой отношение два к одному, но, например, первый уровень выбирает MHA, а второй уровень выбирает FNN, который составляет базовый блок Transformer.Можно сказать, что поиск фиксированный блок Transformer, нарушенный этим методом, также включает в себя. В структуре Transformer и BERT разные уровни также являются связанными звеньями, и для каждого уровня выбирается только одна операция, как показано на следующем рисунке.

2. Метод обучения суперсети

[Блочное обучение + дистилляция знаний, блочное обучение + дистилляция KD]

(1) Сначала разделите суперсеть на N блоков.

(2) Используя исходный BERT в качестве модели учителя, BERT также делится на N блоков.

(3) Вход n-го блока в суперсети (Студент) является выходом n-1-го блока модели учителя, а среднеквадратическая ошибка выхода n-го блока модели учителя используется как потеря чтобы предсказать модель учителя.Вывод этого n-го блока

(4) Обучение суперсети представляет собой обучение случайной выборки с одной архитектурой.

(5) Поскольку скрытый размер блока ученика может отличаться от скрытого размера блока учителя, скрытый ввод и вывод блока учителя можно напрямую использовать в качестве обучающих данных блока ученика. Чтобы решить эту проблему, необходимо использовать обучаемый слой линейного преобразования на входе и выходе блока ученика, чтобы преобразовать каждый скрытый размер в соответствии с размером блока учителя, как показано на следующем рисунке.

【Прогрессирующее сокращение】

Пространство поиска слишком велико, и суперсеть нуждается в эффективном обучении. Для ускорения обучения и повышения эффективности поиска можно использовать Progressive Shrinking, далее именуемый PS. Однако архитектуру нельзя просто и грубо исключить, потому что большую архитектуру сложно свести на ранней стадии переобучения, да и эффект нехороший, но это не значит, что ее репрезентативность плохая, поэтому в данной статье ставится задача ПС правило:

его значение,a^tПредставляет самую большую архитектуру в суперсети, **p(▪)** представляет размер параметра,л(▪)Указывает размер задержки,BУказывает настройкиBинтервальные ковши,bУказывает текущий интервал. Если схема a не удовлетворяет _p_b>p(a)>pb_1иl_b>l(a)>l_b-1_ Этот интервал исключен.

Процесс PS идет от каждогоBИзвлеките архитектуры E из корзины, пройдите проверку и удалите архитектуры R с наибольшими потерями. Повторяйте этот процесс, пока в каждой корзине не останется только m архитектур.

3. Выбор модели

Создайте таблицу, включая задержку, потери, количество параметров и структурное кодирование, где потери и задержки являются методами прогнозирования и оценки. Метод оценки можно найти в документе. Для заданного размера модели и ограничений задержки вывода из удовлетворяющих параметров и ограничения задержки. Выберите из таблицы архитектуры T с наименьшими потерями, а затем пропустите архитектуры T через проверочный набор и выберите лучшую.

Результаты экспериментов

1. По сравнению с исходным BERT в наборах данных GLUE есть определенное улучшение:

2. По сравнению с другими вариантами BERT эффект тоже хороший:

Эксперимент по абляции

1. Действителен ли ПС?

Если метод PS не используется, требуется огромное время проверки (5 минут против 50 часов), а обучение суперсети сложнее сходиться, что влияет на ранжирование архитектуры:

2. Архитектура PS или узел отбрасывания PS

Вывод - нода сброса PS слишком грубая и эффект нехороший:

3. Нужна ли двухступенчатая дистилляция?

В этой статье дистилляция исследует этап предварительной подготовки и этап точной настройки, то есть предварительную подготовку KD и точную настройку KD, Вывод таков:

1. Эффект от предтренировочной перегонки лучше, чем от тонкой настройки.

2. Совместная двухступенчатая дистилляция дает лучший эффект

Нажмите «Подписаться», чтобы впервые узнать о новых технологиях HUAWEI CLOUD~