Blog
Para quem já sabe o básico e quer ir fundo. Aqui o assunto é como os modelos funcionam em produção: memória, roteamento, ferramentas, agentes. O lado técnico que pouca gente explica direito.
Prompt: comportamento de task. RAG: acesso a knowledge dinâmico. Fine-tune: mudar estilo/domínio/formato consistente. Decisão por cenário: format output → FT. Knowledge freshness → RAG. Raciocínio geral → prompt. FT é caro/lento — última escolha.
SFT: dataset de (input, output) exemplos, treina o modelo a imitar. Chat format (system/user/assistant). Epochs, learning rate, batch size. Over-fitting signs. Hugging Face Transformers + TRL (library), OpenAI fine-tuning API, Anthropic Claude fine-tuning (limited).
Full FT é caro (24GB+ VRAM pra 7B model). LoRA: treina adapters pequenos (matrizes low-rank), 10-100x menos params. QLoRA: 4-bit quantization + LoRA, treinando 70B em 1 GPU de 24GB. PEFT library (Hugging Face). Merge adapter ou serve separado.
RLHF clássico: reward model + PPO — complexo, instável. DPO (Direct Preference Optimization, 2023): objetivo equivalente, matemática mais simples, 10x menos hyperparams. Dataset: (prompt, preferred, rejected). Usa pra alinhamento, style matching, safety.
Dataset quality domina resultado. Curadoria: balanceamento de classes, remover PII, dedup (exact + fuzzy com MinHash), contamination check (não incluir eval set em train). Sintético (LLM-generated) vs human-curated. 1000 exemplos curados > 10k genéricos.
Como saber que FT melhorou vs base? Golden set curado (100-500 exemplos) com respostas ideais. Métricas: LLM-as-judge (GPT-4 compara), regex/exact match em structured output, human eval pra qualidade subjetiva. Regression testing a cada nova versão do modelo.
Self-hosted: vLLM (PagedAttention, throughput top) e TGI (Hugging Face Text Generation Inference). Managed: AWS Bedrock Custom Models, SageMaker JumpStart. Cost trade-off: 1 GPU A100 $3/h vs Bedrock pay-per-token. Cold start, autoscale, batch size tuning.
Projeto: escolha domínio (legal, médico, code review). Colete 1k-5k exemplos reais. LoRA em Llama 3 ou Mistral. Avaliar com golden set. Deploy com vLLM atrás de FastAPI. Comparar vs base model em métricas específicas. Publicar modelo no Hugging Face Hub.