English· Español· Deutsch· Nederlands· Français· 日本語· ქართული· 繁體中文· 简体中文· Português· Русский· العربية· हिन्दी· Italiano· 한국어· Polski· Svenska· Türkçe· Українська· Tiếng Việt· Bahasa Indonesia

un

visitante
1 / ?

O Que um Modelo de Linguagem Prevé

Um Motor de Continuação Probabilística

Um modelo de linguagem recebe uma sequência de tokens & atribui uma distribuição de probabilidade sobre qual token vem em seguida. Alimente-o com the cat sat on the & ele gera probabilidades em todo o vocabulário: alta massa em mat, floor, couch; baixa massa em xylophone, Tuesday.


Amostrando essa distribuição, anexando um token, & alimentando de volta: esse loop gera texto um token por vez. Geração autoregressiva, nomeada porque cada passo regride sobre sua própria saída anterior.


Três Números Definem um Modelo de Linguagem


Tamanho do vocabulário (V). Quantos tokens distintos um modelo pode produzir. ANDREA-12M usou 4.353 tokens; ANDREA-120M usa 8.449.


Janela de contexto (T). Quantos tokens cabem em uma passada forward. Modelos ANDREA usam T = 1.024.


Contagem de parâmetros (P). Quantos pesos aprendidos vivem dentro. 12M, 120M e 480M nomeiam uma família por P.


Uma Família de Três


Varianted_modelCabeçasCamadasContextoParâms
ANDREA-12M384126102412.8M
ANDREA-120M76812121024~120M
ANDREA-480M153624161024~480M

Três knobs de escala: d_model (largura de cada vetor interno), n_layer (profundidade dos blocos transformer empilhados), n_head (projeções de atenção paralelas). Vocabulário & contexto permanecem fixos na família.

Lendo a Tabela da Família

Compare ANDREA-12M (d_model=384, 6 camadas, 12 cabeças) contra ANDREA-120M (d_model=768, 12 camadas, 12 cabeças). Nomeie dois eixos arquiteturais que escalam de 12M para 120M, & um que permanece constante. Uma razão de uma frase para cada escolha de escalonamento ajuda.

Por Que o Pequeno Importa

Restrição como Libertação

Modelos de linguagem grandes com centenas de bilhões de parâmetros exigem milhares de GPUs, conjuntos de dados proprietários e orçamentos corporativos. Poucas pessoas conseguem treinar um. Poucas pessoas conseguem reparar um.


Um pequeno modelo de linguagem em uma única GPU inverte isso. Qualquer pessoa com uma 4090 (ou uma 3060) pode reproduzir ANDREA a partir de dados abertos. A receita de treinamento serve também como cartão do modelo. Código aberto, pesos abertos, dados abertos; proveniência completa em 72 horas de computação.


Capacidade vs Qualidade

Modelos menores não conseguem memorizar seu corpus de treinamento. ANDREA-12M, com 12,8M parâmetros, não tem capacidade para armazenar conteúdo factual; ele aprende estrutura de turnos, distribuição de vocabulário e forma de resposta. ANDREA-120M, com capacidade 10× maior, aprende recall factual, coerência multi-parágrafo e amplitude de domínio (verificado por avaliação externa com nota 9,5/10 em amostras de biologia e processamento de sinais).


A lição principal: a capacidade define um teto. O currículo decide se o teto é atingido. As Atividades 14-23 cobrem o currículo. [TITLE decoder_only/]

Três Sabores de Transformer

Encoder, Decoder, Ambos

O Transformer original (Vaswani et al., 2017) trouxe um encoder & um decoder, colados juntos para tradução. Três linhagens arquiteturais descendem desse paper:


Apenas Encoder (linhagem BERT). Atenção bidirecional, sem máscara causal. Otimizado para classificação, não geração. Um token vê tanto seu passado quanto seu futuro durante o treinamento.


Encoder-decoder (T5, BART). O encoder lê a entrada; o decoder gera a saída, atendendo ao encoder via cross-attention. Usado para tradução, sumarização.


Decoder-only (GPT, ANDREA). Máscara causal: cada token vê apenas seu passado. Treinado para prever o próximo token. Geração é gratuita; treinamento & inferência compartilham o mesmo forward pass.


Por que Decoder-Only Vence em Uma GPU

Três razões:


1. Objetivo único. Previsão do próximo token funciona em qualquer texto. Não precisa de par fonte/alvo.

2. Simetria entre treinamento & inferência. Mesmo forward pass, sem lógica especial de geração.

3. Simplicidade de memória. Sem cross-attention; uma pilha de camadas; um fluxo de ativações.


ANDREA herda a escolha decoder-only do microGPT, que herdou do nanoGPT, que herdou do GPT-2. A linhagem permanece padrão; o que muda está na tokenização, infraestrutura de treinamento & currículo.

Por que Decoder-Only para ANDREA

Dê um motivo de uma perspectiva de dados de treinamento & um motivo de uma perspectiva de comportamento de inferência por que ANDREA usa um transformer decoder-only em vez de um encoder-decoder como o T5.

O Que Cabe em 24 GB

Bytes Por Parâmetro

