Kunsmatige Intelligensie
Dekodeerder-gebaseerde groot taalmodelle: 'n Volledige gids
Groot taalmodelle (LLM's) het 'n rewolusie in die veld van natuurlike taalverwerking (NLP) gemaak deur merkwaardige vermoëns te demonstreer in die generering van mensagtige teks, die beantwoording van vrae en bystand met 'n wye reeks taalverwante take. Die kern van hierdie kragtige modelle lê die net-dekodeerder-transformator-argitektuur, 'n variant van die oorspronklike transformator-argitektuur wat in die seminale referaat voorgestel is "Aandag is al wat jy nodig het” deur Vaswani et al.
In hierdie omvattende gids sal ons die innerlike werking van dekodeerder-gebaseerde LLM's ondersoek, en delf in die fundamentele boustene, argitektoniese innovasies en implementeringsbesonderhede wat hierdie modelle na die voorpunt van NLP-navorsing en -toepassings gedryf het.
Die Transformer-argitektuur: 'n Opknapper
Voordat jy in die besonderhede van dekodeerder-gebaseerde LLM's duik, is dit noodsaaklik om die transformator-argitektuur, die fondament waarop hierdie modelle gebou is, te hersien. Die transformator het 'n nuwe benadering tot volgordemodellering bekendgestel, wat uitsluitlik staatmaak op aandagmeganismes om langafstandafhanklikhede in die data vas te vang, sonder die behoefte aan herhalende of konvolusionele lae.
Die oorspronklike transformatorargitektuur bestaan uit twee hoofkomponente: 'n enkodeerder en 'n dekodeerder. Die enkodeerder verwerk die invoerreeks en genereer 'n gekontekstualiseerde voorstelling, wat dan deur die dekodeerder verbruik word om die uitvoerreeks te produseer. Hierdie argitektuur is aanvanklik ontwerp vir masjienvertaaltake, waar die enkodeerder die invoersin in die brontaal verwerk, en die dekodeerder die ooreenstemmende sin in die doeltaal genereer.
Selfaandag: Die sleutel tot Transformer se sukses
In die hart van die transformator lê die selfaandagmeganisme, 'n kragtige tegniek wat die model toelaat om inligting van verskillende posisies in die invoerreeks te weeg en saam te voeg. Anders as tradisionele volgordemodelle, wat insettekens opeenvolgend verwerk, stel selfaandag die model in staat om afhanklikhede tussen enige paar tekens vas te vang, ongeag hul posisie in die ry.
Die selfaandag-operasie kan in drie hoofstappe opgedeel word:
- Navraag-, sleutel- en waardeprojeksies: Die invoervolgorde word in drie afsonderlike voorstellings geprojekteer: navrae (V), sleutels (K), en waardes (V). Hierdie projeksies word verkry deur die insette te vermenigvuldig met aangeleerde gewigsmatrikse.
- Aandagtelling Berekening: Vir elke posisie in die invoervolgorde word aandagtellings bereken deur die puntproduk tussen die ooreenstemmende navraagvektor en alle sleutelvektore te neem. Hierdie tellings verteenwoordig die relevansie van elke posisie tot die huidige posisie wat verwerk word.
- Geweegde Som van Waardes: Die aandagtellings word genormaliseer deur 'n softmax-funksie te gebruik, en die gevolglike aandaggewigte word gebruik om 'n geweegde som van die waardevektore te bereken, wat die uitsetvoorstelling vir die huidige posisie produseer.
Multi-kop aandag, 'n variant van die self-aandag meganisme, laat die model toe om verskillende tipes verhoudings vas te vang deur aandag tellings te bereken oor verskeie "koppe” parallel, elk met sy eie stel navraag-, sleutel- en waardeprojeksies.
Argitektoniese variante en konfigurasies
Terwyl die kernbeginsels van dekodeerder-gebaseerde LLM's konsekwent bly, het navorsers verskeie argitektoniese variante en konfigurasies ondersoek om werkverrigting, doeltreffendheid en veralgemeningsvermoëns te verbeter. In hierdie afdeling sal ons in die verskillende argitektoniese keuses en hul implikasies delf.
Argitektuur Tipes
Dekodeerder-gebaseerde LLM'e kan breedweg in drie hooftipes geklassifiseer word: enkodeerder-dekodeerder, kousale dekodeerder en voorvoegseldekodeerder. Elke argitektuurtipe vertoon duidelike aandagpatrone.
Encoder-Decoder Argitektuur
Gebaseer op die vanielje-transformator-model, bestaan die enkodeerder-dekodeerder-argitektuur uit twee stapels: 'n enkodeerder en 'n dekodeerder. Die enkodeerder gebruik gestapelde multi-kop self-aandag lae om die invoer volgorde te enkodeer en latente voorstellings te genereer. Die dekodeerder voer dan kruisaandag op hierdie voorstellings uit om die teikenvolgorde te genereer. Alhoewel effektief in verskeie NLP-take, min LLM's, soos Flan-T5, neem hierdie argitektuur aan.
Oorsaaklike dekodeerderargitektuur
Die oorsaaklike dekodeerder-argitektuur bevat 'n eenrigting-aandagmasker, wat toelaat dat elke invoerteken slegs aandag gee aan vorige tekens en homself. Beide toevoer- en uitsettekens word binne dieselfde dekodeerder verwerk. Opvallende modelle soos GPT-1, GPT-2 en GPT-3 is gebou op hierdie argitektuur, met GPT-3 wat merkwaardige in-konteks leervermoëns ten toon stel. Baie LLM's, insluitend OPT, BLOOM en Gopher, het wyd oorsaaklike dekodeerders aangeneem.
Voorvoegsel Dekodeerder Argitektuur
Ook bekend as die nie-oorsaaklike dekodeerder, verander die voorvoegsel-dekodeerder-argitektuur die maskeringsmeganisme van oorsaaklike dekodeerders om tweerigtingaandag bo voorvoegseltekens en eenrigtingaandag op gegenereerde tekens moontlik te maak. Soos die enkodeerder-dekodeerder-argitektuur, kan voorvoegseldekodeerders die voorvoegselvolgorde tweerigting enkodeer en uitsettekens outoregressief voorspel deur gedeelde parameters te gebruik. LLM's gebaseer op voorvoegseldekodeerders sluit in GLM130B en U-PaLM.
Al drie argitektuurtipes kan uitgebrei word met behulp van die mengsel van kundiges (MoE) skaaltegniek, wat yl 'n subset van neurale netwerkgewigte vir elke inset aktiveer. Hierdie benadering is gebruik in modelle soos Switch Transformer en GLaM, met die verhoging van die aantal kundiges of totale parametergrootte wat aansienlike prestasieverbeterings toon.
Dekodeerder-enigste transformator: omhels die outoregressiewe natuur
Terwyl die oorspronklike transformator-argitektuur ontwerp is vir volgorde-tot-volgorde-take soos masjienvertaling, kan baie NLP-take, soos taalmodellering en teksgenerering, omraam word as outoregressiewe probleme, waar die model een teken op 'n slag genereer, gekondisioneer op die voorheen gegenereerde tokens.
Voer die net-dekodeerder-transformator in, 'n vereenvoudigde variant van die transformator-argitektuur wat slegs die dekodeerderkomponent behou. Hierdie argitektuur is veral geskik vir outoregressiewe take, aangesien dit uitsettekens een vir een genereer, wat die voorheen gegenereerde tokens as invoerkonteks gebruik.
Die belangrikste verskil tussen die net-dekodeerder-transformator en die oorspronklike transformator-dekodeerder lê in die self-aandagmeganisme. In die slegs-dekodeerder-instelling word die self-aandag-bewerking gewysig om te verhoed dat die model aandag gee aan toekomstige tekens, 'n eienskap wat bekend staan as oorsaaklikheid. Dit word bereik deur 'n tegniek genaamd "gemaskerde selfaandag", waar aandagtellings wat ooreenstem met toekomstige posisies op negatiewe oneindigheid gestel word, wat dit effektief masker tydens die softmax-normaliseringstap.
Argitektoniese komponente van dekodeerder-gebaseerde LLM's
Terwyl die kernbeginsels van selfaandag en gemaskerde selfaandag dieselfde bly, het moderne dekodeerder-gebaseerde LLM's verskeie argitektoniese innovasies ingestel om werkverrigting, doeltreffendheid en veralgemeningsvermoëns te verbeter. Kom ons ondersoek sommige van die sleutelkomponente en tegnieke wat in die nuutste LLM's gebruik word.
Insette verteenwoordiging
Voordat die invoervolgorde verwerk word, gebruik dekodeerder-gebaseerde LLM's tokenisering en inbeddingstegnieke om die rou teks om te skakel in 'n numeriese voorstelling wat geskik is vir die model.
Tokenization: Die tokeniseringsproses omskep die invoerteks in 'n reeks tekens, wat woorde, subwoorde of selfs individuele karakters kan wees, afhangende van die tokeniseringstrategie wat gebruik word. Gewilde tokeniseringstegnieke vir LLM's sluit in Byte-Pair Encoding (BPE), SentencePiece en WordPiece. Hierdie metodes het ten doel om 'n balans tussen woordeskatgrootte en representasie-granulariteit te bewerkstellig, wat die model in staat stel om seldsame woorde of woorde wat buite die woordeskat is, effektief te hanteer.
Tekeninbeddings: Na tokenisering word elke teken gekarteer na 'n digte vektorvoorstelling wat 'n tekeninbedding genoem word. Hierdie inbeddings word tydens die opleidingsproses aangeleer en vang semantiese en sintaktiese verwantskappe tussen tekens vas.
Posisionele inbeddings: Transformatormodelle verwerk die hele invoervolgorde gelyktydig, sonder die inherente idee van tokenposisies wat in herhalende modelle teenwoordig is. Om posisionele inligting in te sluit, word posisionele inbeddings by die tekeninbeddings gevoeg, wat die model toelaat om te onderskei tussen tekens op grond van hul posisies in die ry. Vroeë LLM's het vaste posisionele inbeddings gebruik gebaseer op sinusvormige funksies, terwyl meer onlangse modelle leerbare posisionele inbeddings of alternatiewe posisionele enkoderingstegnieke soos roterende posisionele inbeddings ondersoek het.
Veelkoppige aandagblokkies
Die kernboublokke van dekodeerder-gebaseerde LLM's is multi-kop aandag lae, wat die gemaskerde self-aandag bewerking uitvoer wat vroeër beskryf is. Hierdie lae word verskeie kere gestapel, met elke laag wat aandag gee aan die uitvoer van die vorige laag, wat die model in staat stel om toenemend komplekse afhanklikhede en voorstellings vas te vang.
Aandagkoppe: Elke veelkoppige aandaglaag bestaan uit veelvuldige "aandagkoppe," elk met sy eie stel navraag-, sleutel- en waardeprojeksies. Dit laat die model toe om gelyktydig aandag te gee aan verskillende aspekte van die insette, wat diverse verhoudings en patrone vasvang.
Residuele verbindings en laagnormalisering: Om die opleiding van diep netwerke te fasiliteer en die verdwynende gradiëntprobleem te versag, gebruik dekodeerder-gebaseerde LLM's residuele verbindings en laagnormaliseringstegnieke. Residuele verbindings voeg die insette van 'n laag by sy uitset, wat gradiënte makliker laat vloei tydens terugpropagasie. Laagnormalisering help om die aktiverings en gradiënte te stabiliseer, wat opleidingstabiliteit en prestasie verder verbeter.
Voer-voorwaartse lae
Benewens multi-kop aandag lae, inkorporeer dekodeerder-gebaseerde LLM's aanvoer-lae, wat 'n eenvoudige toevoer-voorwaartse neurale netwerk op elke posisie in die volgorde toepas. Hierdie lae stel nie-lineariteite bekend en stel die model in staat om meer komplekse voorstellings te leer.
Aktiveringsfunksies: Die keuse van aktiveringsfunksie in die aanvoerlae kan die model se werkverrigting aansienlik beïnvloed. Terwyl vroeëre LLM's staatgemaak het op die wyd gebruikte ReLU-aktivering, het meer onlangse modelle meer gesofistikeerde aktiveringsfunksies aangeneem soos die Gaussian Error Linear Unit (GELU) of die SwiGLU-aktivering, wat verbeterde werkverrigting getoon het.
Skaars aandag en doeltreffende transformators
Terwyl die self-aandagmeganisme kragtig is, kom dit met 'n kwadratiese berekeningskompleksiteit met betrekking tot die rylengte, wat dit rekenkundig duur maak vir lang reekse. Om hierdie uitdaging aan te spreek, is verskeie tegnieke voorgestel om die berekenings- en geheuevereistes van selfaandag te verminder, wat doeltreffende verwerking van langer rye moontlik maak.
Skaars Aandag: Skaars aandagtegnieke, soos die een wat in die GPT-3-model gebruik word, gee selektief aandag aan 'n subset van posisies in die invoerreeks, eerder as om aandagtellings vir alle posisies te bereken. Dit kan die berekeningskompleksiteit aansienlik verminder terwyl redelike prestasie gehandhaaf word.
Skuifvenster Aandag: In die Mistral 7B-model bekendgestel, is skuifvenster-aandag (SWA) 'n eenvoudige dog effektiewe tegniek wat die aandagspan van elke teken tot 'n vaste venstergrootte beperk. Hierdie benadering benut die vermoë van transformatorlae om inligting oor veelvuldige lae oor te dra, wat die aandagspan effektief vergroot sonder die kwadratiese kompleksiteit van volle selfaandag.
Rolling Buffer Cache: Om geheuevereistes verder te verminder, veral vir lang reekse, gebruik die Mistral 7B-model 'n rollende bufferkas. Hierdie tegniek stoor en hergebruik die berekende sleutel- en waardevektore vir 'n vaste venstergrootte, wat oortollige berekeninge vermy en geheuegebruik tot die minimum beperk.
Gegroepeerde navraag aandag: In die LLaMA 2-model bekendgestel, is gegroepeerde navraag aandag (GQA) 'n variant van die multi-navraag aandag meganisme wat aandag koppe verdeel in groepe, elke groep deel 'n gemeenskaplike sleutel en waarde matriks. Hierdie benadering vind 'n balans tussen die doeltreffendheid van multinavrae-aandag en die prestasie van standaard selfaandag, wat verbeterde afleidingstye bied terwyl hoë kwaliteit resultate gehandhaaf word.