LLM Training - Data Preparation
tip
Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Aprenda e pratique Hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Supporte o HackTricks
- Confira os planos de assinatura!
- Junte-se ao 💬 grupo do Discord ou ao grupo do telegram ou siga-nos no Twitter 🐦 @hacktricks_live.
- Compartilhe truques de hacking enviando PRs para o HackTricks e HackTricks Cloud repositórios do github.
Estas são minhas anotações do livro muito recomendado https://www.manning.com/books/build-a-large-language-model-from-scratch com algumas informações extras.
Basic Information
Você deve começar lendo este post para alguns conceitos básicos que você deve conhecer:
{{#ref}} 0.-basic-llm-concepts.md {{#endref}}
1. Tokenization
tip
O objetivo desta fase inicial é muito simples: Dividir a entrada em tokens (ids) de uma maneira que faça sentido.
{{#ref}} 1.-tokenizing.md {{#endref}}
2. Data Sampling
tip
O objetivo desta segunda fase é muito simples: Amostrar os dados de entrada e prepará-los para a fase de treinamento, geralmente separando o conjunto de dados em sentenças de um comprimento específico e gerando também a resposta esperada.
{{#ref}} 2.-data-sampling.md {{#endref}}
3. Token Embeddings
tip
O objetivo desta terceira fase é muito simples: Atribuir a cada um dos tokens anteriores no vocabulário um vetor das dimensões desejadas para treinar o modelo. Cada palavra no vocabulário será um ponto em um espaço de X dimensões.
Note que inicialmente a posição de cada palavra no espaço é apenas inicializada "aleatoriamente" e essas posições são parâmetros treináveis (serão melhorados durante o treinamento).
Além disso, durante a incorporação de tokens outra camada de incorporações é criada que representa (neste caso) a posição absoluta da palavra na sentença de treinamento. Dessa forma, uma palavra em diferentes posições na sentença terá uma representação diferente (significado).
{{#ref}} 3.-token-embeddings.md {{#endref}}
4. Attention Mechanisms
tip
O objetivo desta quarta fase é muito simples: Aplicar alguns mecanismos de atenção. Estas serão muitas camadas repetidas que vão capturar a relação de uma palavra no vocabulário com seus vizinhos na sentença atual sendo usada para treinar o LLM.
Muitas camadas são usadas para isso, então muitos parâmetros treináveis estarão capturando essa informação.
{{#ref}} 4.-attention-mechanisms.md {{#endref}}
5. LLM Architecture
tip
O objetivo desta quinta fase é muito simples: Desenvolver a arquitetura do LLM completo. Juntar tudo, aplicar todas as camadas e criar todas as funções para gerar texto ou transformar texto em IDs e vice-versa.
Esta arquitetura será usada tanto para treinar quanto para prever texto após ter sido treinada.
{{#ref}} 5.-llm-architecture.md {{#endref}}
6. Pre-training & Loading models
tip
O objetivo desta sexta fase é muito simples: Treinar o modelo do zero. Para isso, a arquitetura LLM anterior será usada com alguns loops sobre os conjuntos de dados usando as funções de perda e otimizador definidos para treinar todos os parâmetros do modelo.
{{#ref}} 6.-pre-training-and-loading-models.md {{#endref}}
7.0. LoRA Improvements in fine-tuning
tip
O uso de LoRA reduz muito a computação necessária para ajustar modelos já treinados.
{{#ref}} 7.0.-lora-improvements-in-fine-tuning.md {{#endref}}
7.1. Fine-Tuning for Classification
tip
O objetivo desta seção é mostrar como ajustar um modelo já pré-treinado para que, em vez de gerar novo texto, o LLM selecione e forneça as probabilidades do texto dado ser categorizado em cada uma das categorias dadas (como se um texto é spam ou não).
{{#ref}} 7.1.-fine-tuning-for-classification.md {{#endref}}
7.2. Fine-Tuning to follow instructions
tip
O objetivo desta seção é mostrar como ajustar um modelo já pré-treinado para seguir instruções em vez de apenas gerar texto, por exemplo, respondendo a tarefas como um chatbot.
{{#ref}} 7.2.-fine-tuning-to-follow-instructions.md {{#endref}}
tip
Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Aprenda e pratique Hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Supporte o HackTricks
- Confira os planos de assinatura!
- Junte-se ao 💬 grupo do Discord ou ao grupo do telegram ou siga-nos no Twitter 🐦 @hacktricks_live.
- Compartilhe truques de hacking enviando PRs para o HackTricks e HackTricks Cloud repositórios do github.