Uma RTX 4090 vem com 24 GB de VRAM. O treinamento do ANDREA-12M usou 1,4 GB. O ANDREA-120M usou substancialmente mais. A diferença remete a um simples exercício de contabilidade: cada parâmetro aparece várias vezes na memória durante o treinamento.


Para cada parâmetro, o treinamento mantém:

- O peso em si (1× peso)

- Primeiro momento de Adam (m): mesmo formato que o peso (1× peso)

- Segundo momento de Adam (v): mesmo formato que o peso (1× peso)

- Gradientes: mesmo formato que o peso (1× peso)

- Ativações & temporárias: ~2-4× peso (varia com lote & contexto)


Total: ~6-8× a contagem de pesos, em bytes determinada pela precisão.


Precisão Multiplica Tudo


PrecisãoBytes/parâmetroTotal para 120M pesosNotas
FP324480 MBBase; mais seguro, mais lento
FP162240 MBcuBLAS, metade da memória
FP8 E4M31120 MBTensor cores, risco de NaN

Multiplique por 6-8× para a pegada completa no tempo de treinamento. ANDREA-120M treina confortavelmente em FP16 (~2 GB para pesos + otimizador + grads); FP8 E4M3 reduz pela metade o tempo de treinamento nos tensor cores da RTX 4090.


A Atividade 13 (grow_a_language_model_precision) explora em detalhes os tradeoffs de precisão FP.

Dimensionando o Estado do Otimizador do ANDREA-120M

O ANDREA-120M possui ~120.000.000 parâmetros. Cada peso FP32 ocupa 4 bytes. O AdamW armazena dois floats extras de estado do otimizador por peso (m, v). Calcule: (a) apenas pesos em FP32, em MB; (b) pesos + estado do otimizador em FP32, em MB; (c) pesos + estado do otimizador em FP16, em MB. Mostre sua aritmética.

Vinte e Cinco Atividades

Duas Metades

Este curso se divide de forma clara. A primeira metade cobre o que o microGPT ensinou ao campo: um transformer que roda em uma única GPU. A segunda metade cobre a contribuição real da ANDREA: um currículo que aprende.


Metade 1: Um Transformer em Uma GPU (atividades 2-13)


#AtividadeBatida
2Tokenizador de morfemas Harrissegmentação distribucional, vocabulário 256+N+1
3Alinhamento tokenizer-dietponto de saturação, por que 12M desperdiçaram 63,6%
4Embeddings & posiçãotoken aprendido + consulta de posição
5Atenção de produto escalarQ·Kᵀ/√d, máscara causal, softmax
6Atenção multi-cabeçadivisões de cabeças, projeções paralelas
7Bloco TransformerMLP, resíduos, normalização de camada
8Entropia cruzada & perplexidadelog-verossimilhança, perda SMMA
9Backprop em CUDA personalizadoregra da cadeia através de microgpt_cuda.cu
10AdamWdecaimento de peso desacoplado; por que o Adam vanilla morreu
11Aquecimento de LR + decaimento cossenorampa de 2000 passos; por que pico instantâneo destrói 120M
12Clipagem de gradientenorma L2 global; 3 kernels CUDA
13FP32 / FP16 / FP8 E4M3tradeoffs de precisão; tensor cores

Metade 2: Um Currículo Que Aprende (atividades 14-24)


#AtividadeDestaque
14Multi-armed banditsUCB1, exploração vs exploração
15Controle de dados baseado em fasesfases 7/14/21/28/42, dados 1d3/1d4
16Atribuição de recompensas & EMAEMA de perda por fonte, escalonamento 1000×
17Pisos de fontes & penalidade de época1/(1+epochs) previne memorização
18Bônus de coberturarastreamento em nível de doc, 1.3× frescor
19Aquecimento curricular7 fontes de chat/prosa nos primeiros 20K passos
20Filtragem por forma, não por caractereshas_system_prompt_shape()
21Parada antecipada com porta de coerênciabigram/trigram/word/char auto-halt
22Checkpoint, retomada, sinaisformat, SIGTERM/SIGUSR1, continuidade loss.json
23Auditoria de amostra & avaliação externaleitura de uma execução, território 9.5/10
24De microGPT a ANDREA-120Mcolapso v1, correções v2, patch v2.5, polimento v3

Além disso, um companheiro: geometry_of_andrea vê cada camada como geometria (espaço de embedding, atenção como projeção, superfície de perda, bandit como uma caminhada em um simplex discreto).


Ordem Sugerida

As atividades 2-13 constroem um transformer funcional. Pule para a metade 2 se você já treinou transformers antes; volte quando a curiosidade bater.


Cada atividade é independente onde possível. Referências matemáticas citam atividades anteriores pelo nome (veja atividade 5: atenção de produto escalar normalizado). Referências de código apontam para microgpt/microgpt_cuda.cu & microgpt/training_proxy.py em ~/git/uncloseai-cli/.

Onde Você Vai Começar?

Olhando para as 24 atividades + companheiro de geometria, nomeie uma atividade que você quer começar & um motivo: lacuna de conhecimento prévio, relevância profissional, ou pura curiosidade. Não há resposta errada; o caminho pelo curso é seu.