Модели само-енкодер
Модели само-енкодер (англ. Encoder-Only Models) — това е клас архитектури на големи езикови модели (LLM), основани изключително на кодиращата част (енкодера) на архитектурата Трансформер. За разлика от моделите, използващи декодер или пълна архитектура енкодер-декодер, тези модели са специализирани в задачи за разбиране на естествен език (Natural Language Understanding, NLU).
Флагманският модел и пионер на този подход е BERT (Bidirectional Encoder Representations from Transformers), разработен от Google през 2018 година.
Концепция и архитектура
Основната идея на моделите само-енкодер се състои в създаването на дълбоки, контекстуализирани представяния (embedding-и) за всеки token във входната последователност. Благодарение на механизма самовнимание (self-attention) в Трансформера, всеки token може да „вижда" и да взаимодейства с всички останали token-и в последователността, което позволява на модела да улавя богат контекст.
Ключова особеност е двупосочността: представянето на всеки token се формира въз основа едновременно на левия и десния контекст. Това коренно ги отличава от авторегресивните модели само-декодер (като GPT), които по своята природа са еднопосочни.
Архитектурно моделът представлява стек от идентични слоя на енкодера. Всеки слой се състои от два основни подслоя:
- Многоглаво самовнимание (Multi-Head Self-Attention): Изчислява контекстуализирано представяне за всеки token.
- Напълно свързана невронна мрежа (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