AI-mallit ja alustat
Dekooderipohjaiset suuret kielen mallit: Täydellinen opas
Suuret kielen mallit (LLM) ovat vallanneet luonnollisen kielen prosessoinnin alueen osoittamalla merkittäviä kykyjä tuottaa ihmismäisesti tekstiä, vastata kysymyksiin ja avustaa laajassa valikoimassa kielen liittyvissä tehtävissä. Näiden voimakkaiden mallien ytimessä on dekooderivain transformer-arkkitehtuuri, joka on muunnelma alkuperäisestä transformer-arkkitehtuurista, joka esiteltiin merkittävässä tutkimuksessa “Huomio on kaikki mitä tarvitaan” Vaswani et al.
Tässä kattavassa oppaassa tutkimme dekooderipohjaisten LLMien sisäisiä toimintoja, syventyen perusrakenteisiin, arkkitehtonisiin innovaatioihin ja toteutusyksityiskohtiin, jotka ovat nostaneet nämä mallit NLP-tutkimuksen ja sovellusten eturintamaan.
Transformer-arkkitehtuuri: Muistutus
Ennen kuin syvennymme dekooderipohjaisten LLMien yksityiskohtiin, on tärkeää käydä läpi transformer-arkkitehtuuri, jolle nämä mallit perustuvat. Transformer esitteli uuden lähestymistavan jonojen mallinnukseen, joka perustui ainoastaan huomio-mekanismeihin pitkän aikavälin riippuvuuksien havaitsemiseksi tiedoissa ilman recurrent- tai convolutionaalisia kerroksia.
Alkuperäinen transformer-arkkitehtuuri koostuu kahdesta pääkomponentista: kooderin ja dekooderin. Kooderi prosessoi syötteen ja tuottaa kontekstualisoidun esityksen, jota dekooderi käyttää syötteenä tuottaakseen tulostejonon. Tämä arkkitehtuuri suunniteltiin alun perin konekäännöstehtävien, kuten käännöstehtävien, joissa kooderi prosessoi syötteen lauseen lähdekielessä ja dekooderi tuottaa vastaavan lauseen kohdekielellä.
Itsehuomio: Avain transformerin menestykseen
Transformerin ytimessä on itsehuomio-mekanismi, voimakas tekniikka, joka sallii mallin painottaa ja yhdistää tietoa eri asemista syötteen jonossa. Toisin kuin perinteiset jonomallit, jotka prosessoi syötetokenit järjestyksessä, itsehuomio sallii mallin havaita riippuvuudet minkä tahansa tokenin välillä, riippumatta niiden asemasta jonossa.
Itsehuomio-operaatio voidaan jakaa kolmeen päävaiheeseen:
- Kysely-, avain- ja arvo-projektiot: Syötteen jono projisoidaan kolmeen erilliseen esitykseen: kyselyyn (Q), avaimiin (K) ja arvoihin (V). Nämä projektiot saadaan kertomalla syöte oppimilla paino-matriiseilla.
- Huomio-pistemäärän laskeminen: Kunkin syötteen aseman kohdalla lasketaan huomio-pistemäärät ottamalla pistetulo kyselyvektorin ja kaikkien avainvektorien välillä. Nämä pistemäärät edustavat kunkin aseman merkitystä kohdalla, jota prosessoidaan.
- Arvojen painotettu summa: Huomio-pistemäärät normalisoidaan softmax-funktiolla, ja tuloksena olevat huomio-painot käytetään laskemaan arvojen painotettu summa, josta saadaan tuloste-esitys kohdalle.
Monihaku-huomio, itsehuomio-mekanismin variantti, sallii mallin havaita erilaisia suhteita laskemalla huomio-pistemäärät useiden “päiden” yli rinnakkain, kullakin omalla kysely-, avain- ja arvo-projektiollaan.
Arkkitehtuurin variantit ja konfiguraatiot
Vaikka dekooderipohjaisten LLMien perussäännöt pysyvät samana, tutkijat ovat tutkineet erilaisia arkkitehtuurin varianteja ja konfiguraatioita parantamaan suorituskykyä, tehokkuutta ja yleistyskykyä. Tässä osiossa syvennymme erilaisiin arkkitehtuurin valintoihin ja niiden vaikutuksiin.
Arkkitehtuurityypit
Dekooderipohjaiset LLM:t voidaan karkeasti jakaa kolmeen päätyyppiin: kooderi-dekooderi, kausaalinen dekooderi ja etuliite-dekooderi. Kunkin arkkitehtuurityypin ominaisuuksia voidaan havainnollistaa erilaisilla huomio-malleilla.
Kooderi-dekooderi-arkkitehtuuri
Perustuu alkuperäiseen Transformer-malliin, kooderi-dekooderi-arkkitehtuuri koostuu kahdesta pinosta: kooderista ja dekooderista. Kooderi käyttää pinottuja monihaku-huomio-kerroksia koodata syötteen ja tuottaa latenttisia esityksiä. Dekooderi suorittaa ristihuumio-näitä esityksistä tuottaakseen kohdejonon. Vaikka tämä arkkitehtuuri on tehokas useissa NLP-tehtävissä, vain harvat LLM:t, kuten Flan-T5, käyttävät tätä arkkitehtuuria.
Kausaalinen dekooderi-arkkitehtuuri
Kausaalinen dekooderi-arkkitehtuuri sisältää yksisuuntaisen huomio-maskin, joka sallii kunkin syötetoken huomata vain edeltäviä tokenia ja itseään. Sekä syöte- että tulostetokenit prosessoidaan samassa dekooderissa. Merkittävät mallit, kuten GPT-1, GPT-2 ja GPT-3, perustuvat tähän arkkitehtuuriin, ja GPT-3 on osoittanut merkittäviä kykyjä kontekstissä oppimisessa. Monet LLM:t, mukaan lukien OPT, BLOOM ja Gopher, ovat laajasti omaksuneet kausaaliset dekooderit.
Etuliite-dekooderi-arkkitehtuuri
Tunnetaan myös ei-kausaalisena dekooderina, etuliite-dekooderi-arkkitehtuuri muuttaa kausaalisten dekooderien maskausmekanismia sallimaan kaksisuuntaisen huomion etuliite-tokenien yli ja yksisuuntaisen huomion generoituille tokenille. Kuten kooderi-dekooderi-arkkitehtuuri, etuliite-dekooderit voivat koodata etuliite-jonon kaksisuunnaisesti ja ennustaa tulostetokenit itseään toistamalla käyttäen jaettuja parametreja. LLM:t, jotka perustuvat etuliite-dekoodereihin, sisältävät GLM130B:n ja U-PaLM:n.
Kaikki kolme arkkitehtuurityyppiä voidaan laajentaa käyttämällä asiantuntijoiden sekoitus (MoE)-teknologiaa, joka aktivoi harvasti aliverkon neuroverkon painoja kullekin syötteelle. Tämä lähestymistapa on käytössä malleissa, kuten Switch Transformer ja GLaM, ja lisäämällä asiantuntijoiden määrää tai kokonaisparametrien kokoa on havaittu merkittäviä suorituskyvyn parannuksia.
Dekooderi-vain transformer: Omaksuen autoregressiivisen luonteen
Vaikka alkuperäinen transformer-arkkitehtuuri suunniteltiin alun perin jono-jono-tehtävien, kuten konekäännösten, useat NLP-tehtävät, kuten kielen mallinnus ja tekstin generointi, voidaan muotoilla autoregressiivisiksi ongelmiksi, joissa malli generoi yhden tokenin kerrallaan edellisten generoityjen tokenien ehdolla.
Tässä tulee dekooderi-vain transformer, yksinkertaistettu variantti transformer-arkkitehtuurista, joka säilyttää ainoastaan dekooderin komponentin. Tämä arkkitehtuuri on erityisen sovelias autoregressiivisille tehtäville, koska se generoi tulostetokenit yksi kerrallaan hyödyntäen edellisten generoityjen tokenien kontekstia.
Avainero dekooderi-vain transformerin ja alkuperäisen transformer-dekooderin välillä on itsehuomio-mekanismi. Dekooderi-vain asetuksessa itsehuomio-operaatio muutetaan estämään mallin huomio tulevista tokenista, ominaisuus jota kutsutaan kausaalisuudeksi. Tämä saavutetaan tekniikalla, jota kutsutaan “maskattu itsehuomio”, jossa huomio-pistemäärät tuleville asemille asetetaan negatiiviseksi äärettömäksi, käytännössä maskaten ne pois softmax-normalisointivaiheessa.
Dekooderipohjaisten LLMien arkkitehtuurin komponentit
Vaikka itsehuomion ja maskatun itsehuomion perussäännöt säilyvät samana, modernit dekooderipohjaiset LLM:t ovat esittäneet useita arkkitehtuurin innovaatioita parantamaan suorituskykyä, tehokkuutta ja yleistyskykyä. Tutkimme joitakin avainkomponentteja ja tekniikoita, joita käytetään nykyaikaisissa LLM:eissä.
Syötteen esitys
Ennen syötteen jonon prosessointia dekooderipohjaiset LLM:t käyttävät tokenisointi- ja upotusmenetelmiä muuttaakseen raakatekstin numeeriseksi esitykseksi, joka on sovelias mallille.
Tokenisointi: Tokenisointiprosessi muuttaa syötetekstin tokenien jonoksi, jotka voivat olla sanoja, sub-sanoja tai jopa yksittäisiä merkkejä, riippuen käytetystä tokenisointistrategiasta. Suositeltuja tokenisointitekniikoita LLM:eille ovat Byte-Pair Encoding (BPE), SentencePiece ja WordPiece. Nämä menetelmät pyrkivät löytämään tasapainon sanastojen koosta ja esityksen yksityiskohtaisuudesta, sallien mallin käsitellä harvinaisia tai sanastoon kuulumattomia sanoja tehokkaasti.
Token-upotukset: Tokenisoinnin jälkeen kunkin tokenin kohdalla on tiheä vektoriesitys, jota kutsutaan token-upotukseksi. Nämä upotukset opitaan koulutusprosessin aikana ja ne sisältävät semanttisia ja syntaktisia suhteita tokenien välillä.
Paikalliset upotukset: Transformer-mallit prosessoi koko syötteen jonon yhtä aikaa, ja niillä ei ole sisäistä tokenien asemien käsitettä, kuten recurrent-malleilla. Sisällyttääkseen paikalliset tiedot, paikalliset upotukset lisätään token-upotuksiin, sallien mallin erottaa tokenit niiden asemien perusteella.
Monihaku-huomio-kerrokset
Dekooderipohjaisten LLMien perusrakenteita ovat monihaku-huomio-kerrokset, jotka suorittavat maskatun itsehuomio-operaation, josta olemme aiemmin maininneet. Nämä kerrokset pinotaan useita kertoja, ja kunkin kerroksen tuloste huomataan edellisen kerroksen tulosteena, sallien mallin havaita yhä monimutkaisempia riippuvuuksia ja esityksiä.
Huomio-päät: Kunkin monihaku-huomio-kerroksen koostuu useista “huomio-päistä”, kullakin omalla kysely-, avain- ja arvo-projektiollaan. Tämä sallii mallin huomata eri aspekteja syötteestä samanaikaisesti, havaiten monia suhteita ja malleja.
Residuaalinen yhteys ja kerrosnormalisointi: Helpottamaan syvän verkon koulutusta ja vähentämään häviävän gradientin ongelmaa, dekooderipohjaiset LLM:t käyttävät residuaalisia yhteyksiä ja kerrosnormalisointitekniikoita. Residuaaliset yhteydet lisäävät kerroksen syötteen sen tulosteeseen, sallien gradienttien virtaamisen helpommin takaisin kulkeutumisprosessin aikana. Kerrosnormalisointi auttaa vakauttamaan aktivaatiot ja gradientit, parantaen koulutuksen vakautta ja suorituskykyä.
Etenevät kerrokset
Lisäksi monihaku-huomio-kerroksista, dekooderipohjaiset LLM:t sisältävät etenevät kerrokset, jotka soveltavat yksinkertaista eteenpäin suuntautuvaa neuroverkkoa kunkin aseman kohdalla jonossa. Nämä kerrokset esittävät epälineaarisuuksia ja sallivat mallin oppia monimutkaisempia esityksiä.
Aktivaatiofunktiot: Aktivaatiofunktion valinta etenevissä kerroksissa voi vaikuttaa merkittävästi mallin suorituskykyyn. Vaikka aikaisemmat LLM:t riippuivat laajasti käytetystä ReLU-aktivaatiosta, uudemmilla malleilla on otettu käyttöön monimutkaisempia aktivaatiofunktioita, kuten Gaussian Error Linear Unit (GELU) tai SwiGLU-aktivaatio, jotka ovat osoittaneet parannettua suorituskykyä.
Harsomaton huomio ja tehokkaat transformerit
Vaikka itsehuomio-mekanismi on voimakas, se tulee toisella puolella kuormittavan laskennan monimutkaisuuden kanssa, joka on suoraan verrannollinen jono-pituuteen, mikä tekee siitä laskennallisesti kalliin pitkille jonoille. Ratkaisemaan tämän haasteen on ehdotettu useita tekniikoita vähentämään itsehuomion laskennallista ja muistivaatimusta, sallien tehokkaan pitkien jonojen prosessoinnin.
Harsomaton huomio: Harsomaton huomio -tekniikat, kuten GPT-3-mallissa käytetty, valitsevat tarkkaavaisesti osan asemista syötteen jonossa, sen sijaan, että lasketaan huomio-pistemäärät kaikille asemille. Tämä voi vähentää laskennallista monimutkaisuutta merkittävästi, säilyttäen kohtuullisen suorituskyvyn.
Liukuvan ikkunan huomio: Esitelty Mistral 7B-mallissa, liukuvan ikkunan huomio (SWA) on yksinkertainen mutta tehokas tekniikka, joka rajoittaa kunkin tokenin huomio-ala kiinteään ikkunaan. Tämä lähestymistapa hyödyntää transformer-kerrosten kykyä siirtää tietoa useiden kerrosten läpi, käytännössä lisäämällä huomio-alaa ilman täyden itsehuomion kvadratiivista monimutkaisuutta.
Rullava puskurivirta: Vähentääkseen muistivaatimuksia, erityisesti pitkille jonoille, Mistral 7B-malli käyttää rullavaa puskurivirtaa. Tämä tekniikka tallentaa ja uudelleen käyttää laskettuja avain- ja arvo-vektoreita kiinteään ikkunaan, välttäen turhia laskelmia ja minimoiden muistin käytön.
Ryhmäkysely-huomio: Esitelty LLaMA 2-mallissa, ryhmäkysely-huomio (GQA) on monihaku-huomio-mekanismin variantti, joka jakaa huomio-päät ryhmiin, joista kullakin on yhteinen avain- ja arvo-matriisi. Tämä lähestymistapa tasapainottaa monihaku-huomion tehokkuuden ja standardin itsehuomion suorituskyvyn, tarjoten parannettua laskentaa ja säilyttäen korkealaatuiset tulokset.
















