Theo

Theo-500M · Base

O maior modelo da série. O primeiro a misturar corpus geral com corpus teológico.
The largest model in the series. The first to mix general and theological corpus.


Sobre este modelo

Theo-500M-Base é o maior modelo da série — 493,8M de parâmetros reais, treinado do zero em 1B tokens (80% PT-BR geral + 20% teológico). É também o primeiro da série a misturar dados gerais de português (Wikipedia PT + FineWeb-2 PT) com o corpus teológico próprio, na proporção 80/20, em vez de treinar exclusivamente sobre domínio bíblico.

24 camadas, d_model=1.280, d_ff=5.120 — um salto de arquitetura em relação ao Theo-78M (9 camadas, d_model=768). Nenhum peso pré-treinado. Nenhuma base em outro modelo. Do zero.

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


Nota honesta sobre este modelo

Segundo as leis de escala (Chinchilla), um modelo de 500M parâmetros precisaria de ~10B tokens de treino para atingir seu potencial pleno. Este modelo foi treinado com apenas 1B tokens em 1 época — abaixo do ótimo. Na prática, isso significa que o Theo-500M-Base tem fluência gramatical melhor que os modelos anteriores da série, mas não internalizou conhecimento factual específico (como versículos exatos) tão bem quanto seria esperado para seu tamanho. Ver Limitações abaixo.


Arquitetura

Parâmetro Valor
Parâmetros reais 493,8M
Tipo Transformer decoder-only
Camadas (n_layers) 24
Cabeças de atenção (n_heads) 16
Dimensão do modelo (d_model) 1.280
Dimensão FFN (d_ff) 5.120
Contexto máximo 1.024 tokens
Vocabulário 16.000 tokens (BPE treinado do zero)

Treinamento

Item Detalhe
GPU NVIDIA L40S 48 GB (RunPod)
Dataset CPT 1B tokens (80% PT-BR geral + 20% teológico)
Composição 80% PT-BR geral (Wikipedia + FineWeb-2) + 20% teológico
Épocas 1
Duração ~17 horas
Val loss final ~2,908 (perplexidade ~18,3)
Custo estimado ~$14

Como usar

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

python generate.py --checkpoint theo-500m-base.pt --prompt "No princípio era o Verbo"
import torch
from config import get_config
from src.model import BabelTransformer

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

print(f"Parâmetros: {sum(p.numel() for p in model.parameters()):,}")
# → Parâmetros: 493,800,000

Limitações

  • Undertreinado para seu tamanho (1B tokens vs ~10B recomendado pela Chinchilla) — ver nota acima
  • Treinado majoritariamente em português geral, com apenas 20% de domínio teológico
  • Sem alinhamento formal (RLHF, filtragem de segurança)
  • Modelo experimental — validar saídas antes de uso em produção

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