
Datos Sintéticos para Fine-Tuning: Cómo Generar Datos de Entrenamiento Que Realmente Funcionan
Una guía práctica para generar datos de entrenamiento sintéticos para fine-tuning — cubriendo estrategias de prompts, filtrado de calidad, coincidencia de distribución y la regla 80/20 para mezclar datos reales y sintéticos.
El fine-tuning está limitado por los datos. No por el cómputo, no por la arquitectura del modelo, no por el ajuste de hiperparámetros. Los datos. Específicamente, la falta de suficientes ejemplos etiquetados de alta calidad para enseñarle a un modelo más pequeño una tarea específica.
La mayoría de los equipos que intentan hacer fine-tuning descubren esto en la primera semana. Tienen 50 a 200 ejemplos reales, necesitan 1,000 a 5,000, y recopilar más al nivel de calidad requerido tomaría meses. Este es el cuello de botella de datos, y es la razón más común por la que los proyectos de fine-tuning se estancan o se abandonan.
La generación de datos sintéticos ofrece una salida. Usas un modelo frontier — GPT-4o, Claude 3.5, Gemini — para generar los ejemplos de entrenamiento de los que tu modelo más pequeño aprenderá. Bien hecho, los datos sintéticos pueden darte el 80-90% del rendimiento de un dataset curado por humanos equivalente a 1/100 del costo y 1/1000 del tiempo.
Mal hecho, produce un dataset que enseña a tu modelo a alucinar con confianza. La diferencia está en la técnica.
Por Qué Funcionan los Datos Sintéticos (Y Cuándo No)
La idea central detrás de los datos sintéticos es directa: los modelos frontier ya saben cómo realizar bien la mayoría de las tareas estrechas. Simplemente son demasiado caros, demasiado lentos, o demasiado riesgosos (privacidad, dependencia de proveedor) para usar en producción a escala. El fine-tuning transfiere esa capacidad a un modelo más pequeño, más barato y ejecutable localmente.
Los datos sintéticos funcionan mejor cuando:
- La tarea está bien definida. Clasificación, extracción, resumen, conversión de formato — tareas con respuestas correctas e incorrectas claras.
- El modelo frontier realiza la tarea bien. Si GPT-4o no puede hacer la tarea de forma confiable, sus ejemplos generados no enseñarán a tu modelo a hacerla tampoco.
- Tienes algunos ejemplos reales para anclar la generación. Incluso 20-50 ejemplos reales mejoran dramáticamente la calidad de los datos sintéticos al proporcionar patrones concretos desde los cuales expandir.
Los datos sintéticos tienen dificultades cuando:
- La tarea requiere conocimiento raro del dominio que el modelo frontier no tiene (por ejemplo, jerga interna de la empresa, esquemas de clasificación propietarios).
- La calidad de la salida es altamente subjetiva sin criterios claros de evaluación.
- La distribución de entradas reales es inusual — los datos sintéticos tienden hacia el caso "promedio" y subrepresentan los casos extremos.
Estrategia 1: Prompting Directo
El enfoque más simple. Describes la tarea y pides al modelo frontier que genere pares de entrada-salida.
Generate 25 customer support emails about subscription billing issues.
For each email, provide:
1. The email text (vary length from 2-8 sentences, vary tone from frustrated to polite)
2. The correct category: "billing_error", "cancellation_request", "upgrade_inquiry", "refund_request", "payment_method_update"
3. The priority level: "low", "medium", "high"
Format as JSON. Make examples diverse — include typos, different writing styles, and varying levels of detail.
Costo: Generar 100 ejemplos con GPT-4o cuesta aproximadamente $0.15-0.30 dependiendo de la longitud de salida. A escala, 5,000 ejemplos cuestan $8-15.
Fortalezas: Rápido de configurar, fácil de iterar en el prompt, bueno para tareas bien entendidas.
Debilidades: La diversidad de salida se estanca rápidamente. Después de 200-300 ejemplos del mismo prompt, comienzas a obtener patrones repetitivos. El modelo converge en una banda estrecha de ejemplos "típicos."
Solucionar el problema de diversidad: Agrupa tu generación en conjuntos de 25-50, y varía el prompt cada vez. Cambia las restricciones, especifica diferentes personas, requiere diferentes casos extremos. Cinco prompts generando 200 ejemplos cada uno producirán datos más diversos que un prompt generando 1,000.
Estrategia 2: Expansión por Semillas
Comienza con tus ejemplos reales y úsalos como semillas para generar más. Esta es la estrategia de mayor ROI si tienes incluso un pequeño conjunto de datos reales.
Here are 5 real customer support emails from our system:
[paste 5 real examples]
Generate 25 new examples that match the style, complexity, and topic distribution of these real examples. Maintain the same format. Include examples that are:
- Similar difficulty to the originals
- Slightly harder edge cases
- Shorter and more ambiguous versions
- Longer and more detailed versions
Costo: Ligeramente mayor por ejemplo debido al contexto de semillas (~$0.20-0.40 por 100 ejemplos con GPT-4o). Para 5,000 ejemplos: $10-20.
Fortalezas: La distribución de salida coincide mucho más con tus datos reales. El modelo capta patrones, vocabulario y casos extremos que son difíciles de describir en un prompt.
Debilidades: Si tus ejemplos semilla están sesgados o no son representativos, el sesgo se amplifica. Siempre usa un conjunto diverso de semillas.
Mejor práctica: Rota tu conjunto de semillas. Si tienes 50 ejemplos reales, muestrea aleatoriamente 5-10 semillas diferentes para cada lote. Esto previene que el modelo se sobre-indexe en los patrones de cualquier ejemplo individual.
Estrategia 3: Extracción de Cadena de Pensamiento
Para tareas donde el razonamiento importa — no solo la respuesta final — genera ejemplos que incluyan el proceso de razonamiento. Esto produce mejores datos de entrenamiento para tareas como clasificación con explicaciones, extracción multi-paso, o toma de decisiones.
Task: Classify this legal clause and explain why.
Clause: "The Licensee shall not reverse-engineer, decompile, or disassemble the Software."
Think step by step:
1. This clause restricts specific actions (reverse-engineering, decompiling, disassembling)
2. These restrictions apply to "the Licensee" — the party receiving the license
3. This is a standard IP protection clause found in software license agreements
4. Classification: "intellectual_property_restriction"
Now generate 20 similar examples with full reasoning chains. Vary the clause types across: IP restrictions, liability limitations, termination conditions, payment terms, confidentiality obligations.
Costo: Mayor por ejemplo porque las salidas son más largas (~$0.40-0.80 por 100 ejemplos). Para 5,000 ejemplos: $20-40.
Fortalezas: Los modelos entrenados con datos de cadena de pensamiento son más confiables y más interpretables. Aprenden el patrón de razonamiento, no solo la respuesta.
Debilidades: Más lento de generar y más caro. Las cadenas de razonamiento en sí necesitan revisión de calidad — una cadena de razonamiento que suena plausible pero es incorrecta es peor que ningún razonamiento.
Estrategia 4: Generación Basada en Personas
Genera datos desde múltiples personas simuladas para maximizar la diversidad. Esto es particularmente efectivo para tareas orientadas al cliente donde las entradas provienen de diferentes tipos de usuarios.
You are a frustrated small business owner who has been double-charged on your monthly subscription. Write a support email. Be specific about the amount ($49.99) and include at least one emotional statement. Keep it under 100 words.
Luego varía la persona:
You are a polite enterprise IT admin submitting a ticket on behalf of a team member. Write a formal support email about the same billing issue. Use professional language and reference a ticket number.
Costo: Similar al prompting directo. 5,000 ejemplos: $8-15.
Fortalezas: Produce datos genuinamente diversos porque cada persona trae diferente vocabulario, tono, estructura e inquietudes. Esta diversidad es exactamente lo que previene que tu modelo ajustado aprenda un estilo "sintético" estrecho.
Debilidades: Requiere más esfuerzo de ingeniería de prompts al inicio. Necesitas definir 10-20 personas distintas para obtener diversidad significativa.
El Pipeline de Filtrado de Calidad
Los datos sintéticos crudos no son datos de entrenamiento. Necesitan filtrado. Espera descartar el 15-30% de los ejemplos generados.
Paso 1: Validación de formato. Analiza cada ejemplo. Rechaza cualquier cosa que no coincida con tu esquema esperado (campos faltantes, tipos incorrectos, JSON malformado). Esto captura el 5-10% de los ejemplos.
Paso 2: Deduplicación. Usa similitud de embeddings (similitud coseno mayor a 0.95) para encontrar cuasi-duplicados. Los datos sintéticos tienen una fuerte tendencia a la repetición, especialmente en lotes posteriores. Esto típicamente elimina otro 5-10%.
Paso 3: Verificación de etiquetas. Para tareas de clasificación, ejecuta una muestra de ejemplos generados a través de un segundo modelo frontier y verifica el acuerdo. Si los dos modelos no están de acuerdo en la etiqueta, marca el ejemplo para revisión. La tasa de acuerdo debería ser mayor al 90%; si es menor, tu definición de tarea puede ser ambigua.
Paso 4: Distribución de dificultad. Verifica que tu dataset incluya ejemplos fáciles, medios y difíciles. Los datos sintéticos se sesgan hacia dificultad media. Si más del 70% de tus ejemplos son clasificaciones "obvias", genera intencionalmente más casos extremos.
Paso 5: Distribución de longitud y complejidad. Grafica la distribución de longitudes de entrada y compara con tus datos reales. Las entradas sintéticas tienden a agruparse alrededor de una longitud modal. Agrega restricciones explícitas de longitud a tus prompts de generación para expandir la distribución.
Coincidencia de Distribución: El Paso Que la Mayoría Omite
Tus datos sintéticos necesitan coincidir con la distribución de entradas que tu modelo verá en producción. Esto significa coincidir en:
- Distribución de categorías. Si el 40% de los tickets de soporte reales son relacionados con facturación, el 40% de tus datos de entrenamiento también deberían serlo. No generes ejemplos iguales por categoría a menos que tu tráfico de producción sea realmente equilibrado (casi nunca lo es).
- Distribución de complejidad de entrada. Si las entradas reales van de 10 a 500 palabras, tus datos sintéticos deberían cubrir ese rango proporcionalmente.
- Frecuencia de casos extremos. Si el 5% de las entradas reales son ambiguas o multi-categoría, incluye esa proporción en los datos de entrenamiento.
La forma más fácil de hacer esto: analiza tus datos reales existentes (incluso si son pocos) para estimar la distribución, luego establece cuotas explícitas para cada categoría y nivel de complejidad en tus prompts de generación.
La Regla 80/20: Mezclando Datos Reales y Sintéticos
Los datasets de entrenamiento más efectivos no son puramente sintéticos. Mezclan datos reales y sintéticos. La proporción que funciona consistentemente bien a través de tareas:
- 80% sintético, 20% real para tareas donde tienes datos reales limitados (50-200 ejemplos)
- 50/50 cuando tienes más datos reales (500+)
- 20% sintético, 80% real cuando tienes datos reales abundantes y usas sintéticos solo para llenar vacíos en categorías subrepresentadas
¿Por qué incluir datos reales? Los ejemplos reales anclan el modelo a patrones de producción reales. Contienen el ruido, las imperfecciones y los casos extremos que los datos sintéticos subrepresentan sistemáticamente. Un modelo entrenado con 100% datos sintéticos funciona bien en entradas similares a las sintéticas pero se degrada con el desorden de datos del mundo real.
Recomendación práctica: Comienza con 80/20. Ajusta, evalúa en un conjunto retenido de solo ejemplos reales (nunca evalúes en datos sintéticos — eso es circular). Si el rendimiento está por debajo del objetivo, aumenta la proporción de datos reales en lugar de generar más datos sintéticos. Más datos sintéticos tienen rendimientos decrecientes; más datos reales casi siempre ayuda.
Desglose de Costos: Lo Que Realmente Cuesta
Generar un dataset completo de fine-tuning con datos sintéticos es notablemente barato:
| Tamaño del Dataset | Costo GPT-4o | Costo Claude 3.5 | Tiempo (reloj) |
|---|---|---|---|
| 500 ejemplos | $1-3 | $1-2 | 15-30 min |
| 1,000 ejemplos | $2-5 | $2-4 | 30-60 min |
| 5,000 ejemplos | $8-20 | $8-15 | 2-4 horas |
| 10,000 ejemplos | $15-40 | $15-30 | 4-8 horas |
Estos costos asumen entradas y salidas de longitud media (100-300 tokens cada una). Las tareas con salidas más largas (por ejemplo, resumen, generación de formato largo) costarán 2-3x más.
Para comparación, la anotación humana a $0.50-2.00 por ejemplo (típico para plataformas como Scale AI o Labelbox):
| Tamaño del Dataset | Costo de Anotación Humana | Tiempo |
|---|---|---|
| 1,000 ejemplos | $500-2,000 | 1-4 semanas |
| 5,000 ejemplos | $2,500-10,000 | 4-12 semanas |
Los datos sintéticos no son gratis — pero son 100-500x más baratos que la anotación humana para la mayoría de las tareas.
Cómo Encaja Ertas Vault
Ertas Vault es donde vive tu flujo de trabajo de datos sintéticos. Sube tus ejemplos semilla, ejecuta pipelines de generación, aplica filtros de calidad automatizados y gestiona datasets versionados — todo sin enviar datos a servicios externos.
Las ventajas clave para datos sintéticos específicamente:
- Gestión de semillas. Etiqueta y organiza tus ejemplos reales. Muestrea semillas diversas automáticamente para cada lote de generación.
- Pipeline de calidad. Deduplicación incorporada, validación de formato y análisis de distribución. Ve dónde tu dataset está débil antes de generar más.
- Control de versiones. Rastrea cada ejecución de generación. Compara el rendimiento del modelo a través de versiones del dataset. Revierte si un lote degrada la calidad.
- Privacidad primero. Tus datos semilla reales nunca salen de tu infraestructura. Genera datos sintéticos localmente o a través de tus propias claves de API. No se requieren acuerdos de procesamiento de datos con terceros.
El cuello de botella de datos es real, pero es solucionable. La generación de datos sintéticos no es un atajo — es una técnica de ingeniería legítima que, cuando se hace con controles de calidad adecuados, produce datasets de fine-tuning que funcionan.
Ship AI that runs on your users' devices.
Ertas early bird pricing starts at $14.50/mo — locked in for life. Plans for builders and agencies.
Lectura Relacionada
- Generación de Datos Sintéticos para Fine-Tuning: Técnicas Que Funcionan — profundización en técnicas específicas de generación y señales de calidad
- Cómo Hacer Fine-Tune a un LLM: La Guía Práctica Completa — recorrido completo de fine-tuning desde preparación de datos hasta despliegue
Ship AI that runs on your users' devices.
Early bird pricing starts at $14.50/mo — locked in for life. Plans for builders and agencies.
Keep reading

From Prompt Engineering to Fine-Tuning: The Migration Playbook
A practical playbook for teams migrating from prompt engineering to fine-tuning — when to make the switch, how to convert prompts into training data, and the step-by-step migration process.

Synthetic Data Generation in Air-Gapped Environments for Fine-Tuning
How to generate synthetic training data in air-gapped environments — covering paraphrasing, instruction generation, DPO pairs, and seed expansion using local LLMs only.

Model Distillation Explained: Run Sonnet-Quality Output on a $0 Inference Bill
A complete guide to model distillation — how to transfer capabilities from large frontier models like Claude Sonnet into small local models, achieving comparable quality at zero ongoing inference cost.