Encoder-only models (PL)

From Systems analysis Wiki
Jump to navigation Jump to search

Modele tylko-enkoder (ang. Encoder-Only Models) — to klasa architektur dużych modeli językowych (LLM), opartych wyłącznie na kodującej części (enkoderze) architektury Transformer. W przeciwieństwie do modeli wykorzystujących dekoder lub pełną architekturę enkoder-dekoder, modele te specjalizują się w zadaniach rozumienia języka naturalnego (Natural Language Understanding, NLU).

Modelem flagowym i pionierem tego podejścia jest BERT (Bidirectional Encoder Representations from Transformers), opracowany przez Google w 2018 roku.

Koncepcja i architektura

Główna idea modeli tylko-enkoder polega na tworzeniu głębokich, kontekstualizowanych reprezentacji (embeddingów) dla każdego tokenu w sekwencji wejściowej. Dzięki mechanizmowi samo-uwagi (self-attention) w Transformerze każdy token może „widzieć" i wchodzić w interakcję ze wszystkimi pozostałymi tokenami w sekwencji, co pozwala modelowi uchwycić bogaty kontekst.

Kluczową cechą jest dwukierunkowość: reprezentacja każdego tokenu kształtowana jest na podstawie zarówno lewego, jak i prawego kontekstu jednocześnie. Odróżnia je to zasadniczo od autoregresyjnych modeli tylko-dekoder (takich jak GPT), które ze swej natury są jednokierunkowe.

Architektonicznie model stanowi stos N identycznych warstw enkodera. Każda warstwa składa się z dwóch głównych podwarstw:

  1. Wielogłowowa samo-uwaga (Multi-Head Self-Attention): Oblicza kontekstualizowaną reprezentację dla każdego tokenu.
  2. Sieć w pełni połączona (Feed-Forward Network): Stosuje nieliniową transformację do każdej reprezentacji tokenu.

Na wyjściu model generuje sekwencję wektorów o tej samej długości co sekwencja wejściowa, gdzie każdy wektor stanowi bogatą reprezentację odpowiadającego mu tokenu wejściowego.

Zadania wstępnego uczenia

Aby nauczyć model rozumienia języka w kontekście dwukierunkowym, stosuje się specjalne samokontrolowane zadania wstępnego uczenia:

Maskowane modelowanie językowe (Masked Language Modeling, MLM)

Jest to podstawowe i najważniejsze zadanie dla modeli tylko-enkoder, po raz pierwszy wprowadzone w modelu BERT.

  • Zasada działania: Z sekwencji wejściowej losowo ukrywa się (maskuje) niewielki odsetek tokenów (zwykle 15%). Zadaniem modelu jest przewidzenie oryginalnych wartości tych zamaskowanych tokenów, wykorzystując otaczający je dwukierunkowy kontekst.
  • Cel: Zadanie to zmusza model do uczenia się głębokich powiązań semantycznych i syntaktycznych między słowami.

Przewidywanie następnego zdania (Next Sentence Prediction, NSP)

To zadanie (również z oryginalnego modelu BERT) zostało opracowane w celu nauczenia modelu rozumienia relacji między zdaniami.

  • Zasada działania: Modelowi podawana jest para zdań, a model musi określić, czy drugie zdanie jest logiczną kontynuacją pierwszego w tekście źródłowym.
  • Status: Późniejsze badania (np. w modelu RoBERTa) wykazały, że NSP jest mniej skuteczne niż MLM i często zastępuje się je innymi zadaniami lub całkowicie z niego rezygnuje.

Zastosowania

Modele tylko-enkoder nie są przeznaczone do swobodnego generowania tekstu, ponieważ nie posiadają autoregresyjnego dekodera. Ich siła tkwi w analizie i rozumieniu tekstu. Wyjściowe reprezentacje wektorowe modelu są wykorzystywane do rozwiązywania szerokiego spektrum zadań NLU:

  • Klasyfikacja tekstu: Do zadań takich jak analiza wydźwięku (sentiment analysis) lub określanie tematu wykorzystuje się reprezentację specjalnego tokenu `[CLS]`, który dodawany jest na początku każdej sekwencji. Jego końcowy wektor agreguje informacje o całej sekwencji.
  • Klasyfikacja tokenów: Do zadań takich jak rozpoznawanie nazwanych encji (NER) lub tagowanie części mowy (POS-tagging) wykorzystuje się reprezentacje wektorowe każdego pojedynczego tokenu.
  • Odpowiadanie na pytania (Question Answering): W zadaniach, w których odpowiedź stanowi fragment podanego tekstu (extractive QA), model jest uczony przewidywania tokenów początkowego i końcowego odpowiedzi.
  • Uzyskiwanie embeddingów: Modele enkoder są często stosowane jako uniwersalne kodery tekstu do uzyskiwania wysokiej jakości embeddingów zdań lub dokumentów, które następnie mogą być wykorzystywane w wyszukiwarkach lub do zadań podobieństwa semantycznego.

Główne modele i ich ewolucja

  • BERT (2018): Pionier architektury, który ustanowił nowe rekordy na wielu benchmarkach NLP.
  • RoBERTa (2019): „Solidnie zoptymalizowany BERT". Wykazała, że wydajność modelu BERT można znacznie poprawić dzięki dłuższemu uczeniu na większej ilości danych i rezygnacji z zadania NSP.
  • ALBERT (2019): „A Lite BERT". Model ze znacznie mniejszą liczbą parametrów dzięki technikom faktoryzacji embeddingów i międzywarstwowego współdzielenia parametrów.
  • DistilBERT (2019): Uproszczona wersja modelu BERT, stworzona przy użyciu destylacji wiedzy, która jest szybsza i lżejsza, lecz zachowuje większość wydajności oryginału.
  • ELECTRA (2020): Wprowadziła bardziej efektywne zadanie wstępnego uczenia — replaced token detection, w którym model uczy się odróżniać oryginalne tokeny od „fałszywych", wygenerowanych przez mały model-generator.
  • DeBERTa (2020): Wprowadziła mechanizm „rozdzielonej uwagi" (disentangled attention), który oddzielnie koduje treść i względne pozycje tokenów.

Zobacz też

  • BERT