Connect with us

NLP:n nousu transformer-malleilla | T5:n, BERT:n ja GPT:n kattava analyysi

Tekoäly

NLP:n nousu transformer-malleilla | T5:n, BERT:n ja GPT:n kattava analyysi

mm
Guide on NLP

Luonnollisen kielen prosessointi (NLP) on kokenut merkittäviä läpimurtoja viime vuosina, ja transformer-arkkitehtuuri on ollut keskeisessä roolissa tässä kehityksessä. Nämä läpimurrot eivät ainoastaan parantaneet koneiden kykyä ymmärtää ja generoida ihmisen kieltä, vaan ne ovat myös uudelleen määritelleet useiden sovellusten maiseman, aina hakukoneista conversational AI:hin.

Jotta voisimme täysin arvostaa transformerien merkitystä, on tärkeää tarkastella edeltäjiä ja rakennuspalikoita, jotka loivat perustan tälle vallankumoukselliselle arkkitehtuurille.

Vanhemmista NLP-tekniikoista: Perustukset ennen transformereita

Sanaupotukset: One-Hotista Word2Veciin

Perinteisissä NLP-lähestymistavoissa sanojen edustus oli usein kirjaimellinen ja puuttui semanttinen tai syntaktinen ymmärrys. One-Hot-koodaus on tämän rajoituksen esimerkki.

One-Hot-koodaus on prosessi, jossa kategoriset muuttujat muunnetaan binääriksi vektoriedustukseksi, jossa vain yksi bitti on “kuuma” (asettu 1) ja kaikki muut ovat “kylmiä” (asettu 0). NLP:ssä jokainen sana sanastossa edustetaan one-hot-vektoreilla, joissa jokainen vektori on sanaston kokoinen, ja jokainen sana edustetaan vektorilla, jossa on nolla ja yksi ykkönen sanan vastaavan indeksin kohdalla sanastossa.

One-Hot-koodauksen esimerkki

Oletetaan, että meillä on pieni sanasto, jossa on vain viisi sanaa: [“king”, “queen”, “man”, “woman”, “child”]. One-Hot-koodausvektorit kullekin sanalle näyttäisivät tältä:

  • “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]

Matemaattinen edustus

Jos merkitsemme V sanastomme koosta ja wi i-keskuksen one-hot-vektoriedustusta, matemaattinen edustus wi olisi:

wi=[0,0,,1,,0,0] jossa i-positio on 1 ja kaikki muut positiot ovat 0.jossa i-positio on 1 ja kaikki muut positiot ovat 0.

One-Hot-koodauksen suurin haitta on, että se kohdeltaa jokaisen sanan erilliseksi olennoksi, jolla ei ole mitään suhdetta muihin sanoihin. Se johtaa harvoihin ja korkeaan ulottuvuuteen oleviin vektoreihin, jotka eivät sisällä mitään semanttista tai syntaktista tietoa sanoista.

Sanaupotusten, erityisesti Word2Vecin, käyttöönotto oli ratkaiseva hetki NLP:ssä. Google-johtaja Tomas Mikolovin kehittämä Word2Vec edusti sanoja tiheässä vektoriavaruudessa, joka sai kiinni syntaktisia ja semanttisia sanojen suhteita niiden kontekstin perusteella laajoissa tekstikorporeissa.

Toisin kuin one-hot-koodaus, Word2Vec tuottaa tiheitä vektoreita, tyypillisesti useiden sadiden ulottuvuuksien kanssa. Sanat, jotka esiintyvät samankaltaisissa konteksteissa, kuten “king” ja “queen”, ovat lähempänä toisiaan vektoriavaruudessa.

Esimerkiksi oletetaan, että meillä on koulutettu Word2Vec-malli ja edustamme sanoja hypoteettisessa 3-ulottuvuuden avaruudessa. Upotukset (joita on yleensä enemmän kuin 3D, mutta on vähennetty yksinkertaisuuden vuoksi) voivat näyttää tältä:

  • “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]

