Modele i platformy AI

Wzrost NLP z modelami Transformer | Kompleksowa analiza T5, BERT i GPT

mm
Dodaj Unite.AI do preferowanych źródeł w Google

Przetwarzanie języka naturalnego (NLP) doświadczyło jednych z najbardziej wpływowych przełomów w ostatnich latach, głównie dzięki architekturze transformer. Te przełomy nie tylko poprawiły możliwości maszyn do zrozumienia i wygenerowania języka ludzkiego, ale również zdefiniowały nowy krajobraz licznych aplikacji, od wyszukiwarek po sztuczną inteligencję konwersacyjną.

Aby w pełni docenić znaczenie transformerów, musimy najpierw przyjrzeć się poprzednikom i elementom, które położyły podwaliny pod tę rewolucyjną architekturę.

Wczesne techniki NLP: Podstawy przed transformerami

Word Embeddings: Od One-Hot do Word2Vec

W tradycyjnych podejściach do NLP reprezentacja słów była często literalna i pozbawiona jakiegokolwiek rodzaju zrozumienia semantycznego lub składniowego. Jednym z przykładów tej ograniczenia jest kodowanie one-hot.

Kodowanie one-hot jest procesem, w którym zmienne kategorialne są przekształcane w wektorową reprezentację binarną, gdzie tylko jeden bit jest “gorący” (ustawiony na 1), a wszystkie pozostałe są “zimne” (ustawione na 0). W kontekście NLP każde słowo w słowniku jest reprezentowane przez wektory one-hot, gdzie każdy wektor ma rozmiar słownika, a każde słowo jest reprezentowane przez wektor z wszystkimi 0 i jedną 1 na indeksie odpowiadającym temu słowu w liście słownika.

Przykład kodowania one-hot

Załóżmy, że mamy mały słownik z tylko pięcioma słowami: [“king”, “queen”, “man”, “woman”, “child”]. Wektory kodowania one-hot dla każdego słowa wyglądałyby następująco:

  • “king” -> [1, 0, 0, 0, 0]
  • “queen” -> [0, 1, 0, 0, 0]
  • “man” -> [0, 0, 1, 0, 0]
  • “woman” -> [0, 0, 0, 1, 0]
  • “child” -> [0, 0, 0, 0, 1]

Reprezentacja matematyczna

Jeśli oznaczymy jako rozmiar naszego słownika i jako wektorową reprezentację i-tego słowa w słowniku, reprezentacja matematyczna byłaby:

gdzie i-ta pozycja jest 1 a wszystkie pozostałe pozycje są 0.

Główną wadą kodowania one-hot jest to, że traktuje każde słowo jako izolowaną jednostkę, bez żadnego związku z innymi słowami. Wynika to w wektorach rzadkich i wysokowymiarowych, które nie przechwytują żadnej informacji semantycznej lub składniowej o słowach.

Wprowadzenie word embeddings, najbardziej znanego jako Word2Vec, było przełomowym momentem w NLP. Opracowany przez zespół w Google (GOOGL ) pod przewodnictwem Tomasza Mikolova w 2013 roku, Word2Vec reprezentował słowa w gęstym przestrzeni wektorowej, przechwytując relacje składniowe i semantyczne między słowami na podstawie ich kontekstu w dużych korpusach tekstu.

W przeciwieństwie do kodowania one-hot, Word2Vec produkuje gęste wektory, zwykle z setkami wymiarów. Słowa, które pojawiają się w podobnych kontekstach, takie jak “king” i “queen”, będą miały reprezentacje wektorowe, które są bliżej siebie w przestrzeni wektorowej.

Dla ilustracji, załóżmy, że mamy wytrenowany model Word2Vec i teraz reprezentujemy słowa w hipotetycznej 3-wymiarowej przestrzeni. Wektory (które zwykle mają więcej niż 3 wymiary, ale tutaj są uproszczone) mogą wyglądać następująco:

  • “king” -> [0.2, 0.1, 0.9]
  • “queen” -> [0.21, 0.13, 0.85]
  • “man” -> [0.4, 0.3, 0.2]
  • “woman” -> [0.41, 0.33, 0.27]
  • “child” -> [0.5, 0.5, 0.1]

Chociaż te liczby są fikcyjne, ilustrują one, jak podobne słowa mają podobne wektory.

Reprezentacja matematyczna

Jeśli reprezentujemy wektor Word2Vec słowa jako , i nasza przestrzeń wektorowa ma wymiarów, to może być reprezentowany jako:

Relacje semantyczne

Word2Vec może nawet przechwycić złożone relacje, takie jak analogie. Na przykład, słynna relacja przechwycona przez wektory Word2Vec to:

