Polygl0t/gigaverbo-v2
Viewer • Updated • 375M • 3.94k • 3
GPT pequeno (6,8M parâmetros) treinado do zero em português com o MiniGPT, uma implementação de GPT feita pra estudo. Escreve com a gramática e o vocabulário do português, mas não guarda fatos: o texto sai fluente e sem compromisso com a verdade.
Pra testar no navegador: Space edumoraes/devaneio. Ele roda o modelo em JavaScript, no navegador de quem acessa, com os pesos deste repositório.
| Dados | o começo do subset edu_high do GigaVerbo-v2: texto da web em português (FineWeb-2 e mC4) filtrado por qualidade educacional |
| Tokens vistos | 150.061.312 (1 época) |
| Otimizador | AdamW, lr 3e-04 com warmup de 200 passos e cosine até 1e-05, weight decay 0,1 |
| Batch | 32 sequências de 256 tokens |
| Precisão | fp32 |
| Tempo | 52,9 min em GPU, 47.309 tokens/s |
| Val loss | 2,655 (perplexidade 14,2) |
scaled_dot_product_attention causalO modelo usa o código do MiniGPT, que vem junto neste repositório:
import json, sys
from huggingface_hub import snapshot_download
from safetensors.torch import load_model
pasta = snapshot_download("edumoraes/devaneio")
sys.path.insert(0, pasta)
from config import GPTConfig
from generate import gerar
from model import GPTModel
from tokenizer import carregar_tokenizer
modelo = GPTModel(GPTConfig(**json.load(open(f"{pasta}/config.json"))))
load_model(modelo, f"{pasta}/model.safetensors")
tokenizer = carregar_tokenizer(f"{pasta}/tokenizer.json")
print(gerar(modelo, tokenizer, "A chuva", max_tokens=100))
<UNK> e somem do texto gerado.Apache-2.0 para os pesos e o código. Os dados de treino seguem as licenças das fontes do GigaVerbo-v2, listadas no card do dataset.