Vaikka nämä numerot ovat kuvitteellisia, ne havainnollistavat, miten samankaltaiset sanat ovat lähempänä toisiaan.

Matemaattinen edustus

Jos edustamme Word2Vec-upotusta sanalle vw, ja meidän upotusavaruutemme on d ulottuvuutta, niin vw voidaan edustaa:

v1=[v2,,vd] jossa jokainen vi on liukuluku, joka edustaa sanan piirrettä upotusavaruudessa.

Semanttiset suhteet

Word2Vec voi jopa havainnollistaa monimutkaisia suhteita, kuten analogioita. Esimerkiksi, Word2Vec-upotukset voivat havainnollistaa seuraavan suhteen:

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

Tämä on mahdollista, koska Word2Vec säätää sanojen vektoreita koulutuksen aikana siten, että sanat, jotka jakavat yhteisiä konteksteja korporeissa, sijoittuvat lähelle toisiaan vektoriavaruudessa.

Word2Vec käyttää kahta pääarkkitehtuuria vektorien tuottamiseen: Continuous Bag-of-Words (CBOW) ja Skip-Gram. CBOW ennustaa kohdesanaa sen ympäröivien kontekstisanojen perusteella, kun taas Skip-Gram tekee päinvastoin, ennustaa kontekstisanoja kohdesanan perusteella. Tämä mahdollisti koneiden ymmärtää sanojen käyttöä ja merkitystä monitahoisemmin.

Järjestyksen mallinnus: RNN:t ja LSTMit

Kun ala eteni, fokus siirtyi järjestyksen ymmärtämiseen, mikä oli välttämätöntä tehtäville kuten konekäännös, tekstien tiivistäminen ja mielipideanalyysi. Toistuvat neuroverkkorakenteet (RNN) tulivat kulmakiveksi näille sovelluksille niiden kyvyn vuoksi käsitellä järjestystä tietynlaista muistia ylläpitämällä.

Kuitenkin RNN:llä oli rajoituksia. Ne kamppailivat pitkien riippuvuuksien kanssa häviävän gradientin ongelman vuoksi, jossa tieto häviää pitkien järjestysten yli, mikä teki vaikeaksi oppia korrelaatioita etäisten tapahtumien välillä.

Lyhyen ja pitkän muistin verkot (LSTM), jotka Sepp Hochreiter ja Jürgen Schmidhuber esittivät vuonna 1997, ratkaisivat tämän ongelman monimutkaisemmalla arkkitehtuurilla. LSTMeillä on portit, jotka ohjaavat tiedon virtausta: sisääntuloportti, unohdusportti ja ulostuloportti. Nämä portit määräävät, mitä tietoa tallennetaan, päivitetään tai hylätään, mikä mahdollistaa verkolle säilyttää pitkiä riippuvuuksia ja parantaa merkittävästi suorituskykyä monilla NLP-tehtävillä.

Transformer-arkkitehtuuri

NLP:n maisema koki dramaattisen muutoksen transformer-mallin esittelyn myötä vuonna 2017. Transformer-arkkitehtuuri poikkeaa RNN:ien ja LSTMIen järjestelmällisestä prosessoinnista ja käyttää sen sijaan mekanismia nimeltä “itsehuomio” painottamaan eri osien vaikutusta syöteaineistoon.

Transformerin ydinajatus on, että se voi prosessoida koko syöteaineiston kerran, sen sijaan että se prosessoi sitä järjestyksessä. Tämä mahdollistaa enemmän rinnakkaisuutta ja nopeuttaa koulutusta. Itsehuomio-mekanismi mahdollistaa mallille keskittyä eri osiin tekstiä prosessoidessaan, mikä on ratkaisevaa ymmärtää kontekstia ja suhteita sanojen välillä, riippumatta niiden sijainnista tekstissä.

Koodari ja dekooderi transformereissa:

Alkuperäisessä Transformer-mallissa, kuten Vaswani et al. kuvasivat paperissa “Attention is All You Need”, arkkitehtuuri on jaettu kahteen pääosaan: koodari ja dekooderi. Molemmat osat koostuvat kerroksista, joilla on sama yleinen rakenne, mutta ne palvelevat eri tarkoituksia.

Koodari:

  • Rooli: Koodarin rooli on prosessoida syöteaineisto ja luoda edustus, joka havainnollistaa suhteita elementtien (kuten sanojen) välillä. Tämä osa transformeria ei tuota uutta sisältöä; se muuttaa syötettä muotoon, jota dekooderi voi käyttää.
  • Toiminto: Jokainen koodarin kerros sisältää itsehuomio-mekanismin ja eteenpäin syötettävän neuroverkon. Itsehuomio-mekanismi mahdollistaa jokaisen kohdan koodarissa keskittyä kaikkiin kohtiin edellisessä koodarin kerroksessa — se voi oppia kontekstin ympärillä olevasta sanasta.
  • Kontekstuaaliset upotukset: Koodarin tuloste on joukko vektoreita, jotka edustavat syötejärjestystä korkeaulottuvuudessa. Nämä vektorit ovat kontekstuaalisia upotuksia, koska ne koodaavat yksittäisten sanojen lisäksi myös niiden kontekstin lauseessa.

Dekooderi:

  • Rooli: Dekooderin rooli on tuottaa ulostuloa järjestyksessä, yksi osa kerrallaan, perustuen syötteeseen, jonka se saa koodarilta, ja siihen, mitä se on jo tuottanut. Se on suunniteltu tehtäville kuten tekstintuottamiselle, jossa järjestyksen tuottaminen on ratkaisevaa.
  • Toiminto: Dekooderikerrokset sisältävät myös itsehuomio-mekanismin, mutta ne on maskattu estämään kohtien pääsy myöhempiin kohtiin. Tämä varmistaa, että ennuste tietystä kohdasta voi riippua vain tunnetuista tuloksista aiemmista kohtia. Lisäksi dekooderikerrokset sisältävät toisen huomio-mekanismin, joka keskittyy koodarin tulosteeseen, integroiden kontekstin syöteprosessiin.
  • Järjestelmällinen tuottaminen: Tämä viittaa dekooderin kykyyn tuottaa järjestystä yksi osa kerrallaan, rakentamalla siihen, mitä se on jo tuottanut. Esimerkiksi tekstintuottamisen aikana dekooderi ennustaa seuraavan sanan perustuen kontekstiin, jonka koodari tarjoaa, ja sanajärjestykseen, jonka se on jo tuottanut.

Nämä alikomponentit koodarissa ja dekooderissa ovat ratkaisevia mallin kyvyssä käsitellä monimutkaisia NLP-tehtäviä. Monipääomaisen huomio-mekanismi mahdollistaa mallille valikoivasti keskittyä eri osiin syöteaineistossa ja tarjoaa rikkaan ymmärryksen kontekstista.

Transformer-pohjaiset mallit

Transformer-mallin alkuperäisen menestyksen jälkeen uusia malleja kehitettiin sen arkkitehtuurin pohjalta, kullekin omat innovaationsa ja optimoinnit eri tehtäville:

BERT (Bidirectional Encoder Representations from Transformers): Google esitteli BERTin vuonna 2018, ja se mullisti tavan, jolla kontekstuaalinen tieto integroidaan kielen edustuksiin. Kouluttamalla laajassa tekstikorporeissa maskatun kielen mallinnuksen ja seuraavan lauseen ennustamisen avulla BERT sai kiinni rikkaat bidirektionaaliset kontekstia ja saavutti huipputulokset laajalla valikoimalla NLP-tehtävillä.

BERT

BERT

T5 (Text-to-Text Transfer Transformer): Google esitteli T5-mallin vuonna 2020, joka muuttaa kaikki NLP-tehtävät teksti-teksti -ongelmaksi, käyttäen yhtenäistä tekstipohjaista muotoa. Tämä lähestymistapa yksinkertaa mallin soveltamista moniin tehtäviin, mukaan lukien käännökset, tiivistäminen ja kysymys-vastaus-järjestelmät.

