LLM Training
Last updated
Last updated
Dit is my notas van die baie aanbevole boek https://www.manning.com/books/build-a-large-language-model-from-scratch met 'n paar ekstra inligting.
Jy moet begin deur hierdie pos te lees vir 'n paar basiese konsepte wat jy moet weet oor:
Die doel van hierdie aanvanklike fase is baie eenvoudig: Verdeel die invoer in tokens (ids) op 'n manier wat sin maak.
Die doel van hierdie tweede fase is baie eenvoudig: Steek die invoerdata en berei dit voor vir die opleidingsfase deur gewoonlik die datastel in sinne van 'n spesifieke lengte te skei en ook die verwagte reaksie te genereer.
Die doel van hierdie derde fase is baie eenvoudig: Ken elkeen van die vorige tokens in die woordeskat 'n vektor van die gewenste dimensies toe om die model te train. Elke woord in die woordeskat sal 'n punt in 'n ruimte van X dimensies wees. Let daarop dat die posisie van elke woord in die ruimte aanvanklik net "ewekansig" geïnitialiseer word en hierdie posisies is leerbare parameters (sal verbeter word tydens die opleiding).
Boonop, tydens die token embedding word 'n ander laag van embeddings geskep wat (in hierdie geval) die absolute posisie van die woord in die opleidingssin verteenwoordig. Op hierdie manier sal 'n woord in verskillende posisies in die sin 'n ander voorstelling (betekenis) hê.
Die doel van hierdie vierde fase is baie eenvoudig: Pas 'n paar aandagmeganismes toe. Hierdie gaan baie herhaalde lae wees wat die verhouding van 'n woord in die woordeskat met sy bure in die huidige sin wat gebruik word om die LLM te train, vasvang. Daar word baie lae hiervoor gebruik, so baie leerbare parameters gaan hierdie inligting vasvang.
Die doel van hierdie vyfde fase is baie eenvoudig: Ontwikkel die argitektuur van die volle LLM. Sit alles saam, pas al die lae toe en skep al die funksies om teks te genereer of teks na IDs en terug te transformeer.
Hierdie argitektuur sal vir beide, opleiding en voorspellings van teks gebruik word nadat dit opgelei is.
Die doel van hierdie sesde fase is baie eenvoudig: Train die model van nuuts af. Hiervoor sal die vorige LLM-argitektuur gebruik word met 'n paar lusse wat oor die datastelle gaan met behulp van die gedefinieerde verliesfunksies en optimizer om al die parameters van die model te train.
Die gebruik van LoRA verminder baie die berekening wat nodig is om fyn te stel reeds opgelei modelle.
Die doel van hierdie afdeling is om te wys hoe om 'n reeds vooraf opgelei model fyn te stel sodat in plaas daarvan om nuwe teks te genereer, die LLM die waarskynlikhede van die gegewe teks om in elkeen van die gegewe kategorieë gekategoriseer te word (soos of 'n teks spam is of nie) sal kies.
Die doel van hierdie afdeling is om te wys hoe om 'n reeds vooraf opgelei model fyn te stel om instruksies te volg eerder as net teks te genereer, byvoorbeeld, om op take te reageer as 'n chat bot.