Pular para o conteúdo principal

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​

  1. Use modelos robustos para geração (GPT-4, Claude)
  2. Valide com modelo diferente do gerador
  3. Amostre e revise antes da geração completa
  4. Misture com dados reais quando disponíveis
  5. 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


Continuar para o Quiz →