Hizkuntza-eredu handi

**Hizkuntza-eredu handiak** (**HEH** edo **LLM**, ) milaka miloi parametro dituzten sare neuronaletan (gehienbat transformer-ak) oinarritutako hizkuntza-ereduak dira, oro har, hizkuntza-ulermena eta sormena lortzeko duten gaitasunagatik ezagunak. Gaitasun hauek eskuratzeko, entrenamenduan datu-kopuru erraldoiak eta ikasketa-teknika ezberdinak erabiltzen dituzte.[thumb|380x380px|**Hizkuntza eredu handiak** entrenatzeko erabiltzen den konputazio-lanaren gorakada azkarra. HEH itxi onenen entrenamendu-kostuak eredu irekiko onenen entrenamendu-kostuak baino askoz ere handiagoak dirudite. GPT-4 eta antzeko ereduen entrenamendu-kostua ez da publikoki ezagutzen; beraz, estimazio bat baino ez da. Datuak *Epoch*-enak dira 2023an, eta grafikoa [Stanford Unibertsitatea|Stanfordeko Unibertsitateko *AI index*-ekoa da 2024an.]]
Hizkuntza-eredu autorregresibo gisa, sarrerako testu bat hartu eta hurrengo token edo hitza zein izan daitekeen aurreikusten dute, behin eta berriz.

Esaldi batean hurrengo hitza iragartzea bezalako zeregin sinpleetan trebatuta egon arren, horrekin batera giza hizkuntzaren sintaxiaren eta semantikaren zati handi bat ikasteko gaitasuna ere lortzen dute. Gainera, **hizkuntza-eredu handiek** munduari buruzko ezagutza orokorra ere badutela erakusten dute, eta entrenamenduan zehar gertaera ugariri buruz ikasteko gai direla. Hala ere, entrenamendua corpuseko testuaren gainean egiten denez, horrenganako menpekotasun handia dute gero, hau da, corpuseko testuak dituen zehaztasun-ezak eta alborapenak heredatzen dituzte.

Adibide aipagarriak dira OpenAIren GPT ereduak (adibidez, GPT-3.5 eta GPT-4, ChatGPT txatbotean erabiltzen direnak), Google-ren PaLM (Bard-en erabilia) eta Meta-ren LLaMa, baita BLOOM, Ernie 3.0 Titan eta Anthropic-en Claude 3 ere.

2024ko Informatikari Euskaldunen Bilkuraren barruan  sei hizkuntza-eredu handi jarri zuten lehian euskarazko elkarrizketetan. Helburua EHUko Hitz zentroan garatzen den Latxa eredua «sistema komertzial hoberenen kontra» lehian jartzea izan zen, eta horra ondorioetako bat: GPT-4o eredu ezagunaren parean geratu zen ia. Dema horretan ikusi zen euskaraz «hobekien» zekien sistema Claude Sonnet 3.5 sistema komertziala zela,  bigarren GPT-4o sistema geratu zen, eta haren «ia parean» geratu zen Latxa. Beherago geratu zen Gemini Flash 1.5, eta «askoz beherago» Command R+ eta LLama 3.1. Azken hori Latxa eredu berriaren «oinarria» da.
Fitxategi:ChatGPT logo.svg|ChatGPT
Fitxategi:Claude AI logo.svg|Claude
Fitxategi:Google Gemini logo.svg|Gemini
Fitxategi:Latxa logotipoa.jpg|Latxa
Fitxategi:Perplexity AI logo.svg|Perplexity AI

## Propietateak 
### Aurre entrenamendu datu multzoak 
**HEHak** testu-datu multzo handietan aldez aurretik trebatzen dira. Gehien erabiltzen diren testu-datu multzo batzuk Common Crawl, The Pile, MassiveText,​ Wikipedia eta GitHub dira. Datu multzoek 15.000.000 milioi hitz arteko tamaina heldu ziren 2024an. Baliabide urri dituen hizkuntza izanik, euskarazko testu-corpus handienen tamaina milaka aldiz txikiago izaten da; esate baterako EusCrawl corpusa (288 milioi hitz).  Hala ere bada berri on bat, euskarazko corpus ·txiki horiek" ingelesezko corpus itzel batekin batera entrenatuz gero, lortzen den eredua gauza da euskaraz modu duinean egiteko eta gauza da ingelesezko corpus handiaren ezagutza orokorra euskaraz erabiltzeko ere. Horrela, HiTZ zentroak 2024ko urtarrilean garatu zuen Latxa ereduan LLaMA 2 ereduko corpusa (2 bilioi hitz) erabili zuten eta euskarazko EusCrawl corpusa (288 milioi hitz, 6 mila aldiz txikiagoa) gehitu zioten.

