Трансформер-кодировщик BERT
Материал из MachineLearning.
(→Практическое применение) |
|||
| Строка 579: | Строка 579: | ||
Одним из основных исторических вкладов BERT стало подтверждение эффективности масштабного самоконтролируемого предварительного обучения трансформерных представлений с последующей адаптацией к прикладным задачам. | Одним из основных исторических вкладов BERT стало подтверждение эффективности масштабного самоконтролируемого предварительного обучения трансформерных представлений с последующей адаптацией к прикладным задачам. | ||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
== Историческое значение == | == Историческое значение == | ||
Версия 10:51, 18 июля 2026
| | Статья написана с использованием LLM GPT-5.6 Thinking и проверена участником Alfit Gaifullin 13:50, 18 июля 2026 (MSD). Промпт приводится полностью в Обсуждение:Трансформер-кодировщик BERT I. |
Трансформер-кодировщик BERT
BERT (англ. Bidirectional Encoder Representations from Transformers, «двунаправленные кодировочные представления на основе трансформеров») — предварительно обученная языковая модель, построенная на основе кодировочной части архитектуры Transformer. BERT предназначен для получения контекстных векторных представлений текста и последующей адаптации к широкому кругу задач обработки естественного языка.
В отличие от авторегрессионных языковых моделей, предсказывающих следующий элемент текста только по предшествующему контексту, BERT при формировании представления каждого токена использует информацию как слева, так и справа от него. Такая двунаправленная обработка реализуется посредством механизма самовнимания в стеке трансформерных кодировщиков.
Предварительно обученная модель может быть адаптирована к классификации текстов, распознаванию именованных сущностей, определению семантических отношений, поиску ответов на вопросы и другим задачам. Обычно для этого к BERT добавляется небольшой выходной слой, после чего параметры всей модели или их части дообучаются на размеченной выборке.
BERT был предложен исследователями компании Google Джейкобом Девлином, Мин-Вэй Чангом, Кентоном Ли и Кристиной Тодоровой в 2018 году. Статья с подробным описанием модели была представлена на конференции NAACL в 2019 году.[1]
История создания
Развитие векторных представлений слов
Ранние методы обработки текста часто представляли слово как отдельный дискретный объект. Например, в модели «мешка слов» документ описывается частотами слов, а порядок их появления и окружающий контекст частично или полностью игнорируются.
Позднее получили распространение распределённые представления слов, в которых каждому слову сопоставляется числовой вектор:
Такие методы, как Word2Vec и GloVe, позволяли отражать статистическое сходство слов. Однако одному слову обычно соответствовал один и тот же вектор независимо от контекста.
Например, слово «ключ» может обозначать инструмент, источник воды, элемент шифра или способ решения задачи. Статическое представление не разделяет эти значения непосредственно: различия должны восстанавливаться последующей моделью.
Контекстные модели формируют вектор слова с учётом всего предложения:
Поэтому представление токена может изменяться в зависимости от окружающих слов.
Предварительное обучение языковых моделей
До появления BERT нейронные модели для обработки текста часто обучались отдельно для каждой прикладной задачи. Это требовало значительных размеченных выборок и приводило к многократному обучению похожих языковых представлений.
Постепенно сформировался подход, при котором модель сначала обучается на большом корпусе неразмеченного текста, а затем адаптируется к конкретной задаче. Такой подход является разновидностью переноса обучения.
Важными предшественниками BERT стали модели ELMo, ULMFiT и ранняя модель GPT.
ELMo формировала контекстные представления с помощью двунаправленных рекуррентных сетей. Левый и правый контексты при этом обрабатывались отдельными языковыми моделями, а их представления объединялись.[1]
ULMFiT продемонстрировала возможность предварительно обучать языковую модель и дообучать её для классификации текстов с использованием сравнительно небольших размеченных выборок.[1]
Ранняя модель GPT использовала стек трансформерных декодировщиков и авторегрессионное предсказание следующего токена. Такая модель учитывала только левый контекст при предварительном обучении.
Появление архитектуры Transformer
Архитектура Transformer была предложена в 2017 году в работе Attention Is All You Need.[1]
Исходный Transformer предназначался прежде всего для машинного перевода и включал две основные части:
- кодировщик, формирующий представление входной последовательности;
- декодировщик, последовательно создающий выходную последовательность.
В отличие от рекуррентных нейронных сетей, Transformer не обрабатывает токены строго по одному. Взаимодействие элементов последовательности выполняется с помощью самовнимания, поэтому вычисления для разных позиций могут в значительной степени проводиться параллельно.
BERT использует только кодировочную часть Transformer. В модели отсутствуют трансформерный декодировщик и механизм внимания декодировщика к выходам кодировщика.
Публикация BERT
Первый вариант работы о BERT был опубликован в октябре 2018 года. Авторы предложили предварительно обучать глубокий двунаправленный кодировщик Transformer, скрывая часть токенов входного текста и восстанавливая их по окружающему контексту.[1]
После предварительного обучения одна и та же базовая архитектура адаптировалась к различным задачам с небольшими изменениями выходного слоя. В исходной работе оценивались, в частности:
- классификация предложений;
- определение семантической эквивалентности;
- распознавание логического следования;
- определение приемлемости предложений;
- поиск ответов на вопросы;
- разметка последовательностей.
Полученные авторами результаты показали эффективность предложенной схемы на использованных наборах данных. Однако оценки на конкретных тестах не следует рассматривать как универсальное доказательство превосходства BERT во всех языках, областях и условиях применения.
Связь с архитектурой Transformer
Кодировочная архитектура
BERT представляет собой последовательность из одинаково устроенных трансформерных кодировочных блоков:
Входное представление строится из токенов текста. Каждый кодировочный блок содержит:
- многоголовое самовнимание;
- полносвязную нейронную сеть;
- остаточные связи;
- нормализацию слоя;
- нелинейные функции активации.
После прохождения через все слои каждому входному токену соответствует контекстный вектор:
Вектор зависит не только от токена в позиции
, но и от других элементов последовательности.
Самовнимание
Для входной матрицы представлений вычисляются матрицы запросов, ключей и значений:
Результат масштабированного скалярного внимания определяется как
где — размерность векторов ключей.
Матрица
содержит оценки взаимного соответствия токенов. После применения функции softmax каждая позиция получает распределение весов внимания по другим позициям.
Масштабирование на ограничивает рост скалярных произведений при увеличении размерности и помогает избежать чрезмерно насыщенных значений функции softmax.
Многоголовое внимание
BERT использует несколько параллельных голов внимания. Каждая голова имеет собственные матрицы параметров и может формировать отдельный способ сопоставления токенов.
Для головы вычисляется
Результаты объединяются:
Отдельные головы не обязаны соответствовать определённым лингвистическим категориям. В некоторых исследованиях наблюдалась специализация отдельных голов на синтаксических или позиционных отношениях, однако подобная интерпретация не является обязательной и одинаковой для всех обученных моделей.
Двунаправленный контекст
В кодировщике BERT отсутствует причинная маска, запрещающая обращение к последующим токенам. Поэтому токен может учитывать элементы, расположенные как до, так и после него.
Например, при обработке предложения
- «Он повернул ключ в замке»
представление слова «ключ» может учитывать слово «замке».
В предложении
- «Исследователи восстановили ключ шифрования»
то же слово получает другое контекстное представление благодаря связи со словом «шифрования».
Эту особенность называют глубокой двунаправленностью: левый и правый контексты совместно используются на каждом слое кодировщика, а не объединяются только после независимой обработки.
Входное представление
Токенизация WordPiece
Исходный BERT использует токенизацию WordPiece. Текст разделяется не обязательно на целые слова, а на элементы словаря — токены и подсловные единицы.
Редкое слово может быть представлено последовательностью частей. Например, условная форма слова может быть разделена на основу и суффикс.
Подсловная токенизация позволяет:
- ограничить размер словаря;
- обрабатывать редкие слова;
- использовать общие части родственных слов;
- уменьшить число полностью неизвестных единиц.
Однако подсловные границы не всегда совпадают с морфемами или лингвистически осмысленными частями слова.
Исходная англоязычная модель BERT использовала словарь примерно из 30 тысяч токенов.[1] Многоязычные и специализированные варианты могут использовать другие словари и способы токенизации.
Специальные токены
BERT вводит несколько специальных токенов.
Токен `[CLS]` помещается в начало последовательности:
- `[CLS] текст [SEP]`
Его итоговое представление часто используется для классификации всей последовательности.
Токен `[SEP]` разделяет предложения или обозначает конец последовательности:
- `[CLS] предложение A [SEP] предложение B [SEP]`
Токен `[MASK]` применяется во время предварительного обучения для замены скрываемых элементов.
Токен `[PAD]` используется для дополнения последовательностей до общей длины внутри мини-пакета. Позиции заполнения исключаются из внимания с помощью специальной маски.
Суммирование вложений
Входное представление позиции строится как сумма трёх компонентов:
Вложение токена кодирует саму подсловную единицу.
Вложение сегмента показывает, к какому предложению относится токен. В исходной модели использовались сегменты A и B.
Позиционное вложение передаёт порядковый номер токена в последовательности.
В отличие от исходного Transformer, использовавшего синусоидальные позиционные кодировки, BERT обучает позиционные вложения вместе с остальными параметрами.
Варианты BERT
В исходной работе были представлены две основные конфигурации.
BERT Base
BERT Base имеет:
- 12 кодировочных слоёв;
- размер скрытого представления 768;
- 12 голов внимания;
- размер внутреннего полносвязного слоя 3072;
- около 110 миллионов обучаемых параметров.
BERT Large
BERT Large имеет:
- 24 кодировочных слоя;
- размер скрытого представления 1024;
- 16 голов внимания;
- размер внутреннего полносвязного слоя 4096;
- около 340 миллионов обучаемых параметров.
BERT Large имеет больше параметров и требует больше вычислительной памяти. Его преимущество относительно меньшей модели зависит от задачи, объёма данных, процедуры обучения и доступных вычислительных ресурсов.
Увеличение размера модели само по себе не гарантирует улучшения результата при любой постановке.
Предварительное обучение
Исходный BERT предварительно обучался на корпусе BooksCorpus и англоязычной Википедии. Общий объём составлял приблизительно 3,3 миллиарда слов.[1]
Предварительное обучение включало две задачи:
- моделирование маскированного языка;
- предсказание следующего предложения.
Моделирование маскированного языка
Моделирование маскированного языка (англ. Masked Language Modeling, MLM) заключается в восстановлении скрытых токенов по окружающему контексту.
Пусть исходная последовательность имеет вид
Из неё выбирается множество маскируемых позиций . Модель получает изменённую последовательность
и предсказывает исходные токены:
Функция потерь имеет вид
В исходном BERT для предсказания выбиралось 15 % токенов. Однако выбранный токен не всегда непосредственно заменялся на `[MASK]`:
- в 80 % случаев он заменялся на `[MASK]`;
- в 10 % случаев — на случайный токен;
- в 10 % случаев оставался без изменения.
Например, предложение
- «Кошка сидит на подоконнике»
может быть преобразовано в
- «Кошка `[MASK]` на подоконнике».
Модель должна восстановить слово «сидит», используя информацию с обеих сторон.
Случайная замена и сохранение части выбранных токенов уменьшают зависимость модели от специального символа `[MASK]`, который отсутствует в обычном прикладном тексте.
Тем не менее различие между предварительным обучением с `[MASK]` и последующим применением модели остаётся одним из ограничений данного подхода.
Предсказание следующего предложения
Вторая исходная задача называлась предсказанием следующего предложения (англ. Next Sentence Prediction, NSP).
На вход подавались два фрагмента A и B:
- `[CLS] A [SEP] B [SEP]`
В половине примеров B действительно следовал за A в исходном корпусе. В остальных случаях B выбирался как случайный фрагмент.
Модель должна была определить, является ли B продолжением A.
Для классификации использовалось итоговое представление токена `[CLS]`:
Задача NSP предназначалась для обучения отношениям между предложениями, которые могут быть полезны при поиске ответов, определении логического следования и сравнении текстовых фрагментов.
Последующие исследования показали, что полезность именно такой формулировки NSP зависит от процедуры обучения и набора задач. В модели RoBERTa задача NSP была удалена, а изменение других параметров предварительного обучения позволило получить высокие результаты на использованных тестах.[1]
Это не доказывает, что моделирование связей между предложениями не имеет значения. Оно показывает, что исходная задача NSP не является единственно возможным и универсально необходимым способом обучения таких отношений.
Итоговая функция потерь
В исходной модели суммарная функция потерь включала обе задачи:
Параметры всех кодировочных слоёв обучались совместно методом обратного распространения ошибки и вариантом стохастической оптимизации Adam.
Предварительное обучение не требует ручной разметки отдельных токенов. Целевые ответы формируются автоматически из исходного текста путём скрытия элементов и выбора пар предложений. Поэтому процедуру часто относят к самообучению или самоконтролируемому обучению.
Отличие BERT от авторегрессионной языковой модели
Авторегрессионная языковая модель разлагает вероятность текста на последовательные условные вероятности:
Такая модель при предсказании токена использует только предшествующие элементы.
BERT обучается восстанавливать скрытые токены с учётом обеих сторон:
Поэтому BERT не является обычной авторегрессионной моделью и не задаёт такое же последовательное разложение вероятности текста.
Исходный BERT предназначен прежде всего для кодирования и анализа текста, а не для последовательной генерации длинных фрагментов. Для создания текста чаще применяются трансформерные декодировщики или архитектуры «кодировщик — декодировщик».
BERT можно использовать для заполнения пропусков или итеративного восстановления токенов, однако это отличается от естественной последовательной генерации авторегрессионных моделей.
Дообучение модели
После предварительного обучения BERT адаптируется к прикладной задаче. Этот процесс называется дообучением или fine-tuning.
В простейшем случае добавляется небольшой выходной слой, а затем параметры BERT и нового слоя совместно обновляются на размеченных данных.
Классификация текста
Для классификации предложения или документа обычно используется представление токена `[CLS]`:
Такой подход применяется для анализа тональности, определения темы текста, классификации намерений и других задач.
Представление `[CLS]` не является автоматически оптимальным универсальным вложением предложения. Его свойства зависят от предварительного и последующего обучения. Для задач семантического поиска были предложены специализированные методы, например Sentence-BERT.[1]
Классификация токенов
Для распознавания именованных сущностей или морфологической разметки классификатор применяется к представлению каждого токена:
Модель может определять, относится ли токен к имени человека, организации, географическому объекту или другой категории.
Если одно исходное слово разделено на несколько подсловных токенов, необходимо определить, каким образом их предсказания сопоставляются с меткой целого слова.
Поиск ответа в тексте
В извлекающем поиске ответов модель получает вопрос и фрагмент текста:
- `[CLS] вопрос [SEP] текст [SEP]`
Для каждой позиции вычисляются оценки начала и конца ответа:
Затем выбирается допустимый отрезок с высокими значениями начала и конца.
Такой подход не создаёт ответ произвольной формы, а извлекает последовательность токенов из переданного текста.
Сравнение пар предложений
Для определения логического следования, семантического сходства или соответствия вопроса и ответа используются два сегмента:
- `[CLS] предложение A [SEP] предложение B [SEP]`
Механизм самовнимания позволяет токенам двух сегментов непосредственно взаимодействовать во всех кодировочных слоях.
Контекстные представления
Одним из основных результатов BERT является формирование контекстных вложений.
Для одного и того же токена в разных предложениях модель выдаёт разные векторы:
Это позволяет учитывать:
- многозначность слов;
- синтаксическую роль;
- согласование;
- дальние зависимости;
- отношения между предложениями;
- особенности окружающей лексики.
Представления на разных слоях также могут содержать различную информацию. Нижние слои часто сильнее связаны с локальными и поверхностными признаками, а более высокие — с контекстными и семантическими отношениями. Однако такое разделение не является строгим и одинаковым для всех моделей и задач.[1]
Преимущества
Учёт двустороннего контекста
BERT одновременно учитывает левую и правую части предложения. Это особенно полезно для задач, где интерпретация слова зависит от последующего текста.
Перенос обучения
Предварительное обучение на больших неразмеченных корпусах позволяет использовать накопленные языковые закономерности в задачах с меньшим количеством размеченных данных.
Единая базовая архитектура
Один предварительно обученный кодировщик может адаптироваться к большому числу задач. Обычно изменяется главным образом формат входа и выходная надстройка.
Отсутствие рекуррентной обработки
Самовнимание позволяет обрабатывать позиции последовательности параллельно. Это облегчает обучение на современных графических и матричных ускорителях.
Однако параллельность не означает низкой вычислительной стоимости: самовнимание требует построения матрицы взаимодействий между токенами.
Контекстная обработка многозначности
Представление токена зависит от его окружения, поэтому модель способна различать некоторые значения многозначных слов без отдельного словарного правила для каждого случая.
Возможность предметной адаптации
BERT можно дополнительно обучать на текстах определённой области. Были созданы модели для научных, медицинских, юридических и финансовых текстов.
Например, SciBERT обучался на корпусе научных публикаций и был разработан для задач обработки научного текста.[1]
Эффективность предметной адаптации зависит от сходства корпусов, качества данных и конкретной задачи.
Ограничения
Квадратичная сложность самовнимания
Для последовательности длины стандартное самовнимание формирует матрицу размером
Поэтому вычислительная и пространственная сложность внимания относительно длины последовательности имеет порядок
Удвоение длины текста может приблизительно в четыре раза увеличить число попарных оценок внимания.
Это затрудняет обработку длинных документов. Исходный BERT обычно ограничивался последовательностями длиной до 512 токенов.
Для длинных текстов были разработаны модели с разреженным вниманием, например Longformer, в котором локальные и глобальные связи уменьшают зависимость вычислений от полной квадратной матрицы.[1]
Высокие вычислительные затраты
Предварительное обучение BERT требует большого корпуса, значительного числа вычислительных операций и специализированного оборудования.
Даже применение уже обученной модели может быть затратным для устройств с ограниченной памятью и вычислительной мощностью.
Для уменьшения размера были предложены методы дистилляции знаний. Например, авторы DistilBERT сообщали об уменьшении числа параметров относительно BERT Base при сохранении значительной части качества на рассмотренных ими задачах.[1]
Подобные результаты зависят от выбранных тестов и не означают одинакового сохранения качества во всех приложениях.
Различие между предварительным обучением и применением
Токен `[MASK]` используется во время предварительного обучения, но обычно не встречается в прикладных данных. Это создаёт различие между входами на этапах предварительного обучения и дообучения.
Схема, при которой часть выбранных токенов заменяется случайными значениями или сохраняется неизменной, уменьшает проблему, но не устраняет её полностью.
Ограничения задачи NSP
Первоначальная задача предсказания следующего предложения не оказалась обязательной для всех последующих моделей.
RoBERTa отказалась от NSP, ALBERT заменила её задачей определения порядка сегментов, а другие модели использовали иные способы обучения отношений между фрагментами текста.[1]
Поэтому исходный набор задач BERT следует рассматривать как конкретное инженерное решение, а не как единственно правильный способ предварительного обучения кодировщика.
Отсутствие естественной генерации текста
BERT не предназначен для последовательного создания произвольного текста. Двунаправленное внимание позволяет использовать будущий контекст, который неизвестен при обычной авторегрессионной генерации.
Для перевода, суммаризации и генерации ответов чаще применяются модели типа «кодировщик — декодировщик» или декодировщики с причинным вниманием.
Зависимость от обучающего корпуса
Модель усваивает статистические закономерности, содержащиеся в обучающих данных. Если корпус содержит фактические ошибки, социальные стереотипы или неравномерное представление групп и тем, эти свойства могут отражаться в выходах модели.
Исследования обнаруживали различные виды гендерной и социальной предвзятости в моделях семейства BERT.[1]
Наличие предвзятости зависит от версии модели, языка, корпуса, способа дообучения и метода измерения. Поэтому результаты одного теста не следует автоматически переносить на все применения.
Ограниченная интерпретируемость
Внимание позволяет исследовать взаимодействия токенов, однако веса внимания не являются полным объяснением решения модели.
BERT содержит большое число взаимосвязанных параметров и нелинейных преобразований. Даже если определённая голова внимания выделяет конкретное слово, итоговое предсказание формируется всей сетью.
Чувствительность к дообучению
Результат может зависеть от:
- начальной случайной инициализации выходного слоя;
- скорости обучения;
- размера размеченной выборки;
- числа эпох;
- способа разделения данных;
- длины последовательностей;
- выбранной версии токенизатора.
Особенно заметной нестабильность может быть при небольшом объёме обучающих данных.
Влияние на развитие обработки естественного языка
Парадигма «предварительное обучение — дообучение»
BERT способствовал распространению схемы:
- модель предварительно обучается на большом неразмеченном корпусе;
- к ней добавляется небольшая надстройка;
- вся система дообучается для конкретной задачи.
После этого разработка многих систем обработки текста стала начинаться не с обучения модели с нуля, а с выбора подходящего предварительно обученного кодировщика.
RoBERTa
RoBERTa сохранила общую архитектуру BERT, но изменила процедуру обучения. В частности, использовались больший объём данных, более длительное обучение, динамическое маскирование и отказ от задачи NSP.[1]
Работа показала, что значительная часть результата зависит не только от архитектуры, но и от объёма данных, длительности обучения, размера мини-пакетов и других параметров процедуры.
ALBERT
ALBERT уменьшила число параметров с помощью разложения матрицы вложений и совместного использования параметров между слоями.[1]
Модель показала, что число параметров и вычислительная стоимость не являются одним и тем же: совместное использование параметров уменьшает память для хранения модели, но не обязательно пропорционально уменьшает число операций.
DistilBERT и TinyBERT
DistilBERT и TinyBERT использовали дистилляцию знаний, при которой меньшая модель обучается воспроизводить поведение более крупной.
Такие подходы развивали направление компактных трансформерных кодировщиков для применения при ограниченных вычислительных ресурсах.
ELECTRA
В ELECTRA маскированные токены заменяются вариантами, предложенными небольшой моделью-генератором. Основной кодировщик обучается определять, какие токены были заменены.[1]
В отличие от MLM, где функция потерь вычисляется только для выбранных маскируемых позиций, ELECTRA получает обучающий сигнал для каждого входного токена. Авторы предложили такой подход как более эффективное использование обучающих примеров.
Sentence-BERT
Обычное независимое кодирование двух предложений с помощью BERT не обязательно даёт представления, удобные для быстрого сравнения.
Sentence-BERT использует сиамскую архитектуру и специальные функции потерь, чтобы формировать векторы предложений, сравнимые с помощью косинусной меры.[1]
Это сделало BERT-подобные кодировщики более удобными для семантического поиска, кластеризации и обнаружения похожих текстов.
Специализированные и многоязычные модели
После BERT появилось множество моделей, обученных:
- на текстах отдельных языков;
- на многоязычных корпусах;
- на научных статьях;
- на медицинских документах;
- на юридических материалах;
- на программном коде;
- на финансовых текстах.
Подобная специализация может улучшать обработку предметной терминологии, но способна снижать качество вне выбранной области.
Влияние на современные языковые модели
BERT не является прямым предшественником всех современных языковых моделей, поскольку трансформерные модели развивались по нескольким направлениям.
Основные архитектурные семейства включают:
- модели только с кодировщиком, подобные BERT;
- модели только с декодировщиком, подобные GPT;
- модели «кодировщик — декодировщик», подобные T5 и BART.
Кодировщики особенно удобны для классификации, разметки, извлечения признаков, сопоставления запроса с документом и других задач анализа текста.
Декодировщики естественным образом подходят для последовательной генерации.
Модели «кодировщик — декодировщик» применяются, когда входной текст должен быть преобразован в другой текст, например при переводе или суммаризации.
Одним из основных исторических вкладов BERT стало подтверждение эффективности масштабного самоконтролируемого предварительного обучения трансформерных представлений с последующей адаптацией к прикладным задачам.
Историческое значение
BERT не был первой контекстной языковой моделью и не создал архитектуру Transformer. Его историческое значение связано с объединением нескольких идей:
- глубокого трансформерного кодировщика;
- двунаправленного самовнимания;
- маскированного предварительного обучения;
- использования больших неразмеченных корпусов;
- дообучения одной модели для множества задач.
Модель способствовала переходу от специализированных архитектур для каждой задачи к универсальным предварительно обученным текстовым представлениям.
После публикации BERT исследования стали уделять больше внимания:
- масштабированию предварительного обучения;
- качеству и объёму корпусов;
- выбору обучающей задачи;
- эффективности адаптации;
- уменьшению размера моделей;
- предметной специализации;
- многоязычному переносу;
- анализу внутренних представлений;
- социальным и статистическим ограничениям языковых моделей.
BERT также способствовал развитию открытых библиотек предварительно обученных моделей. Это упростило применение трансформеров в научных и прикладных проектах, хотя обучение крупных моделей с нуля по-прежнему требует значительных ресурсов.
Заключение
BERT — предварительно обученная языковая модель, представляющая собой стек двунаправленных кодировщиков Transformer. Она формирует контекстное представление каждого токена с учётом левой и правой частей входной последовательности.
Исходная модель обучалась с помощью моделирования маскированного языка и предсказания следующего предложения. После предварительного обучения BERT может дообучаться для классификации текстов, разметки токенов, сравнения предложений и извлечения ответов.
К основным преимуществам BERT относятся двунаправленная обработка контекста, перенос знаний из больших неразмеченных корпусов и возможность использовать одну базовую архитектуру во многих задачах.
Ограничения модели включают квадратичную сложность самовнимания, ограниченную длину входа, высокие вычислительные затраты, отсутствие естественной авторегрессионной генерации, зависимость от обучающих данных и чувствительность к процедуре дообучения.
BERT оказал значительное влияние на развитие обработки естественного языка и послужил основой для множества последующих моделей. Однако результаты отдельных вариантов BERT зависят от языка, корпуса, задачи и условий эксперимента, поэтому эффективность модели не следует считать универсально гарантированной.
См. также
- Трансформер (нейронная сеть)
- Модель языка
- Обработка естественного языка
- Механизм внимания
- Самовнимание
- Word2Vec
- Перенос обучения
- Самообучение
- Токенизация
- Языковая модель с маскированием
- GPT
- RoBERTa
- Многоголовое внимание
- Контекстное представление слова
- Распознавание именованных сущностей
- Анализ тональности текста
- Поиск ответов на вопросы
Литература
- Clark K., Luong M.-T., Le Q. V., Manning C. D. ELECTRA: Pre-training Text Encoders as Discriminators Rather Than Generators // International Conference on Learning Representations. 2020.
- Devlin J., Chang M.-W., Lee K., Toutanova K. BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding // Proceedings of NAACL-HLT. 2019. P. 4171–4186.
- Lan Z. et al. ALBERT: A Lite BERT for Self-Supervised Learning of Language Representations // International Conference on Learning Representations. 2020.
- Liu Y. et al. RoBERTa: A Robustly Optimized BERT Pretraining Approach. arXiv:1907.11692, 2019.
- Peters M. E. et al. Deep Contextualized Word Representations // Proceedings of NAACL-HLT. 2018. P. 2227–2237.
- Rogers A., Kovaleva O., Rumshisky A. A Primer in BERTology: What We Know About How BERT Works // Transactions of the Association for Computational Linguistics. 2020. Vol. 8. P. 842–866.
- Sanh V., Debut L., Chaumond J., Wolf T. DistilBERT, a Distilled Version of BERT: Smaller, Faster, Cheaper and Lighter. arXiv:1910.01108, 2019.
- Vaswani A. et al. Attention Is All You Need // Advances in Neural Information Processing Systems. 2017. Vol. 30.
- Wolf T. et al. Transformers: State-of-the-Art Natural Language Processing // Proceedings of EMNLP: System Demonstrations. 2020. P. 38–45.

