Umělá inteligence
NLP Rise with Transformer Models | A Comprehensive Analysis of T5, BERT, and GPT

Přirozený jazykový processing (NLP) zažil některé z nejvýznamnějších průlomů v posledních letech, především díky architektuře transformer. Tyto průlomy nejenom zvýšily schopnosti strojů rozumět a generovat lidský jazyk, ale také změnily krajinu mnoha aplikací, od vyhledávačů až po konverzační AI.
Abychom mohli plně ocenit význam transformerů, musíme se nejprve podívat na předchůdce a stavební kameny, které položily základy pro tuto revoluční architekturu.
Rané techniky NLP: Základy před transformery
Word Embeddings: Od One-Hot po Word2Vec
V tradičních přístupech NLP byla reprezentace slov často doslovná a postrádala jakýkoli formu sémantického nebo syntaktického porozumění. One-hot kódování je příkladem této omezení.
One-hot kódování je proces, při kterém jsou kategorické proměnné převedeny do binární vektorové reprezentace, kde je pouze jeden bit “hot” (nastaven na 1), zatímco všechny ostatní jsou “cold” (nastaveny na 0). V kontextu NLP je každé slovo ve slovníku reprezentováno one-hot vektory, kde každý vektor je velikosti slovníku a každé slovo je reprezentováno vektorem se všemi 0 a jedním 1 na indexu, který odpovídá slovu ve slovníku.
Příklad one-hot kódování
Předpokládejme, že máme malý slovník se pouze pěti slovy: [“king”, “queen”, “man”, “woman”, “child”]. One-hot kódovací vektory pro každé slovo by vypadaly takto:
- “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]
Matematická reprezentace
Pokud označíme V jako velikost našeho slovníku a wi jako one-hot vektorovou reprezentaci i-tého slova ve slovníku, matematická reprezentace wi by byla:
wi=[0,0,…,1,…,0,0] kde i-tá pozice je 1 a všechny ostatní pozice jsou 0.kde i-tá pozice je 1 a všechny ostatní pozice jsou 0.
Hlavní nevýhodou one-hot kódování je, že zachází se každým slovem jako s izolovaným celkem, bez vztahu k ostatním slovům. To vede k řídkým a vysoce dimenzionálním vektorům, které nezachycují žádné sémantické nebo syntaktické informace o slovech.
Zavedení word embeddings, nejvíce Word2Vec, bylo zásadním okamžikem v NLP. Vyvinutý týmem v Google vedeným Tomem Mikolovem v roce 2013, Word2Vec reprezentoval slova v hustém vektorovém prostoru, zachycující syntaktické a sémantické vztahy slov na základě jejich kontextu v velkých sbírkách textu.
Na rozdíl od one-hot kódování produkuje Word2Vec husté vektory, obvykle s stovkami dimenzí. Slova, která se vyskytují v podobných kontextech, jako “king” a “queen”, budou mít vektorové reprezentace, které jsou blíže sobě ve vektorovém prostoru.
Pro ilustraci předpokládejme, že jsme trénovali model Word2Vec a nyní reprezentujeme slova v hypotetickém 3dimenzionálním prostoru. Embeddings (které jsou obvykle více než 3D, ale zjednodušené zde pro jednoduchost) by mohly vypadat takto:
- “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]
Zatímco tato čísla jsou fiktivní, ilustrují, jak podobná slova mají podobné vektory.
Matematická reprezentace
Pokud reprezentujeme Word2Vec embedding slova jako vw, a náš embedding prostor má d dimenzí, pak vw může být reprezentován jako:
vw=[v1,v2,…,vd] kde každý vi je číslo s čárkou reprezentující funkci slova v embedding prostoru.
Sémantické vztahy
Word2Vec může dokonce zachytit komplexní vztahy, jako jsou analogy. Například slavný vztah zachycený Word2Vec embeddings je:
vector(“king”) – vector(“man”) + vector(“woman”)≈vector(“queen”)vector(“king”) – vector(“man”) + vector(“woman”)≈vector(“queen”)
To je možné, protože Word2Vec upravuje word vektory během trénování, aby slova, která sdílejí společné kontexty v korpusu, byly umístěny blízko sebe ve vektorovém prostoru.
Word2Vec používá dvě hlavní architektury pro produkci distribuované reprezentace slov: Continuous Bag-of-Words (CBOW) a Skip-Gram. CBOW předpovídá cílové slovo z jeho okolního kontextu slov, zatímco Skip-Gram dělá opak, předpovídající kontextová slova z cílového slova. To umožnilo strojům začít rozumět použití slov a jejich významu způsobem, který je více nuancovaný.
Sekvencová modelace: RNNs a LSTMs
Jak se pole posunulo, zaměřilo se na pochopení sekvencí textu, což bylo zásadní pro úkoly, jako je strojový překlad, shrnutí textu a sentimentální analýza. Rekurentní neuronové sítě (RNNs) se staly základním kamenem pro tyto aplikace díky své schopnosti zpracovávat sekvencí data udržováním jisté formy paměti.
Nicméně, RNNs nebyly bez omezení. Bojovaly s dlouhodobými závislostmi kvůli problému mizejícího gradientu, kde se informace ztrácejí přes dlouhé sekvence, což činí obtížným naučit se korelace mezi vzdálenými událostmi.
Long Short-Term Memory sítě (LSTMs), zavedené Seppem Hochreiterem a Jürgenem Schmidhuberem v roce 1997, řešily tento problém s více sofistikovanou architekturou. LSTMs mají brány, které kontrolují tok informací: vstupní bránu, bránu zapomínání a výstupní bránu. Tyto brány určují, jaká informace se ukládá, aktualizuje nebo zahazuje, umožňující síti zachovat dlouhodobé závislosti a významně zlepšující výkon na širokém spektru úkolů NLP.
Architektura Transformer
Krajina NLP prošla dramatickou transformací se zavedením modelu transformer v průlomovém článku “Attention is All You Need” od Vaswaniho a kolegů v roce 2017. Architektura transformer se odchyluje od sekvencíálního zpracování RNNs a LSTMs a místo toho využívá mechanismus nazývaný ‘self-attention’ pro vážení vlivu různých částí vstupních dat.
Základní myšlenka transformeru je, že může zpracovat celý vstupní data najednou, místo po částech. To umožňuje mnohem více paralelizace a v důsledku toho významné zvýšení rychlosti trénování. Mechanismus self-attention umožňuje modelu soustředit se na různé části textu, zatímco jej zpracovává, což je zásadní pro pochopení kontextu a vztahů mezi slovy, bez ohledu na jejich pozici v textu.
Kodér a dekodér v Transformerech:
V původním modelu Transformer, jak je popsáno v článku “Attention is All You Need” od Vaswaniho a kolegů, architektura je rozdělena do dvou hlavních částí: kodér a dekodér. Obě části se skládají z vrstev, které mají stejnou obecnou strukturu, ale slouží k různým účelům.
Kodér:
- Úloha: Úloha kodéru je zpracovat vstupní data a vytvořit reprezentaci, která zachycuje vztahy mezi prvky (jako slova ve větě). Tato část transformeru nevytváří žádná nová data; jednoduše transformuje vstup do stavu, který dekodér může použít.
- Funkcionalita: Každá vrstva kodéru má mechanismy self-attention a feed-forward neuronové sítě. Mechanismus self-attention umožňuje každé pozici v kodéru soustředit se na všechny pozice v předchozí vrstvě kodéru—tímto způsobem se může naučit kontext kolem každého slova.
- Kontextová vložení: Výstup kodéru je série vektorů, které reprezentují vstupní sekvenci v vysokodimenzionálním prostoru. Tyto vektory jsou často označovány jako kontextová vložení, protože kódují nejenom jednotlivá slova, ale také jejich kontext ve větě.
Dekodér:
- Úloha: Úloha dekodéru je generovat výstupní data sekvencíálně, po jednom kusu, na základě vstupu, který obdrží od kodéru a toho, co již vygeneroval. Je navržen pro úkoly, jako je generování textu, kde je pořadí generování zásadní.
- Funkcionalita: Dekodérské vrstvy také obsahují mechanismy self-attention, ale jsou maskovány, aby zabránily pozicím v přístupu k následujícím pozicím. To zajišťuje, že předpověď pro určitou pozici může záviset pouze na známých výstupech na předchozích pozicích. Kromě toho dekodérské vrstvy zahrnují druhý mechanismus attention, který se zaměřuje na výstup kodéru, integrující kontext z vstupu do generativního procesu.
- Sekvencíální generativní schopnosti: To se týká schopnosti dekodéru generovat sekvenci po jednom prvku, stavějí na tom, co již vyprodukoval. Například při generování textu dekodér předpovídá následující slovo na základě kontextu poskytnutého kodérem a sekvence slov, která již vygeneroval.
Každá z těchto subvrstev v kodéru a dekodéru je zásadní pro schopnost modelu zpracovávat komplexní úkoly NLP. Mechanismus multi-head attention zejména umožňuje modelu selektivně se soustředit na různé části sekvence, poskytující bohaté pochopení kontextu.
Populární modely využívající Transformery
Po počátečním úspěchu modelu transformer došlo k explozi nových modelů postavených na jeho architektuře, každý s vlastními inovacemi a optimalizacemi pro různé úkoly:
BERT (Bidirectional Encoder Representations from Transformers): Zavedený společností Google v roce 2018, BERT revolucionalizoval způsob, jakým jsou kontextuální informace integrovány do jazykových reprezentací. Předtrénováním na velkém korpusu textu s maskovaným jazykovým modelem a předpovědí následující věty BERT zachytil bohaté bidirekcionální kontexty a dosáhl špičkových výsledků na širokém spektru úkolů NLP.
T5 (Text-to-Text Transfer Transformer): Zavedený společností Google v roce 2020, T5 přeformuluje všechny úkoly NLP jako text-to-text problém, využívající jednotný textový formát. Tento přístup zjednodušuje proces aplikace modelu na širokou škálu úkolů, včetně překladu, shrnutí a zodpovězení otázek.
GPT (Generative Pre-trained Transformer): Vyvinutý OpenAI, řada modelů GPT začala s GPT-1 a dosáhla GPT-4 v roce 2023. Tyto modely jsou předtrénovány pomocí nesupervizovaného učení na obrovských množstvích textových dat a fine-tunovány pro různé úkoly. Jejich schopnost generovat koherentní a kontextuálně relevantní text je učinila vysoce vlivnými v akademických i komerčních aplikacích AI.
Zde je podrobnější srovnání modelů T5, BERT a GPT napříč různými dimenzemi:
1. Tokenizace a slovník
- BERT: Používá tokenizaci WordPiece se slovníkem o velikosti kolem 30 000 tokenů.
- GPT: Používá kódování Byte Pair Encoding (BPE) se velkou velikostí slovníku (například GPT-3 má slovník o velikosti 175 000).
- T5: Používá tokenizaci SentencePiece, která zachází s textem jako s raw a nevyžaduje předsegmentovaná slova.
2. Předtrénovací cíle
- BERT: Maskovaný jazykový model (MLM) a předpověď následující věty (NSP).
- GPT: Kauzální jazykový model (CLM), kde každé token předpovídá následující token v sekvenci.
- T5: Používá denoisovací cíl, kde náhodné části textu jsou nahrazeny sentinelovým tokenem a model se učí rekonstruovat původní text.
3. Reprezentace vstupu
- BERT: Token, segment a pozicionální vložení se kombinují pro reprezentaci vstupu.
- GPT: Token a pozicionální vložení se kombinují (bez segmentových vložení, protože není navržen pro úkoly se slovním párem).
- T5: Pouze tokenová vložení s přidáním relativních pozicionálních kódování během operací attention.
4. Mechanismus attention
- BERT: Používá absolutní pozicionální kódování a umožňuje každé pozici v kodéru soustředit se na všechny pozice vlevo a vpravo (bidirekcionální attention).
- GPT: Také používá absolutní pozicionální kódování, ale omezuje attention pouze na předchozí tokeny (unidirekcionální attention).
- T5: Implementuje variantu transformeru, která používá relativní pozicionální biasy místo pozicionálních vložení.
5. Architektura modelu
- BERT: Pouze kodérská architektura s více vrstvami transformer bloků.
- GPT: Pouze dekodérská architektura, také s více vrstvami, ale navržená pro generativní úkoly.
- T5: Kodér-dekodérská architektura, kde obě části (kodér i dekodér) se skládají z transformer vrstev.
6. Přístup k fine-tuningu
- BERT: Adaptuje konečné skryté stavy předtrénovaného modelu pro downstream úkoly s přidáním dalších výstupních vrstev podle potřeby.
- GPT: Přidává lineární vrstvu na vrchol transformeru a fine-tunuje na downstream úkolu pomocí stejného kauzálního jazykového modelu.
- T5: Převádí všechny úkoly do text-to-text formátu, kde se model fine-tunuje pro generování cílové sekvence z vstupní sekvence.
7. Trénovací data a měřítko
- BERT: Trénován na BooksCorpus a anglické Wikipedii.
- GPT: GPT-2 a GPT-3 byly trénovány na rozmanitých datech extrahovaných z internetu, s GPT-3 trénovaným na ještě větším korpusu zvaném Common Crawl.
- T5: Trénován na „Colossal Clean Crawled Corpus“, který je velký a čistý korpus Common Crawl.
8. Zacházení s kontextem a bidirekcionálností
- BERT: Navržen pro pochopení kontextu v obou směrech současně.
- GPT: Trénován pro pochopení kontextu ve směru dopředu (zleva doprava).
- T5: Může modelovat bidirekcionální kontext v kodéru a unidirekcionální v dekodéru, vhodné pro sekvencíálně-sekvencíální úkoly.
9. Adaptabilita na downstream úkoly
- BERT: Vyžaduje úkol-specifické hlavičkové vrstvy a fine-tuning pro každý downstream úkol.
- GPT: Je generativní povahy a může být naváděn k provádění úkolů s minimálními změnami ve své struktuře.
- T5: Zachází se všemi úkoly jako s text-to-text problémem, což z něj činí inherentně flexibilní a adaptabilní na nové úkoly.
10. Interpretovatelnost a vysvětlitelnost
- BERT: Bidirekcionální povaha poskytuje bohaté kontextuální vložení, ale může být obtížnější interpretovat.
- GPT: Unidirekcionální kontext může být jednodušší na sledování, ale postrádá hloubku bidirekcionálního kontextu.
- T5: Kodér-dekodérská architektura poskytuje jasnou separaci zpracovatelských kroků, ale může být složitější na analýzu kvůli své generativní povaze.
Dopad transformerů na NLP
Transformery revolucionalizovaly pole NLP tím, že umožnily modelům zpracovávat sekvence dat paralelně, což dramaticky zvýšilo rychlost a efektivitu trénování velkých neuronových sítí. Zavedly mechanismus self-attention, který umožňuje modelům vážit významnost každé části vstupních dat, bez ohledu na vzdálenost v sekvenci. To vedlo k bezprecedentním zlepšením v širokém spektru úkolů NLP, včetně překladu, zodpovězení otázek a shrnutí textu.
Výzkum pokračuje v tlačení hranic toho, co modely založené na transformerech mohou dosáhnout. GPT-4 a jeho současníci nejsou pouze větší v měřítku, ale také efektivnější a schopnější díky pokrokům v architektuře a trénovacích metodách. Techniky, jako je few-shot learning, kde modely provádějí úkoly s minimálními příklady, a metody pro efektivní transfer learning, jsou v současnosti na špici výzkumu.
Jazykové modely, jako jsou ty založené na transformerech, se učí z dat, která mohou obsahovat předpojatosti. Výzkumníci a praktici aktivně pracují na identifikaci, pochopení a zmírnění těchto předpojatostí. Techniky sahají od kurátorovaných trénovacích dat po post-trénovací úpravy zaměřené na férovost a neutralitu.