Bestalde, izugarria da ikustea zelan hazten diren testu-corpusen tamaina. Esate baterako, lehen aipatutako LLaMA 2 ereduko corpusak 2 bilioi hitz zeuzkan 2023ko uztailean, eta urtebete geroago, 2024ko uztailean, LLaMA 3 eredu berriko corpusak 15,7 bilioi hitz zeuzkan. Urtebeteko epean entrenamendu-corpusaren tamaina ia zortzi aldiz handiagoa zen. Noski, HiTZ Zentroak corpus libre handiago hori erabili du Latxaren bertsio hobe bat sortzeko.

### Aluzinazioak 
HEH-sortzaileek beren aurre-entrenamendu datuek justifikatzen ez duten egiazko aldarrikapenak ziurtasunez baieztatzen dituztela ikusi da, "aluzinazioa" deitu izan den fenomenoa da hori.

## Arkitektura 
Hizkuntza-eredu handiek transformer izeneko arkitektura erabili dute gehienbat, 2018az geroztik, datu sekuentzialetarako ikaskuntza sakoneko teknika estandarra bihurtu da (lehen, LSTM bezalako arkitektura errepikakorrak ziren ohikoenak).

### Tokenizazioa 
HEHak funtzio matematikoak dira, eta hauen sarrera eta irteera zenbakien zerrendak dira. Ondorioz, hitzak zenbaki bihurtu behar dira.

Orokorrean, HEH batek tokenizatzaile bat erabiltzen du. Tokenizatzailea testuen eta zenbaki osoen zerrenden arteko mapak egiten dituen funtzio bijektibo bat da. Tokenizatzailea normalean aurreentrenamentu-datu multzo osora egokitzen da eta gero izoztu egiten da HEHa entrenatu aurretik. Aukera arrunt bat byte bikoteen kodeketa da.

Tokenizatzaileen beste ezaugarri bat testu-konpresioa da, eta horrek konputazioa aurrezten du. "Non dago" bezalako hitz edo esaldi arruntak token batean kodetu daitezke, 7 karaktere izan beharrean. OpenAI GPT-ek tokenizer bat erabiltzen dute, eta token bat 4 karaktere ingururekin osatzen da, edo 0,75 hitz ingururekin, ingelesezko testu arruntean.  Ingelesezko testu ezohikoa ezin da hain erraz aurreikusi, beraz, gutxiago konprimitu ahalko da, beraz, token gehiago behar ditu kodetzeko.

Tokenizatzaile batek ezin ditu zenbaki oso arbitrarioak sortu. Normalean \{0, 1, 2, ..., V-1\} barneko zenbaki osoak soilik ateratzen dituzte, V hiztegiaren tamainari deritzo.

Tokenizatzaile batzuk testu arbitrarioak kudeatzeko gai dira (normalean Unicode-n zuzenean funtzionatuz), baina beste batzuk ez. Kodetzerik gabeko testua topatzen denean, tokenizagailu batek "testu ezezaguna" adierazten duen token berezi bat sortuko luke (askotan 0). Hau [UNK] bezala idatzi ohi da, BERT dokumentuan bezala.

Askotan erabiltzen den beste token berezi bat [PAD] da, "betegarria" egiteko. Hau erabiltzen da normalean HEHak aldi berean testu-loteetan erabiltzen direlako, eta testu horiek ez dira luzera berdinean kodetzen. HEHek, oro har, sarrera zerrenda ez-irregularra izatea eskatzen dutenez, kodetutako testu laburragoak bete behar dira luzeagoaren luzerarekin bat etorri arte.

### Irteera 
HEH baten irteera bere hiztegiaren gaineko probabilitate banaketa da. Hau normalean honela ezartzen da:

* Testu bat jasotzean, HEH gehienak bektore bat sortzen du y\in \R^V non V bere hiztegiaren tamaina den.
* y bektorea softmax funtzio batetik pasatzen da softmax(y)) lortzeko.

