Модели само-енкодер

From Systems analysis Wiki
Jump to navigation Jump to search

Модели само-енкодер (англ. Encoder-Only Models) — това е клас архитектури на големи езикови модели (LLM), основани изключително на кодиращата част (енкодера) на архитектурата Трансформер. За разлика от моделите, използващи декодер или пълна архитектура енкодер-декодер, тези модели са специализирани в задачи за разбиране на естествен език (Natural Language Understanding, NLU).

Флагманският модел и пионер на този подход е BERT (Bidirectional Encoder Representations from Transformers), разработен от Google през 2018 година.

Концепция и архитектура

Основната идея на моделите само-енкодер се състои в създаването на дълбоки, контекстуализирани представяния (embedding-и) за всеки token във входната последователност. Благодарение на механизма самовнимание (self-attention) в Трансформера, всеки token може да „вижда" и да взаимодейства с всички останали token-и в последователността, което позволява на модела да улавя богат контекст.

Ключова особеност е двупосочността: представянето на всеки token се формира въз основа едновременно на левия и десния контекст. Това коренно ги отличава от авторегресивните модели само-декодер (като GPT), които по своята природа са еднопосочни.

Архитектурно моделът представлява стек от N идентични слоя на енкодера. Всеки слой се състои от два основни подслоя:

  1. Многоглаво самовнимание (Multi-Head Self-Attention): Изчислява контекстуализирано представяне за всеки token.
  2. Напълно свързана невронна мрежа (Feed-Forward Network): Прилага нелинейна трансформация към всяко представяне на token.

На изхода моделът генерира последователност от вектори със същата дължина като входната последователност, като всеки вектор е богато представяне на съответния входен token.

Задачи за предварително обучение

За да се научи моделът да разбира езика в двупосочен контекст, се използват специални самоконтролирани задачи за предварително обучение:

Маскирано езиково моделиране (Masked Language Modeling, MLM)

Това е основната и най-важна задача за моделите само-енкодер, представена за първи път в BERT.

  • Принцип на работа: От входната последователност случайно се скрива (маскира) малък процент token-и (обикновено 15%). Задачата на модела е да предскаже оригиналните стойности на тези маскирани token-и, използвайки заобикалящия ги двупосочен контекст.
  • Цел: Тази задача принуждава модела да изучава дълбоки семантични и синтактични връзки между думите.

Предсказване на следващото изречение (Next Sentence Prediction, NSP)

Тази задача (също от оригиналния BERT) е разработена, за да научи модела да разбира отношенията между изреченията.

  • Принцип на работа: На модела се подава двойка изречения и той трябва да определи дали второто изречение е логично продължение на първото в оригиналния текст.
  • Статус: По-късно изследвания (например в модела RoBERTa) показаха, че NSP е по-малко ефективна от MLM, и тя често се заменя с други задачи или изобщо се премахва.

Приложение

Моделите само-енкодер не са предназначени за свободно генериране на текст, тъй като им липсва авторегресивен декодер. Тяхната сила се крие в анализа и разбирането на текст. Изходните векторни представяния на модела се използват за решаване на широк спектър от NLU задачи:

  • Класификация на текст: За задачи като анализ на тоналност или определяне на тема се използва представянето на специалния token `[CLS]`, който се добавя в началото на всяка последователност. Крайният му вектор агрегира информация за цялата последователност.
  • Класификация на token-и: За задачи като разпознаване на именовани обекти (NER) или тагиране на части на речта (POS-tagging) се използват векторните представяния на всеки отделен token.
  • Отговори на въпроси (Question Answering): При задачи, в които отговорът е фрагмент от даден текст (extractive QA), моделът се обучава да предсказва началния и крайния token на отговора.
  • Получаване на embedding-и: Моделите енкодер често се използват като универсални кодировчици на текст за получаване на висококачествени embedding-и на изречения или документи, които след това могат да бъдат използвани в търсачки или за задачи за семантично сходство.

Основни модели и тяхната еволюция

  • BERT (2018): Пионер на архитектурата, установил нови рекорди на множество NLP benchmark-и.
  • RoBERTa (2019): „Надеждно оптимизиран BERT". Показа, че производителността на BERT може значително да се подобри чрез по-дълго обучение върху по-голямо количество данни и отказ от задачата NSP.
  • ALBERT (2019): „A Lite BERT". Модел със значително по-малък брой параметри благодарение на техники за факторизация на embedding-и и междуслойно споделяне на параметри.
  • DistilBERT (2019): Намалена версия на BERT, създадена с помощта на дистилация на знания, която е по-бърза и по-лека, но запазва голяма част от производителността на оригинала.
  • ELECTRA (2020): Представи по-ефективна задача за предварително обучение — replaced token detection, при която моделът се учи да различава оригинални token-и от „фалшиви", генерирани от малък модел-генератор.
  • DeBERTa (2020): Въведе механизъм на „разделено внимание" (disentangled attention), който отделно кодира съдържанието и относителните позиции на token-ите.

Вижте също

  • BERT