Резюме: В этом документе используется однократный метод распределения веса 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~