t5 Architecture

T5 Architecture

GPT (Generative Pre-trained Transformer): OpenAI kehitti GPT-mallin, joka aloitti GPT-1:stä ja eteni GPT-4:ään vuoteen 2023 mennessä. Nämä mallit on koulutettu unsupervised-oppimisella laajoissa tekstikorporeissa ja hienosäädetty eri tehtävissä. Niiden kyky tuottaa koherenttia ja kontekstuaalista tekstiä on tehnyt niistä erittäin vaikutusvaltaisia sekä akateemisissa että kaupallisissa sovelluksissa.

GPT

GPT Architecture

Tässä on syvempi vertailu T5-, BERT- ja GPT-malleista eri ulottuvuuksilla:

1. Tokenisointi ja sanasto

  • BERT: Käyttää WordPiece-tokenisointia, sanastokoolle 30 000 tokenia.
  • GPT: Käyttää Byte Pair Encoding (BPE) -tokenisointia, suurella sanastokoolle (esim. GPT-3:llä on 175 000 tokenin sanasto).
  • T5: Käyttää SentencePiece-tokenisointia, joka kohdeltaa tekstiä raakana ja ei vaadi esisegmentoitua sanaa.

2. Esikoulutusobjektiivit

  • BERT: Maskattu kielen mallinnus (MLM) ja seuraavan lauseen ennustaminen (NSP).
  • GPT: Kausaalinen kielen mallinnus (CLM), jossa jokainen token ennustaa seuraavan tokenin järjestyksessä.
  • T5: Käyttää häikäisevän objektiivin, jossa satunnaiset tekstijaksot korvataan vartijatokenilla, ja malli oppii palauttamaan alkuperäisen tekstin.

3. Syöte-edustus

  • BERT: Tokeni-, segmentti- ja positioidut upotukset yhdistetään edustamaan syötettä.
  • GPT: Tokeni- ja positioupotukset yhdistetään (ei segmenttiupotuksia, koska se ei ole tarkoitettu lauseparitehtäviin).
  • T5: Vain tokeniupotukset, joissa on lisätty suhteelliset positioupotukset huomio-operaatioissa.

4. Huomio-mekanismi

  • BERT: Käyttää absoluuttisia positioupotuksia ja sallii jokaisen tokenin keskittyä kaikkiin tokeneihin vasemmalla ja oikealla puolella (bidirektionaalinen huomio).
  • GPT: Käyttää myös absoluuttisia positioupotuksia, mutta rajoittaa huomion edeltäviin tokeneihin (unidirektionaalinen huomio).
  • T5: Toteuttaa transformerin variantin, joka käyttää suhteellisia positiobiaseja positioupotusten sijaan.

5. Mallin arkkitehtuuri

  • BERT: Vain koodarin arkkitehtuuri, useita transformer-kerroksia.
  • GPT: Vain dekooderin arkkitehtuuri, myös useita kerroksia, mutta suunniteltu generatiivisille tehtäville.
  • T5: Koodari-dekooderi arkkitehtuuri, jossa sekä koodari että dekooderi koostuvat transformer-kerroksista.

6. Hienosäätölähestymistapa

  • BERT: Soveltaa esikoulutetun mallin lopullisia piilovectoria alitehtäville ja lisää tarvittaessa lisäulostulo-kerroksia.
  • GPT: Lisää lineaarisen kerroksen transformerin päälle ja hienosäätää alitehtävissä käyttäen samaa kausaalista kielen mallinnusobjektiivia.
  • T5: Muuttaa kaikki tehtävät teksti-teksti-muotoon, jossa malli hienosäätetään tuottamaan kohdejärjestys syötejärjestyksestä.