Prozesuan, y bektoreari logit bektore ez normalizatua deitzen zaio, eta softmax(y) bektoreari probabilitate-bektorea. softmax(y) bektoreak V sarrera dituenez, guztiak ez-negatiboak, eta 1era batuta, \{0, 1, 2, ..., V-1\} probabilitate-banaketa gisa interpreta dezakegu, hau da, probabilitate banaketa bat da HEHaren hiztegian.

## Entrenamendua 
HEH gehienak aurre-entrenamendu generatiboa erabiliz entrenatzen dira, hau da, testu-token prestakuntza-datu multzo bat emanda, ereduak datu-multzoko tokenak aurreikusten ditu. Bi aurre-entrenamendu generatibo estilo orokor daude:

* Autorregresiboa: "Izokia jatea" bezalako testu-segmentu bat emanda, ereduak hurrengo tokenak aurreikusten ditu, "gustatzen zait" adibidez.
* Maskaratua: "Txokolatezko [MASKARA] [MASKARA] gustatzen zait" bezalako testu-segmentu bat emanda, ereduak maskaratutako tokenak aurreikusten ditu, adibidez "izozkia jatea".

HEHak datuen banaketaren ulermena erakusten duten bestelako zereginetan entrenatu daitezke.

Normalean, HEHak galera-funtzio zehatz bat minimizatzeko entrenatzen dira: token bakoitzeko batez besteko log probabilitate negatiboa (entropia gurutzatua ere deitzen zaio) adibidez. Eredu autorregresibo batek, "Izozkia jatea gustatzen" emanda, probabilitate-banaketa bat aurreikusten badu Pr( \cdot | \text{Izozkia jatea gustatzen}) orduan token honen log probabilitate negatiboa -\log Pr( \text{zait } | \text{Izozkia jatea gustatzen})  izango da.

Entrenamenduan zehar, erregularizazio-galera ere erabiltzen da entrenamendua egonkortzeko. Hala ere, erregularizazio-galera hau ez da proba eta ebaluazioan erabiltzen. Ebaluazio-irizpide gehiago ere badaude entropia gurutzatutik haratago.

HEHak milaka milioi hitzen dimentsioa duten corpus linguistikoetan eratzen dira.

GPT-1, OpenAI-ren aurreentrenatutako lehen transformer-eredua, 2018an BookCorpus-en entrenatu zen, hau 985 milioi hitzez osatzen da. Urte berean, BERT BookCorpus eta ingelesezko wikipediaren konbinazio batean entrenatu zen, 3.300 milioi hitz guztira.Harrezkero, HEHrako prestakuntza-corpusak handitu egin dira, eta billoi bat tokenetara iritsi dira.

### Entrenamendu kostua 
HEHak konputazionalki oso garestiak dira entrenatzereko garaian. 2020ko ikerketa batek 1.500 milioi parametroko eredua entrenatzearen kostua 1.6 milioi dolarrekoa dela kalkulatu zuen. Softwarearen eta hardwarearen aurrerapenek kostua nabarmen murriztu dute, 2023ko paper batean aurreikusi zen 72.300 orduko A100-GPU kostua duela 12.000 milioi parametro-eredu bat entrenatzeko. Kalkulatzen da GPT-3 bat behin bakarrik entrenatzea, 175.000 milioi parametrorekin, 4,6 milioi dolar behar direla.Horretarako RTX 8000 bakar batek 665 urte beharko lituzke bukatzeko.

Transformerretan oinarritutako HEHetarako, parametro bakoitzeko 6 FLOP kostatzen da token batean entrenatzea. Kontuan izan behar da prestakuntza-kostua inferentzia-kostua baino askoz handiagoa dela, non parametro bakoitzeko 1 eta 2 FLOP artean kostatzen den token batean ondorioztatzeko.

Ingurumen kostuari dagokionez, HEH baten entrenamenduak kostu energetikoa oso altua du. Eredu bat entrenatzeak bidaiari batek New York-etik San Frantziskorako hegaldi batean bezainbesteko karbono-isuria egiten da.​ GPT-3-ren kasuan, kalkulatzen da 1.200 MWh konsumitzen dela, 500 tona CO2 isuri baino gehiago sortuz. Kostu horiek areagotu egiten dira ereduek parametro gehiago dituezten heinean. Prestakuntza-ziklo bakoitzak ehunka edo milaka CPU eta GPUren dedikazio esklusiboa eskatzen du, hauek karga konputazional handia onartzen dute, datu kopuru handiak gordetzeaz eta mugitzeaz gain. Horrek guztiak energia-kontsumo handia eragiten du, eta bero kantitate handiak sortzen ditu.

