Saltar al contenido principal

Capítulo 3: Generación de datos sintéticos

Uso de LLMs para crear datos de entrenamiento​

Cuando los datos reales son escasos, los datos sintéticos generados por LLMs capaces pueden ser altamente efectivos.


El pipeline de datos sintéticos​


Estrategias de generación​

1. Self-Instruct​

Genere nuevas instrucciones y respuestas:

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​

Evolucione instrucciones simples en instrucciones complejas:

def evolve_instruction(simple_instruction):
prompt = f"""Make this instruction more complex and detailed:

Simple: {simple_instruction}

Complex:"""

return llm.generate(prompt)

3. Generación específica de dominio​

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))

Control de calidad para datos 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()

Mejores prácticas​

  1. Utilice modelos potentes para la generación (GPT-4, Claude)
  2. Valide con un modelo diferente al generador
  3. Muestree y revise antes de la generación completa
  4. Mezcle con datos reales cuando estén disponibles
  5. Verifique contaminación con los conjuntos de evaluación

Puntos clave​

✅ Los datos sintéticos pueden ser altamente efectivos
✅ Utilice modelos potentes para la generación
✅ Siempre filtre y valide
✅ Mezcle con datos reales cuando sea posible
✅ Evite la contaminación con los conjuntos de evaluación


Continuar al cuestionario →