Источник статьи | [Сообщество Hengyuan Cloud](Hengyuan Cloud, платформа общей вычислительной мощности, ориентированная на индустрию искусственного интеллекта.)
Исходный адрес |【АКЛ 2022】
Оригинальный автор | Матор
Внутренняя ОС редактора на данный момент: я не могу винить большого парня за его высокую производительность ~ я мало работаю! Гастарбайтеры, рабочие духи, вставайте и вперед! ! !
Текст начинается:
В ACL2022 есть статья под названием "Y\mathcal{Y}Y-Tuning: An Efficient Tuning Paradigm for Large-Scale Pre-Trained Models via Label Representation Learning«Вклад привлек мое внимание из названия. В отличие от Fine-Tuning, Adapter-Tuning и Prompt-Tuning, новшество этой статьи заключается в том, что она не настраивает входные текстовые функции и параметры крупномасштабного предварительного обучения. модель., только изучая особенности этикеток, в прошлом редко можно было увидеть особенности этикеток. Хотя окончательный эффект все еще может быть несопоставим с тонкой настройкой, он имеет значительные преимущества с точки зрения экономии вычислительных затрат и имеет потенциал для дальнейшего повышения производительности за счет последующих исследований.
PRELIMINARIES OF TUNING PTMS
Для задач НЛП обычно есть входной тексти этикетки,вПространство признаков является дискретным (например, One-hot). Возьмем в качестве примера задачу «Анализ настроений» (SA), введите предложениенабор меток=, теги вистинная метка
определениеявляется отображением входного предложения в многомерное плотное векторное пространство,Чтобы изменить отображение векторного пространства на пространство меток. данный тренировочный набор, мы можем определить функцию потерь как, а оптимальный можно найтии:В общем, даже если классификаторОчень просто, но пока есть хороший экстрактор признаков, производительность в нисходящих задачах будет не плохой
Вышеупомянутое содержание удалено из оригинальной статьи. Описание в статье несколько абстрактно. Грубо говоря, это на самом делеМожет рассматриваться как BERT,Он предназначен для решения различных последующих задач, и за некоторыми слоями после BERT, такими как классификация текста, следует линейный слой.
-TUNING
мы определяем– размеченная обучающая выборка,является предварительно обученной моделью, обученной на крупномасштабном корпусе, и всегда фиксируется в следующемПараметры не обновляются. Традиционный подход заключается в тонкой настройке экстрактора признаков.параметры, чтобы сделать его близким к истинной метке.-Исправлена практика настройкипараметры, в свою очередь настраивая экстрактор этикетокпараметры, и мы используем перекрестное внимание дляиЭлементы объединены, как показано на следующем рисунке.
Функция потерь представляет собой тройную потерю в следующей форме:
в,,— граничный гиперпараметр, контролирующий расстояние между положительными и отрицательными образцами. Во время тренировки дается тренировочный набор, мы можем найти лучшие параметры модели по
На этапе вывода мы можем получить прогнозируемое значение, используя:
AN IMPLEMENTATION OF -TUNING
Архитектура модели на бумажной диаграмме в основном состоит из трех частей:
- для извлечения текстовых функций, эта часть обычно является моделью класса Encoder, такой как BERT и т. д.
- используется для извлечения функций этикетки, в этой части обычно используется структура декодера Transformer, поскольку часть Cross-Attention требуется для взаимодействия с элементами этикетки и текстовыми элементами.
- Указатель метки, используемый для прогнозирования категории, эта часть относительно проста, используйте среднее или максимальное объединение для преобразования вектора высокой размерности в вектор низкой размерности.
Label Embedding
задан набор меток, мы сначала пометимСопоставьте с одним или несколькими последовательными векторами. Конечно, в дополнение к меткам нам также необходимо отображать информацию, связанную с задачей, в векторы, такие как задачи анализа тональности, мы добавим флаг SA вверху.
На самом деле это немного похоже на mBART: при машинном переводе язык, соответствующий флагу (например, ZH, JP, EN и т. д.), добавляется в начало предложения.
Таким образом, первоначальные признаки метки
в,Представляет вложения, связанные с задачами,означает первыйвложения категорий,иПредставляют количество выборок и размерность представления метки соответственно. На самом деле каждая метка может быть представлена несколькими векторами.Автор также провел сравнительный эксперимент, чтобы изучить, как каждая метка, представленная несколькими векторами, повлияет на результаты.Существует множество способов маркировкиСопоставление с вектором, например выборка из словаря, равномерное распределение, встраивание токенов и т. д.
Self-Attention and Cross-Attention
Сначала мы используем само-внимание для усиления информационного взаимодействия между разными ярлыками.в,, если во внимании к себе,; если в перекрестном внимании,представляет длину входного предложения,Представляет длину ввода метки
в перекрестном внимании
в,- многомерный вектор входного предложения после прохождения через PTM
Label Pointer
После всех вычислений получаем выходной векторв,описательные признаки, связанные с задачей,это категорияособенности этикетки. Триплетная потеря определяется следующим образом:
в,представляет индекс, соответствующий правильной метке
MODEL ANALYSIS
Предположим, у нас естьслой предварительно обученной модели, который имеет сложность,вдлина входного предложения; одно имеет длинуНепрерывная подсказка , ее сложность;заДля -настройки сложность само-внимания и перекрестного внимания соответственноа также,вразмер набора меток. Так какВ -настройке мы фиксируем параметры предобученной модели и не обучаем, поэтому часть предобученной модели не будет занимать вычислительные ресурсы (особенно процесс обратного распространения)
RESULT
По результатам эксперимента эффект считается "очень конкурентоспособным". Конечно, мы не можем сравнить его с традиционным FineTune. Ведь есть так много параметров, которые можно обучить, а вычислительная мощность, необходимая для обучения, невелика. на порядок.
Персональное резюме
предложено в этой статье-Идея настройки очень интересна.Традиционная идея состоит в том, чтобы выучить входное предложение так, чтобы выходной вектор был близок к распределению метки; эта статья как раз наоборот, изучает метку. Что меня удивляет, так это то, что функция потерь не является традиционной CrossEntropyLoss, потому что, на мой взгляд, хорошо напрямую преобразовать выходной вектор в реальную метку и сравнить его с реальной меткой. Но функция потерь, используемая в статье, называется Triplet Loss, я не знаю, почему автор это сделал.