Theo

Theo-50M · Base

Onde a linguagem emergiu de verdade.
Where language truly emerged.


Sobre este modelo

⚠️ Nota sobre parâmetros: O nome "50M" é histórico — os parâmetros reais são 69,3 milhões. A diferença vem da arquitetura escolhida: ao mover para d_model=768 (vs 512 no 25M), o modelo ficou maior do que o nome sugere. Isso é comum em LLMs — o nome é aproximado.

Theo-50M-Base é o terceiro modelo da série e o primeiro a usar a dimensão interna d_model=768. Com 8 camadas e FFN de 3.072, esse é o ponto onde a linguagem emergiu de forma clara e mensurável: parágrafos coerentes, controle de tempo verbal, estrutura argumentativa básica.

Treinado do zero em ~453M tokens (corpus bíblico v2) de texto cristão em português. Sem pesos pré-treinados. Sem atalhos.

🔗 Versão de chat: plvictor/Theo-50M-PTBR-Chat


O salto de escala

A passagem do Theo-25M para o Theo-50M introduziu uma nova tier arquitetural: d_model=768, que é a mesma dimensão usada em modelos como o BERT-base. Essa mudança trouxe:

  • Representações internas mais ricas
  • Melhor captura de relações de longo prazo dentro da janela de contexto
  • Redução significativa de repetições e travamentos
  • Coerência temática sustentada em textos mais longos

Este é o modelo recomendado para fine-tuning quando o objetivo é qualidade sólida com custo de treinamento moderado.


Arquitetura

Parâmetro Valor
Parâmetros reais 69,3M
Tipo Transformer decoder-only
Camadas (n_layers) 8
Cabeças de atenção (n_heads) 8
Dimensão do modelo (d_model) 768
Dimensão FFN (d_ff) 3.072
Contexto máximo 512 tokens
Vocabulário 16.000 tokens (BPE treinado do zero)

Treinamento

Item Detalhe
GPU NVIDIA L40S 48 GB (RunPod)
Dataset CPT ~453M tokens (corpus bíblico v2)
Fontes Bíblia, comentários, sermões, teologia sistemática, artigos cristãos PT-BR
Épocas 2
Batch size 128
Learning rate 4e-4 (warmup 400 steps)
Custo estimado ~$8

Como usar

git lfs install
git clone https://huggingface.co/plvictor/Theo-50M-Base
cd Theo-50M-Base
pip install -r requirements.txt

python generate.py --checkpoint theo-50m-base.pt --prompt "A salvação é pela graça"
import torch
from config import get_config
from src.model import BabelTransformer

cfg   = get_config("babel_50M")
model = BabelTransformer(cfg)
ckpt  = torch.load("theo-50m-base.pt", map_location="cpu", weights_only=False)
model.load_state_dict(ckpt["model_state_dict"], strict=False)
model.eval()

Limitações

  • Janela de contexto de 512 tokens — menor que o Theo-78M
  • Treinado exclusivamente em português bíblico-teológico
  • Sem alinhamento formal (RLHF, filtragem de segurança)

Autor

Paulo Victor Souza · plvictor.com · huggingface.co/plvictor

"No princípio era o Verbo." — João 1:1

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support