7. Koulutusaineisto ja mittakaava

  • BERT: Koulutettu BooksCorpus- ja englanninkielisessä Wikipediassa.
  • GPT: GPT-2 ja GPT-3 on koulutettu monipuolisilla internetistä poimittuilla aineistoilla, GPT-3:lla on koulutettu Common Crawl -korpuksella.
  • T5: Koulutettu “Colossal Clean Crawled Corpus” -aineistolla, joka on suuri ja puhdas versio Common Crawlista.

8. Kontekstin ja bidirektionaalisuuden käsittely

  • BERT: Suunniteltu ymmärtämään kontekstin molempiin suuntiin samanaikaisesti.
  • GPT: Koulutettu ymmärtämään kontekstin eteenpäin (vasemmalta oikealle).
  • T5: Pystyy mallintamaan bidirektionaalisen kontekstin koodarissa ja unidirektionaalisen dekooderissa, soveltuu sekvenssi-sekvenssi-tehtäviin.

9. Soveltaminen alitehtäviin

  • BERT: Vaatii tehtävikohtaisia ulostulo-kerroksia ja hienosäätöä kullekin alitehtävälle.
  • GPT: On generatiivinen luonteeltaan ja voidaan ohjata tehtäviin vähäisin muutoksin sen rakenteeseen.
  • T5: Käsittelee kaikki tehtävät “teksti-teksti”-ongelmana, mikä tekee siitä luonnostaan joustavan ja soveltuvan uusiin tehtäviin.

10. Tulkintakelpoisuus ja selittäminen

  • BERT: Bidirektionaalinen luonne tarjoaa rikkaat kontekstuaaliset upotukset, mutta voi olla haasteellista tulkita.
  • GPT: Unidirektionaalinen konteksti voi olla suorempaa seurata, mutta puuttuu bidirektionaalisen kontekstin syvyys.
  • T5: Koodari-dekooderi-kehyksessä on selvä prosessointivaiheiden erottelu, mutta voi olla monimutkainen analyysin vuoksi sen generatiivisesta luonteesta.

Transformerien vaikutus NLP:hen

Transformerit ovat mullistaneet NLP-alan mahdollistamalla mallien prosessoida järjestyksiä rinnakkain, mikä dramaattisesti lisäsi suurten neuroverkkojen koulutuksen nopeutta ja tehokkuutta. Ne esittelivät itsehuomio-mekanismin, joka mahdollistaa mallille painottaa kunkin syöteaineiston osan merkitystä, riippumatta etäisyydestä järjestyksessä. Tämä johti ennennäkemättömiin parannuksiin laajalla valikoimalla NLP-tehtävissä, mukaan lukien käännökset, kysymys-vastaus-järjestelmät ja tekstien tiivistäminen.

Tutkimus jatkuu transformer-pohjaisien mallien rajojen tutkimisessa. GPT-4 ja sen kaltaiset mallit eivät ainoastaan ole suurempia mittakaavassa vaan myös tehokkaampia ja kykenevämpiä edistyneiden koulutusmenetelmien ansiosta.

Kielen mallit, kuten ne, jotka perustuvat transformereihin, oppivat datasta, joka voi sisältää harhaa. Tutkijat ja käytännön soveltajat työskentelevät aktiivisesti tunnistamaan, ymmärtämään ja lieventämään näitä harhoja. Menetelmät ulottuvat koulutusaineistojen kuratointiin ja jälkikoulutussopeutumiseen tasa-arvon ja puolueettomuuden saavuttamiseksi.

Olen viettänyt viimeiset viisi vuotta uppoutumassa kiinnostavaan koneoppimisen ja syväoppimisen maailmaan. Intohimoni ja asiantuntemukseni ovat johtaneet minun osallistumiseen yli 50:een monipuoliseen ohjelmistosuunnitteluhankkeeseen, joissa on erityisesti painottunut tekoäly/ML. Jatkuva uteliaisuuteni on myös ohjannut minua kohti luonnollisen kielen prosessointia, alaa jota haluan tutkia tarkemmin.