GPT-2 Small (124M) treinado do zero
Modelo causal de linguagem com arquitetura equivalente ao GPT-2 Small, treinado do zero sobre o sample-10BT do FineWeb-Edu. O treinamento usou o tokenizer GPT-2 e processou aproximadamente 5,51 bilhões de tokens.
Resultados
| Métrica | Resultado |
|---|---|
| Parâmetros | 124.439.808 |
| Steps | 10.500 |
| Épocas lógicas completas | 42 |
| Train loss | 3,3080 |
| Validation loss | 3,2915 |
| Validation perplexity | 26,88 |
| HellaSwag | 27,68% em 10.042 exemplos |

Arquitetura
- 12 blocos Transformer;
- 12 cabeças de atenção;
- embedding de 768 dimensões;
- contexto máximo de 1.024 tokens;
- vocabulário de 50.257 tokens;
- pesos compartilhados entre embedding e cabeça de linguagem;
- 124.439.808 parâmetros em FP32.
Uso com Transformers
Este repositório inclui código de arquitetura personalizado. Por isso, o carregamento requer trust_remote_code=True.
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
repo_id = "itlrc/gpt2-small"
tokenizer = AutoTokenizer.from_pretrained("gpt2")
model = AutoModelForCausalLM.from_pretrained(
repo_id,
trust_remote_code=True,
torch_dtype=torch.float32,
)
inputs = tokenizer("Hi! I'm a", return_tensors="pt")
with torch.inference_mode():
output = model.generate(
**inputs,
max_new_tokens=64,
do_sample=True,
temperature=0.8,
top_k=50,
)
print(tokenizer.decode(output[0], skip_special_tokens=True))
Substitua SEU_USUARIO/meu-gpt2-small pelo identificador deste repositório no Hub.
Treinamento
- Dataset:
HuggingFaceFW/fineweb-edu, configuraçãosample-10BT; - batch efetivo de 524.288 tokens por step;
- 250 steps por época lógica;
- AdamW com betas
(0.9, 0.95)e weight decay0.1; - gradient clipping em
1.0; - warmup e cosine decay;
- validação em um conjunto fixo de documentos reservados.
- aproximadamente 6 bilhões de tokens
Limitações
O modelo é um experimento educacional e não recebeu instruction tuning, RLHF ou outro alinhamento por preferências. Pode produzir informações falsas, repetições, vieses ou conteúdo inadequado.