Kostu horiek murrizteko, irtenbide posible bat eredu txikiagoak erabiltzea da. Hauek eredu handi baten antzera funtziona dezaket, eta 100 dolar inguruko kostua dute entrenatzean. Eredu txiki baten adibidea Alpaca eredua da, Stanfordeko Unibertsitateko ikertzaileek Meta AI-ren LLaMA izeneko ereduan garatua. Hau nahikoa arina da eta mahaigaineko ordenagailu batean exekuta daiteke.

## Ondorengo zereginetarako aplikazioa (downstream tasks) 
2018 eta 2020 artean, hizkuntza naturalaren prozesatzeko (NLP) HEH bat prestatzeko metodo estandarra ataza zehatz baterako eredua doitzea izan zen, zeregin espezifikoko prestakuntza osagarri batekin. Ondoren, aurkitu zen HEH indartsuagoek, GPT-3 adibidez, zereginak prestakuntza gehigarririk gabe ebatzi ditzaketela "prompting" tekniken bidez, zeinetan konpondu beharreko arazoa testu-mezu gisa aurkezten zaiola ereduari, agian testu-adibide batzuekin, antzeko arazoak eta haien konponbideak emanez.

### Fine-tuning 
Fine-tuning aldez aurretik trebatutako hizkuntza-eredu bat aldatzeko praktika da (modu gainbegiratuan) zeregin zehatz batean trebatuz (adibidez, sentimenduen analisian, entitate izendapenaren errekonozimendua edo gramatika etiketatzea). Ikaskuntza transferitzeko modu bat da. Normalean, hizkuntza-ereduaren azken geruza nahi den zereginaren emaitzekin lotzen duten pisu multzo berri bat sartzeaz oinarritzen da. Hizkuntza-ereduaren jatorrizko pisuak "izoztu" daitezke, eta, beraz, irteerarekin lotzen dituen pisu-geruza berria bakarrik ikasten da entrenamenduan. Jatorrizko pisuen eguneratze txikiak eginez ere lortzen da.

## Ebaluazioa 
### Perplexitatea 
Hizkuntza-eredu baten errendimenduaren neurririk erabiliena testu-corpus jakin batean duen perplexitatea da. Perplexitatea eredu batek datu-multzo baten edukia zenbateraino iragar dezakeen neurtzen du; ereduak datu multzoa iragartzen duenaren probabilitatea zenbat eta handiago, orduan eta perplexitate txikiagoa izango du. Matematikoki, perplexitatea token bakoitzeko batez besteko log probabilitate negatiboaren esponentzial gisa definitzen da: \log(\text{Perplexity}) = -\frac{1}{N} \sum_{i=1}^N \log(Pr(\text{token}_i | \text{context for token}_i)) hemen N 
testu-corpuseko token kopurua da, eta "i tokenaren testuingurua" erabilitako HEH motaren araberakoa da. HEH autorregresiboa bada, "i tokenaren testuingurua" i tokenaren aurretik agertzen den testu-segmentua da. HEHa maskaratuta badago, "i tokenaren testuingurua" i tokenaren inguruko testu-segmentua da.

Hizkuntza-ereduak beren prestakuntza-datuetara gehiegi moldatu daitezkeenez, ereduak normalean ikusten ez diren datuen proba-multzo batean perplexitatearen arabera ebaluatzen dira. Horrek erronka bereziak ditu hizkuntza eredu handiak ebaluatzeko.

## Hizkuntza-eredu handien zerrenda 
Prestakuntza-kostuen zutaberako, 1 petaFLOP-egun = 1 petaFLOP/sec × 1 egun = 8,64E19 FLOP. Gainera, modeloaren handienaren kostua bakarrik dago idatzita.

## Erreferentziak 
## Ikus, gainera 
* ChatGPT
* Claude
* Gemini
* Perplexity AI
* Latxa
* Laguntzaile birtuala

## Kanpo estekak 
* Leturia Azkarate, Igor. Adimen artifizial sortzailearen booma (Zientzia.eus, 2023)