Theo

Theo-10M · Base

O protótipo que provou ser possível.
The prototype that proved it could be done.


Sobre este modelo

Este é o menor modelo da série Theo — 7,4 milhões de parâmetros reais, treinado do zero em corpus bíblico-teológico em português brasileiro. Nenhum peso pré-treinado. Nenhum transfer learning. Só arquitetura, dados e tempo de GPU.

Com 4 camadas e dimensão interna de 256, o Theo-10M é a versão protótipo: simples, rápida de rodar em qualquer hardware, e surpreendentemente funcional para seu tamanho. O objetivo aqui não era qualidade máxima — era provar que o pipeline funcionava e que um Transformer treinado do zero em domínio bíblico consegue aprender padrões reais de linguagem.

Ele aprende. E isso, por si só, já é notável.

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


Para que serve?

  • Baseline de comparação — entender o impacto do scaling entre 10M → 25M → 50M → 78M
  • Fine-tuning leve — ponto de partida para quem quer adaptar a um subdomínio específico
  • Pesquisa educacional — estudar emergência linguística em modelos pequenos
  • Deploy ultra-leve — roda em CPU, sem GPU, com latência aceitável

Arquitetura

Parâmetro Valor
Parâmetros reais 7,4M
Tipo Transformer decoder-only
Camadas (n_layers) 4
Cabeças de atenção (n_heads) 4
Dimensão do modelo (d_model) 256
Dimensão FFN (d_ff) 1.024
Contexto máximo 512 tokens
Vocabulário 16.000 tokens (BPE treinado do zero)
Ativação GELU

Treinamento

Item Detalhe
GPU NVIDIA L40S 48 GB (RunPod)
Dataset CPT ~400M tokens (corpus bíblico v1)
Fontes Bíblia, comentários, sermões, sites teológicos em PT-BR
Épocas 2
Batch size 64
Learning rate 4e-4 (com warmup de 100 steps)
Custo estimado < $3

Como usar

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

# Gerar texto
python generate.py --checkpoint theo-10m-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_10M")
model = BabelTransformer(cfg)
ckpt  = torch.load("theo-10m-base.pt", map_location="cpu", weights_only=False)
model.load_state_dict(ckpt["model_state_dict"], strict=False)
model.eval()

Limitações

  • Domínio restrito ao corpus bíblico-teológico em português
  • Janela de contexto de 512 tokens
  • Pode gerar texto sem sentido ou repetitivo — modelo experimental
  • Não foi submetido a nenhum processo de alinhamento (RLHF, filtragem)

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