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