Como Treinamos uma IA Brasileira: A Historia do Yoshii-7B-BR
Bastidores do treinamento do Yoshii, nossa LLM especializada em atendimento ao cliente em portugues brasileiro. Tecnicas, desafios e resultados.
Criar uma IA que realmente entende o brasileiro nao e so traduzir o ChatGPT. Precisamos treinar do zero. Vou contar como fizemos o Yoshii-7B-BR.
O Problema
LLMs como ChatGPT e Claude sao incriveis, mas tem limitacoes para atendimento brasileiro:
- Portugues as vezes soa “traduzido”
- Nao entendem contexto de negocios brasileiros
- Respostas muito genericas
- Custo alto por requisicao
Decidimos criar algo melhor.
A Solucao: Fine-tuning com QLoRA
O Que e Fine-tuning?
Imagina que voce contrata um funcionario super inteligente (o modelo base), mas ele nunca trabalhou no Brasil. O fine-tuning e o “treinamento” dele para entender seu negocio.
Por Que QLoRA?
QLoRA (Quantized Low-Rank Adaptation) e uma tecnica que permite treinar modelos gigantes em GPUs pequenas:
- Quantizacao 4-bit: Reduz o modelo de 28GB para 4.7GB
- LoRA: Treina apenas uma pequena parte dos parametros
- Resultado: Treinamos em uma RTX 3070 de 8GB
Sem QLoRA, precisariamos de GPUs de R$ 50.000+.
O Processo de Treinamento
1. Escolha do Modelo Base
Escolhemos o Mistral-7B-Instruct-v0.3 porque:
- 7 bilhoes de parametros (equilibrio entre qualidade e velocidade)
- Ja entende instrucoes
- Arquitetura moderna e eficiente
- Open source (Apache 2.0)
2. Criacao do Dataset
Montamos um dataset com 755 conversas de atendimento ao cliente:
Usuario: Ola, gostaria de cancelar meu pedido
Assistente: Ola! Claro, posso ajudar com o cancelamento.
Poderia informar o numero do pedido?
Cada conversa foi curada para ter:
- Tom profissional mas amigavel
- Respostas uteis e diretas
- Portugues brasileiro natural
3. Configuracao do Treinamento
# Configuracao QLoRA
LoraConfig(
r=32, # Rank do LoRA
lora_alpha=64, # Escala
lora_dropout=0.05, # Regularizacao
target_modules=["q_proj", "v_proj"]
)
# Treinamento
epochs = 3
batch_size = 1
gradient_accumulation = 16
learning_rate = 2e-4
4. O Treinamento
- Duracao: 37 minutos
- Hardware: RTX 3070 8GB
- Temperatura GPU: 82°C (limite)
- Loss final: ~0.8
Resultados
Antes (Mistral Base)
Usuario: Qual o horario de funcionamento?
Modelo: I can help you with that. What specific
business are you asking about?
Depois (Yoshii)
Usuario: Qual o horario de funcionamento?
Yoshii: Nosso atendimento funciona de segunda
a sexta, das 8h as 18h.
A diferenca e clara:
- Responde em portugues brasileiro
- Tom adequado para atendimento
- Resposta direta e util
Numeros Tecnicos
| Metrica | Valor |
|---|---|
| Parametros | 7.2B |
| Tamanho | 4.7 GB |
| VRAM Necessaria | ~6 GB |
| Velocidade | ~30 tokens/seg |
| Contexto | 32,768 tokens |
Como Usar
Opcao Simples: Yoshii IA
Acesse yoshii.sakaguchi.ia.br e use direto no navegador.
Opcao Tecnica: HuggingFace
from transformers import AutoModelForCausalLM, AutoTokenizer
model = AutoModelForCausalLM.from_pretrained(
"yoshii-ai/Yoshii-7B-BR",
device_map="auto"
)
tokenizer = AutoTokenizer.from_pretrained("yoshii-ai/Yoshii-7B-BR")
# Usar o modelo
messages = [{"role": "user", "content": "Preciso de ajuda"}]
inputs = tokenizer.apply_chat_template(messages, return_tensors="pt")
outputs = model.generate(inputs, max_new_tokens=256)
print(tokenizer.decode(outputs[0]))
Licoes Aprendidas
- Qualidade > Quantidade: 755 conversas bem feitas > 10.000 ruins
- Hardware acessivel: Nao precisa de datacenter para treinar
- Especializacao funciona: Modelo menor e focado supera generico
- Open source e o caminho: Comunidade acelera tudo
Proximos Passos
Estamos trabalhando em:
- Versoes especializadas por setor (varejo, saude, financeiro)
- Integracao nativa com WhatsApp Business
- Modelo ainda menor para rodar em celular
O Yoshii-7B-BR e open source. Baixe no HuggingFace ou teste online.