LLM Training

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.

Basic Information

Jy moet begin deur hierdie pos te lees vir 'n paar basiese konsepte wat jy moet weet oor:

0. Basic LLM Concepts

1. Tokenization

Die doel van hierdie aanvanklike fase is baie eenvoudig: Verdeel die invoer in tokens (ids) op 'n manier wat sin maak.

1. Tokenizing

2. Data Sampling

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.

https://github.com/HackTricks-wiki/hacktricks/blob/af/todo/llm-training-data-preparation/2.-data-sampling.md

3. Token Embeddings

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" geinitialiseer 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ê.

3. Token Embeddings

4. Attention Mechanisms

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.

4. Attention Mechanisms

5. LLM Architecture

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.

5. LLM Architecture

6. Pre-training & Loading models

Die doel van hierdie sesde fase is baie eenvoudig: Oplei 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 op te lei.

https://github.com/HackTricks-wiki/hacktricks/blob/af/todo/llm-training-data-preparation/6.-pre-training-and-loading-models.md

7.0. LoRA Improvements in fine-tuning

Die gebruik van LoRA verminder baie die berekening wat nodig is om fine tune reeds opgelei modelle.

7.0. LoRA Improvements in fine-tuning

7.1. Fine-Tuning for Classification

Die doel van hierdie afdeling is om te wys hoe om 'n reeds vooropgeleide model te fine-tune 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 gee.

https://github.com/HackTricks-wiki/hacktricks/blob/af/todo/llm-training-data-preparation/7.1.-fine-tuning-for-classification.md

7.2. Fine-Tuning to follow instructions

Die doel van hierdie afdeling is om te wys hoe om 'n reeds vooropgeleide model te fine-tune om instruksies te volg eerder as net teks te genereer, byvoorbeeld, om op take te reageer as 'n chat bot.

7.2. Fine-Tuning to follow instructions

Last updated