Qwen-3.5-0.8B-PT-BR
Modelo em português do Brasil baseado em Qwen/Qwen3.5-0.8B-Base, adaptado em duas etapas:
CPTpara puxar o modelo para PT-BR informal e texto social.SFTpara melhorar seguimento de instruções em português.
O repositório já contém o modelo final com os adapters mesclados no peso base.
Resumo
- Base:
Qwen/Qwen3.5-0.8B-Base - Idioma alvo: português do Brasil
- Formato: modelo mergeado para
transformers - Chat template incluído no tokenizer salvo
- Ajustado para uso geral em PT-BR com viés para linguagem de internet e instruções simples
Dados usados
Etapa 1: CPT
Mistura de corpus em português com foco em texto social:
yt_comments_ptbr.jsonl- dataset local de comentários de YouTube em PT-BR, raspado pelo autor deste finetune
carolina-c4ai/corpus-carolina- prioridade para a parte social media (
taxonomy="soc") - uma fração menor do restante do corpus foi usada para manter diversidade
- prioridade para a parte social media (
Mistura aproximada usada no treino:
45%comentários de YouTube locais45%Carolina social10%restante do Carolina
Etapa 2: SFT
TucanoBR/Tucano-SFT
O SFT foi treinado em cima do melhor checkpoint de CPT encontrado localmente (checkpoint-1200).
Pipeline de treino
CPT
- Base inicial:
Qwen/Qwen3.5-0.8B-Base - Método:
QLoRA/LoRA - Objetivo: adaptação contínua para PT-BR social/informal
Seleção do melhor checkpoint de CPT por holdout local em comentários de YouTube:
- base:
4.91083 checkpoint-1000:4.52108checkpoint-1200:4.45688
O checkpoint 1200 foi mantido como melhor ponto antes do SFT.
SFT
- Framework:
Unsloth - Dataset:
TucanoBR/Tucano-SFT - LoRA:
r=16lora_alpha=32lora_dropout=0.05
- Módulos alvo:
q_projk_projv_projo_projgate_projup_projdown_proj
Métrica final registrada no holdout do SFT:
final_eval_loss: 1.6539
Uso
from transformers import AutoModelForCausalLM, AutoTokenizer
model_id = "henriqueimoveis/Qwen-3.5-0.8B-PT-BR"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(model_id, device_map="auto")
messages = [
{"role": "system", "content": "Responda em português de forma direta e útil."},
{"role": "user", "content": "Explique o que é overfitting em linguagem simples."},
]
inputs = tokenizer.apply_chat_template(
messages,
tokenize=True,
add_generation_prompt=True,
return_tensors="pt",
).to(model.device)
outputs = model.generate(
inputs,
max_new_tokens=256,
temperature=1.0,
top_p=0.95,
top_k=20,
repetition_penalty=1.0,
)
print(tokenizer.decode(outputs[0], skip_special_tokens=True))
Observações
- É um modelo pequeno (
0.8B), então ainda pode produzir respostas tortas, repetitivas ou rasas. - O foco foi adaptar melhor o comportamento para PT-BR, não competir com modelos maiores.
- A qualidade final depende bastante do prompt, da amostragem e do limite de capacidade do modelo base.
Limitações
- Pode alucinar fatos.
- Pode responder de forma prolixa ou pouco precisa.
- Pode refletir ruído e estilo coloquial dos dados de internet usados no CPT.
- Não foi validado para uso médico, legal, financeiro ou outros cenários de alto risco.
Créditos
- Modelo base:
Qwen/Qwen3.5-0.8B-Base - Corpus para CPT:
carolina-c4ai/corpus-carolina- comentários locais de YouTube em PT-BR
- SFT:
TucanoBR/Tucano-SFT
Licença e termos
Este modelo deriva de Qwen/Qwen3.5-0.8B-Base. O uso do modelo final deve respeitar os termos, a licença e as restrições aplicáveis ao modelo base e aos datasets utilizados.
- Downloads last month
- 348
Model tree for henriqueimoveis/Qwen-3.5-0.8B-PT-BR
Base model
Qwen/Qwen3.5-0.8B-Base