wektor(“king”) – wektor(“man”) + wektor(“woman”)≈wektor(“queen”)

To jest możliwe, ponieważ Word2Vec dostosowuje wektory słów podczas treningu, tak aby słowa, które pojawiają się w podobnych kontekstach w korpusie, były umiejscowione blisko siebie w przestrzeni wektorowej.

Word2Vec wykorzystuje dwie główne architektury, aby wytworzyć rozproszoną reprezentację słów: Continuous Bag-of-Words (CBOW) i Skip-Gram. CBOW przewiduje słowo docelowe na podstawie jego kontekstu, podczas gdy Skip-Gram robi odwrotnie, przewidując słowa kontekstowe na podstawie słowa docelowego. To pozwoliło maszynom zacząć rozumieć użycie słów i ich znaczenie w bardziej nuansowanym sposobie.

Modelowanie sekwencji: RNN i LSTM

W miarę rozwoju pola, uwaga skierowana się ku zrozumieniu sekwencji tekstu, co było kluczowe dla zadań takich jak tłumaczenie maszynowe, podsumowanie tekstu i analiza sentimentu. Sieci neuronowe rekurencyjne (RNN) stały się kamieniem węgielnym tych aplikacji ze względu na ich zdolność do radzenia sobie z danymi sekwencyjnymi, utrzymując pewną formę pamięci.

Jednak RNN nie były pozbawione ograniczeń. Miał problemy z długoterminowymi zależnościami ze względu na problem znikającego gradientu, gdzie informacja zostaje utracona w długich sekwencjach, co utrudnia naukę korelacji między odległymi zdarzeniami.

Sieci neuronowe LSTM, wprowadzone przez Seppa Hochreitera i Jürgena Schmidhubera w 1997 roku, rozwiązały ten problem, wprowadzając bardziej zaawansowaną architekturę. Sieci LSTM mają bramki, które kontrolują przepływ informacji: bramkę wejściową, bramkę wyjściową i bramkę zapomnienia. Te bramki decydują, jaka informacja jest przechowywana, aktualizowana lub odrzucana, co pozwala sieci na zachowanie długoterminowych zależności i znacznie poprawia wyniki w szerokim zakresie zadań NLP.

Architektura Transformer

Krajobraz NLP przeszedł dramatyczną transformację z wprowadzeniem modelu transformer w przełomowym artykule “Attention is All You Need” autorstwa Vaswani et al. w 2017 roku. Architektura transformer odbiega od sekwencyjnego przetwarzania RNN i LSTM, wykorzystując mechanizm zwany “self-attention”, aby ważyć wpływ różnych części danych wejściowych.

Podstawową ideą transformer jest to, że może on przetwarzać całe dane wejściowe jednocześnie, a nie sekwencyjnie. To pozwala na znacznie większą paralelizację i, w efekcie, znaczne przyspieszenie treningu dużych sieci neuronowych. Mechanizm self-attention umożliwia modelowi koncentrować się na różnych częściach tekstu podczas jego przetwarzania, co jest kluczowe dla zrozumienia kontekstu i relacji między słowami, niezależnie od ich położenia w tekście.

Kodery i dekodery w transformerach:

W oryginalnym modelu Transformer, opisanym w artykule “Attention is All You Need” autorstwa Vaswani et al., architektura jest podzielona na dwie główne części: koder i dekoder. Obie części składają się z warstw o podobnej strukturze, ale służą one różnym celom.

Koder:

  • Rola: Rola koderu polega na przetworzeniu danych wejściowych i utworzeniu reprezentacji, która przechwytuje relacje między elementami (jak słowami w zdaniu). Ta część transformer nie generuje nowych treści; po prostu transformuje dane wejściowe w stan, który dekoder może wykorzystać.
  • Funkcjonalność: Każda warstwa koderu ma mechanizmy self-attention i sieci neuronowe o przekształceniu. Mechanizm self-attention pozwala każdej pozycji w koderze na uwzględnienie wszystkich pozycji w poprzedniej warstwie koderu, dzięki czemu może nauczyć się kontekstu wokół każdego słowa.
  • Wektorowe reprezentacje kontekstowe: Wynik koderu jest serią wektorów, które reprezentują sekwencję wejściową w wysokowymiarowej przestrzeni. Wektory te są często nazywane wektorami kontekstowymi, ponieważ kodują nie tylko poszczególne słowa, ale także ich kontekst w zdaniu.

