Capítulo 3: Geração de Dados Sintéticos
Usando LLMs para Criar Dados de Treinamento
Quando os dados reais são escassos, dados sintéticos gerados por LLMs robustos podem ser altamente eficazes.
O Pipeline de Dados Sintéticos
Estratégias de Geração
1. Self-Instruct
Gere novas instruções e respostas:
def generate_instruction():
prompt = """Generate a unique instruction for a helpful AI assistant.
Examples:
- Explain quantum computing to a 10-year-old
- Write a haiku about programming
- Create a meal plan for a vegetarian athlete
New instruction:"""
return llm.generate(prompt)
def generate_response(instruction):
prompt = f"""Provide a helpful response to this instruction:
Instruction: {instruction}
Response:"""
return llm.generate(prompt)
2. Evol-Instruct
Evolua instruções simples para versões mais complexas:
def evolve_instruction(simple_instruction):
prompt = f"""Make this instruction more complex and detailed:
Simple: {simple_instruction}
Complex:"""
return llm.generate(prompt)
3. Geração Específica de Domínio
def generate_domain_examples(domain, count=100):
prompt = f"""Generate {count} diverse instruction-response pairs
for a {domain} AI assistant.
Format each as:
Instruction: ...
Response: ...
---
"""
return parse_pairs(llm.generate(prompt))
Controle de Qualidade para Dados Sintéticos
def validate_synthetic(example, validator_model):
"""Validate synthetic example quality."""
prompt = f"""Is this a high-quality instruction-response pair?
Instruction: {example['instruction']}
Response: {example['response']}
Answer YES or NO with brief explanation:"""
result = validator_model.generate(prompt)
return "YES" in result.upper()
Boas Práticas
- Use modelos robustos para geração (GPT-4, Claude)
- Valide com modelo diferente do gerador
- Amostre e revise antes da geração completa
- Misture com dados reais quando disponíveis
- Verifique contaminação com conjuntos de avaliação
Principais Pontos
✅ Dados sintéticos podem ser altamente eficazes
✅ Use modelos robustos para geração
✅ Sempre filtre e valide
✅ Misture com dados reais quando possível
✅ Evite contaminação com conjuntos de avaliação