Primus-LM
Small GPT decoder-only (~14M parâmetros) treinado do zero em ementas jurídicas brasileiras.
Projeto educacional. O objetivo é compreender os fundamentos de LLMs com código próprio de arquitetura Transformer, treinamento e inferência em PyTorch. Não é uma ferramenta de pesquisa jurídica confiável.
Arquitetura
| Parâmetro | Valor |
|---|---|
| Família | GPT decoder-only (pre-LN) |
| Camadas | 6 |
| Cabeças de atenção | 6 |
| Dimensão oculta (d_model) | 384 |
| Dimensão FFN (d_ff) | 1536 |
| Comprimento de contexto | 256 tokens |
| Vocabulário | 8000 tokens (BPE byte-level) |
| Embeddings de posição | Absolutos, aprendidos |
| Ativação | GELU |
| Weight tying | Sim (embedding / lm_head compartilhados) |
| Dropout | 0.1 |
| Total de parâmetros | ~13,8M |
Dataset
- Fonte: 100.000 ementas jurídicas brasileiras únicas, extraídas de base pública
- Divisão: 90.000 treino / 10.000 validação
- Tokens: ~27,8M treino / ~3,0M validação
- Tokenizador: BPE byte-level, vocab_size=8000, treinado apenas no split de treino
- Deduplicação: hash SHA-256 do texto normalizado (NFC)
Treinamento
| Hiperparâmetro | Valor |
|---|---|
| Otimizador | AdamW (betas=0,9/0,95, eps=1e-8) |
| Taxa de aprendizado | 0.0003 |
| Weight decay | 0.1 |
| Batch size | 4 |
| Acumulação de gradiente | 8 (batch efetivo = 32) |
| Passos máximos | 10000 |
| Gradient clipping | 1.0 |
| Precisão | FP32 |
| Hardware | NVIDIA GeForce GTX 1060 6GB |
| Tempo de treinamento | ~80 minutos |
Resultados
| Métrica | Valor |
|---|---|
| Validation loss final | 1,8238 |
| Perplexidade de validação | 6,2 |
| Total de tokens processados | 81.920.000 |
| Uso de memória GPU | ~600 MB |
Como usar
Com o script standalone
pip install torch safetensors tokenizers
python modeling_mini_llm.py \
--prompt "APELAÇÃO CÍVEL. RESPONSABILIDADE CIVIL." \
--max-new-tokens 120 \
--temperature 0.8 \
--top-k 40
Carregando manualmente em Python
from modeling_mini_llm import load_model, generate
model, tokenizer, special_ids = load_model(".", device="cuda")
text = generate(
model, tokenizer,
prompt="HABEAS CORPUS. TRÁFICO DE DROGAS.",
special_ids=special_ids,
max_new_tokens=100,
temperature=0.8,
top_k=40,
)
print(text)
Limitações e riscos
- Este modelo aprende padrões estatísticos do corpus e pode inventar fatos, números de processos, leis ou decisões. Não deve ser utilizado como fonte jurídica confiável.
- O modelo possui uma janela de contexto muito pequena (256 tokens) e vocabulário reduzido (8.000 tokens).
- Foi treinado apenas em ementas. Não compreende documentos jurídicos completos, legislação ou jurisprudência em profundidade.
- Com apenas ~14M parâmetros, não possui capacidade para raciocínio complexo ou consistência factual.
- O corpus de treinamento é limitado a um subconjunto específico de ementas jurídicas brasileiras e pode não generalizar para outros contextos.
- Este é um projeto educacional, não um sistema de produção.
Licença
MIT. Consulte LICENSE para detalhes.
O código e os pesos são disponibilizados sob a licença MIT. O corpus de treinamento consiste em ementas jurídicas públicas; nenhum dado pessoal foi incluído nos artefatos publicados.
- Downloads last month
- 42
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support