Dekoder:

  • Rola: Rola dekodera polega na generowaniu danych wyjściowych sekwencyjnie, jeden element na raz, na podstawie danych wejściowych, które otrzymuje od koderu, oraz tego, co już wygenerował.
  • Funkcjonalność: Warstwy dekodera również zawierają mechanizmy self-attention, ale są one maskowane, aby uniemożliwić pozycjom uwzględnianie następnych pozycji. To zapewnia, że przewidywanie dla określonej pozycji może zależeć tylko od znanych danych wyjściowych w poprzednich pozycjach. Dodatkowo warstwy dekodera zawierają drugi mechanizm uwagi, który uwzględnia wynik koderu, integrując kontekst z danych wejściowych w proces generowania.
  • Sekwencyjne możliwości generowania: Odnosi się to do zdolności dekodera do generowania sekwencji jeden element na raz, budując na tym, co już zostało wygenerowane. Na przykład, podczas generowania tekstu, dekoder przewiduje następne słowo na podstawie kontekstu dostarczonego przez koder i sekwencji słów, które już zostały wygenerowane.

Każda z tych podwarstw w koderze i dekoderze jest kluczowa dla zdolności modelu do radzenia sobie z zadaniami NLP.

Popularne modele wykorzystujące transfomery

Po początkowym sukcesie modelu transformer, nastąpił wybuch nowych modeli zbudowanych na jego architekturze, każdy z własnymi innowacjami i optymalizacjami dla różnych zadań:

BERT (Bidirectional Encoder Representations from Transformers): Wprowadzony przez Google w 2018 roku, BERT rewolucjonizował sposób, w jaki informacje kontekstowe są integrowane z reprezentacjami językowymi. Przez wstępne szkolenie na dużym korpusie tekstu z modelem języka maskowanego i przewidywaniem następnego zdania, BERT przechwytuje bogate konteksty dwukierunkowe i osiągnął wyniki na poziomie stanu sztuki w szerokim zakresie zadań NLP.

BERT

BERT

T5 (Text-to-Text Transfer Transformer): Wprowadzony przez Google w 2020 roku, T5 przedefiniował wszystkie zadania NLP jako problem tekst-tekst, wykorzystując ujednoliconą format tekstowy. To podejście upraszcza proces stosowania modelu do różnych zadań, w tym tłumaczenia, podsumowania i odpowiedzi na pytania.

t5 Architecture

T5 Architecture

GPT (Generative Pre-trained Transformer): Opracowany przez OpenAI, linia modeli GPT rozpoczęła się od GPT-1 i osiągnęła GPT-4 w 2023 roku. Modele te są wstępnie szkolone przy użyciu nieprzepuszczalnego uczenia się na ogromnych ilościach danych tekstowych i są doszkolenie dla różnych zadań. Ich zdolność do generowania spójnych i kontekstowo istotnych tekstów sprawiła, że stały się one bardzo wpływowe w aplikacjach AI zarówno akademickich, jak i komercyjnych.

GPT

GPT Architecture

Oto bardziej szczegółowe porównanie modeli T5, BERT i GPT w różnych wymiarach:

1. Tokenizacja i słownictwo

  • BERT: Wykorzystuje tokenizację WordPiece z rozmiarem słownictwa około 30 000 tokenów.
  • GPT: Wykorzystuje kodowanie Byte Pair Encoding (BPE) z dużym rozmiarem słownictwa (np. GPT-3 ma rozmiar słownictwa 175 000).
  • T5: Wykorzystuje tokenizację SentencePiece, która traktuje tekst jako surowy i nie wymaga wstępnie podzielonych słów.

2. Cele wstępnego szkolenia

  • BERT: Model języka maskowanego (MLM) i przewidywanie następnego zdania (NSP).
  • GPT: Model języka przyczynowego (CLM), w którym każdy token przewiduje następny token w sekwencji.
  • T5: Wykorzystuje cel denoisingu, w którym losowe fragmenty tekstu są zastępowane tokenem strażnika, a model uczy się odtwarzać oryginalny tekst.

3. Reprezentacja wejściowa

  • BERT: Wektory tokenów, segmentów i pozycyjne są łączone, aby reprezentować dane wejściowe.
  • GPT: Wektory tokenów i pozycyjne są łączone (bez wektorów segmentów, ponieważ nie są one przeznaczone do zadań par zdaniowych).
  • T5: Tylko wektory tokenów z dodatkowymi względnymi kodowaniami pozycyjnymi podczas operacji uwagi.

4. Mechanizm uwagi

  • BERT: Wykorzystuje absolutne kodowania pozycyjne i pozwala każdemu tokenowi na uwzględnienie wszystkich tokenów po lewej i prawej stronie (uwaga dwukierunkowa).
  • GPT: Również wykorzystuje absolutne kodowania pozycyjne, ale ogranicza uwagę do poprzednich tokenów (uwaga jednorodna).
  • T5: Implementuje wariant transformer, który wykorzystuje względne przesunięcia pozycyjne zamiast kodowań pozycyjnych.

