BlazerApex V3.5
Modelo 2B em português brasileiro com raciocínio estruturado (<raciocinio>), focado em questões de vestibular (EduBench), cultura BR e segurança.
🧬 Linhagem
- Base: merge linear de
sriq-MiniCPM5-2B-v1.5+BlazerApex-2B-v2 - SFT: LoRA r=16 com EduBench (3.1k questões de vestibular BR) + correções manuais + replay do dataset V3
- Merge: LoRA fundido na base → este modelo
📊 Avaliação (greedy, 3 prompts-chave)
| Critério | V2 | V3 Alpha | V3.5 |
|---|---|---|---|
| Raciocínio 17×23 | ❌ loop | ️ truncado | ✅ 391 com <raciocinio> |
| Código PT-BR | ❌ | ✅ docstring | ✅ |
| Tiradentes | ❌ Filipinas | ❌ Portugal/Índia | ⚠️ erra, mas se auto-avalia |
| Identidade | ❌ | ❌ OpenAI | ⚠️ OpenAI (em correção) |
⚠️ Limitações conhecidas
- Conhecimento factual BR ainda alucina (correção prevista na V4 via dataset curado)
- Identidade "BlazerApex" ainda não fixa
- Pode emitir tags residuais (
<método>,<thought>)
🚀 Uso
from transformers import AutoModelForCausalLM, AutoTokenizer
tok = AutoTokenizer.from_pretrained("Davizig10jojo/BlazerApex-V3.5", trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained("Davizig10jojo/BlazerApex-V3.5",
trust_remote_code=True, torch_dtype="auto", device_map="auto")
ids = tok.apply_chat_template([{"role":"user","content":"Pense passo a passo usando <raciocinio>: quanto é 17 x 23?"}],
tokenize=True, add_generation_prompt=True, return_tensors="pt").to(model.device)
out = model.generate(ids["input_ids"], max_new_tokens=300, do_sample=False)
print(tok.decode(out[0][ids["input_ids"].shape[1]:], skip_special_tokens=True))
🏋️ Treino
LoRA r=16/alpha=32, fp16, 3 epochs, LR 2e-5, seq 2048, T4 (Kaggle). Datasets: EduBench + correções manuais + replay BlazerApex-V3-Dataset.
Autor: Davizig10jojo • Versão: 3.5