5. Architektura modelu

  • BERT: Architektura tylko-kodera z wieloma warstwami bloków transformer.
  • GPT: Architektura tylko-dekodera, również z wieloma warstwami, ale zaprojektowana dla zadań generacyjnych.
  • T5: Architektura koder-dekoder, gdzie zarówno koder, jak i dekoder składają się z warstw transformer.

6. Podejście do doszkolenia

  • BERT: Dostosowuje ostatnie stany ukryte wstępnie wytrenowanego modelu do zadań dolnych z dodatkowymi warstwami wyjściowymi, jeśli jest to konieczne.
  • GPT: Dodaje liniową warstwę na górze transformer i doszkala na zadanie dolne, wykorzystując ten sam cel modelu języka przyczynowego.
  • T5: Konwertuje wszystkie zadania na format tekst-tekst, w którym model jest doszkolony do generowania sekwencji docelowej z sekwencji wejściowej.

7. Dane szkoleniowe i skala

  • BERT: Szkolony na BooksCorpus i angielskiej Wikipedii.
  • GPT: GPT-2 i GPT-3 zostały wytrenowane na różnorodnych zbiorach danych wyodrębnionych z Internetu, przy czym GPT-3 został wytrenowany na jeszcze większym korpusie zwanym Common Crawl.
  • T5: Szkolony na “Colossal Clean Crawled Corpus”, który jest dużym i czystym wariantem Common Crawl.

8. Obsługa kontekstu i dwukierunkowości

  • BERT: Zaprojektowany do zrozumienia kontekstu w obu kierunkach jednocześnie.
  • GPT: Szkolony do zrozumienia kontekstu w kierunku do przodu (lewo-prawo).
  • T5: Może modelować kontekst dwukierunkowy w koderze i jednorodny w dekoderze, odpowiedni dla zadań sekwencja-sekwencja.

9. Dostosowanie do zadań dolnych

  • BERT: Wymaga warstw głowic specyficznych dla zadań i doszkolenia dla każdego zadania dolnego.
  • GPT: Jest generatywny i może być nakierowany na wykonanie zadań z minimalnymi zmianami w swojej strukturze.
  • T5: Traktuje każde zadanie jako “tekst-tekst”, co czyni go wewnętrznie elastycznym i dostosowanym do nowych zadań.

10. Interpretowalność i wyjaśnialność

  • BERT: Dwukierunkowa natura zapewnia bogate reprezentacje kontekstowe, ale może być trudniejsza do interpretacji.
  • GPT: Jednorodna uwaga kontekstowa może być prostsza do śledzenia, ale brakuje jej głębi dwukierunkowego kontekstu.
  • T5: Ramy koder-dekoder zapewniają wyraźne rozdzielenie kroków przetwarzania, ale mogą być skomplikowane do analizy ze względu na ich generatywną naturę.

Wpływ transformerów na NLP

Transformery rewolucjonizowały pole NLP, umożliwiając modelom przetwarzać sekwencje danych równolegle, co znacznie zwiększyło szybkość i wydajność szkolenia dużych sieci neuronowych. Wprowadziły mechanizm self-attention, który pozwala modelom ważyć znaczenie każdej części danych wejściowych, niezależnie od odległości w sekwencji. To doprowadziło do bezprecedensowych popraw w szerokim zakresie zadań NLP, w tym tłumaczenia, odpowiedzi na pytania i podsumowania tekstu.

Badania nad granicami tego, co mogą osiągnąć modele oparte na transformerach, są kontynuowane. GPT-4 i jego współczesne są nie tylko większe w skali, ale także bardziej efektywne i zdolne dzięki postępom w architekturze i metodach szkolenia. Techniki takie jak few-shot learning, gdzie modele wykonują zadania z minimalnymi przykładami, i metody skutecznego transferu uczenia są na czele badań.

Modele językowe, takie jak te oparte na transformerach, uczą się z danych, które mogą zawierać uprzedzenia. Badacze i praktycy aktywnie pracują nad identyfikacją, zrozumieniem i łagodzeniem tych uprzedzeń. Techniki obejmują wybrane zbiory danych szkoleniowych i dostosowania po szkoleniu ukierunkowane na uczciwość i neutralność.

Przez ostatnie pięć lat zanurzałem się w fascynującym świecie Machine Learning i Deep Learning. Moja pasja i ekspertyza doprowadziły mnie do udziału w ponad 50 różnorodnych projektach inżynierii oprogramowania, ze szczególnym uwzględnieniem AI/ML. Moja nieustanna ciekawość również skierowała mnie w stronę Natural Language Processing, dziedziny, którą chcę dalej eksplorować.