
Generación de Datos Sintéticos en Entornos Air-Gapped para Fine-Tuning
Cómo generar datos de entrenamiento sintéticos en entornos air-gapped — cubriendo paráfrasis, generación de instrucciones, pares DPO y expansión de semillas usando solo LLMs locales.
Los datasets empresariales son pequeños. No "nos gustaría tener más" pequeños — estructuralmente pequeños. Un hospital podría tener 1,500 informes de radiología relevantes. Un bufete de abogados podría tener 800 contratos del tipo específico necesario. Un banco podría tener 3,000 narrativas de transacciones que se ajustan a la tarea de clasificación.
Para fine-tuning, esto frecuentemente es insuficiente. La mayoría de los enfoques de fine-tuning producen mejores resultados con 5,000-50,000 ejemplos de entrenamiento, dependiendo de la complejidad de la tarea. Cuando los datos reales son escasos, la generación de datos sintéticos llena el vacío — usando modelos para crear ejemplos de entrenamiento adicionales que amplían la cobertura, equilibran la distribución de clases e introducen variación.
En entornos air-gapped, donde no se permite tráfico de red, toda la generación debe usar modelos locales. Esta guía cubre las técnicas prácticas, el flujo de trabajo y las limitaciones.
Por Qué los Datos Sintéticos Importan para Proveedores de Servicios
Los proveedores de servicios que entregan fine-tuning a clientes empresariales enfrentan el problema de datos escasos en casi cada proyecto. Los clientes empresariales tienen suficientes datos para demostrar la tarea pero raramente suficientes para un entrenamiento robusto del modelo.
Las opciones son:
- Entrenar con lo que tienes — Funciona para tareas simples con datasets grandes. Produce modelos frágiles cuando los datos son escasos.
- Recopilar más datos reales — Ideal pero lento. Requiere tiempo de expertos del dominio que los clientes pueden no tener. Puede tomar meses acumular suficientes.
- Generar datos sintéticos — Expande el dataset inmediatamente usando los datos reales existentes como semillas. Disponible ahora, con calidad controlable.
Los datos sintéticos no son un reemplazo para los datos reales. Son un multiplicador de fuerza. Un dataset de 1,500 ejemplos reales aumentado con 5,000 ejemplos sintéticos típicamente produce mejores resultados de fine-tuning que los 1,500 ejemplos reales solos — siempre que los datos sintéticos se filtren por calidad.
Técnicas para Generación de Datos Sintéticos
Paráfrasis
Toma un ejemplo de entrenamiento existente y genera variaciones que preservan el significado pero cambian la forma superficial. Esta es la técnica de aumento más simple y segura.
Cómo funciona: Pide a un LLM local con un ejemplo existente y solicita 3-5 paráfrasis. Filtra las paráfrasis generadas por similitud (demasiado similar = sin beneficio, demasiado diferente = deriva semántica).
Cuándo usarla: Cuando necesitas más volumen de entrenamiento pero la distribución de etiquetas ya está equilibrada. La paráfrasis no cambia la distribución — solo aumenta la densidad.
Controles de calidad:
- La similitud semántica entre el original y la paráfrasis debe ser 0.7-0.9 (medida por modelo de embedding local)
- Las copias exactas o casi exactas deben descartarse
- La terminología específica del dominio debe preservarse, no parafrasearse
Generación de Instrucciones a Partir de Documentos
Transforma documentos crudos en pares de entrenamiento instrucción/completación. Esta es la técnica principal para construir datasets de fine-tuning a partir de colecciones de documentos.
Cómo funciona: Dado un documento fuente, pide al modelo que genere preguntas o instrucciones que el documento pueda responder. Luego genera (o extrae) la completación del documento.
Ejemplo: Dada una cláusula de contrato sobre derechos de terminación, genera:
- "¿Cuáles son las condiciones de terminación en este acuerdo?"
- "Resume la cláusula de terminación anticipada."
- "¿Bajo qué circunstancias puede cualquiera de las partes terminar?"
Cada par pregunta-respuesta se convierte en un ejemplo de entrenamiento.
Cuándo usarla: Cuando el cliente tiene documentos pero no pares instrucción/completación. Este es el escenario empresarial más común — las organizaciones tienen conocimiento en documentos pero no en el formato que requiere el fine-tuning.
Controles de calidad:
- Las preguntas generadas deben ser respondibles desde el documento fuente
- Las completaciones deben estar fundamentadas en hechos del documento, no alucinadas
- Las preguntas deben variar en tipo (factual, analítico, resumen) y complejidad
Creación de Pares DPO
El entrenamiento de Direct Preference Optimization (DPO) requiere pares de respuestas donde una es preferida sobre la otra. Generar estos pares sintéticamente es valioso cuando quieres dirigir el comportamiento del modelo — preferir respuestas concisas, preferir tono formal, preferir respuestas que citen fuentes.
Cómo funciona: Para una instrucción dada, genera dos respuestas: una siguiendo el comportamiento deseado y otra viol ándolo. Etiqueta el par como elegido/rechazado.
Cuándo usarla: Cuando el objetivo del fine-tuning incluye alineación de comportamiento (tono, formato, seguridad, comportamiento de citación) más allá de solo precisión factual.
Controles de calidad:
- La diferencia entre elegido y rechazado debe ser clara y consistente
- Ambas respuestas deben ser fluidas — la respuesta rechazada no debe estar obviamente rota
- La dirección de preferencia debe alinearse con una guía de estilo documentada
Expansión de Ejemplos Semilla
Comienza con un conjunto pequeño de ejemplos de alta calidad verificados por humanos y genera ejemplos adicionales que coincidan con el patrón, distribución y calidad de las semillas.
Cómo funciona: Proporciona 10-20 ejemplos semilla como contexto. Pide al modelo que genere nuevos ejemplos siguiendo el mismo patrón. Filtra por calidad y deduplicación.
Cuándo usarla: Cuando tienes un número pequeño de ejemplos creados por expertos y necesitas escalar. Funciona bien para tareas especializadas donde el patrón es consistente (p. ej., resumen de notas clínicas, extracci ón de cláusulas de contratos).
Controles de calidad:
- Los ejemplos generados deben coincidir con la distribución de los ejemplos semilla (tema, longitud, complejidad)
- Revisión manual de una muestra aleatoria (10-20%) para verificar calidad
- La similitud semántica entre ejemplos generados y semillas debe estar en un rango definido (ni demasiado cercana, ni demasiado lejana)
Restricciones Air-Gapped
Todas las técnicas anteriores funcionan con APIs en la nube. La restricción en entornos air-gapped es que la generación debe usar modelos locales exclusivamente. Esto introduce limitaciones y consideraciones específicas:
Techo de capacidad del modelo: Los modelos locales (7B-70B parámetros) son menos capaces que los modelos frontier de API (GPT-4, Claude) para tareas de generación. La calidad del texto generado es menor, las tasas de alucinación son más altas, y el seguimiento de instrucciones es menos confiable.
Mitigación: Filtrado de calidad más estricto. Genera más ejemplos de los que necesitas y filtra agresivamente al top 60-70% por puntuación de calidad.
Restricciones de throughput: Generar 10,000 ejemplos sintéticos en una sola GPU toma horas o días, dependiendo del tamaño del modelo y longitud de salida. Planifica el tiempo de generación en el cronograma del proyecto.
Mitigación: Usa modelos más pequeños (7B-8B) para generación inicial a alto throughput, luego usa un modelo más grande (13B-70B) para filtrado de calidad. El modelo de generación no necesita ser perfecto — el filtro sí.
Sin actualizaciones de modelo: En un entorno air-gapped, no puedes descargar nuevos pesos de modelo durante el proyecto. Pre-carga todos los modelos que puedas necesitar antes de desconectar la red.
Comparación: Herramientas de Datos Sintéticos
Distilabel (Argilla)
Biblioteca open-source para generación de datos sintéticos usando LLMs. Basada en pipelines — define pasos de generación como un grafo dirigido.
Fortalezas: Flexible, soporta múltiples backends de LLM, bien documentada. Debilidades: Requiere experiencia en Python para configurar. Sin GUI. Las definiciones de pipeline son código, no configuración. Los expertos del dominio no pueden usarla independientemente.
Gretel
Plataforma comercial de datos sintéticos enfocada en generación de datos seguros para privacidad. Soporta datos tabulares y de texto.
Fortalezas: Fuertes garantías de privacidad, buena para aumento de datos tabulares. Debilidades: Modelo de despliegue cloud/híbrido — no apta para entornos completamente air-gapped. Licencia comercial.
Scripts Personalizados
Muchos equipos escriben scripts de generación personalizados — un bucle de Python llamando a la API de Ollama con plantillas de prompts y filtros de calidad.
Fortalezas: Control completo, sin dependencias más allá del runtime del LLM. Debilidades: Carga de mantenimiento, sin métricas de calidad incorporadas, sin rastro de auditoría, no reutilizable entre proyectos.
Flujo de Trabajo Práctico
Un flujo de trabajo paso a paso para generación de datos sintéticos en un entorno air-gapped:
Paso 1: Seleccionar ejemplos semilla (1-2 horas) De tu dataset etiquetado, selecciona 20-50 ejemplos de alta calidad y representativos. Estos deben cubrir el rango completo de categorías, niveles de complejidad y formatos en tu dataset.
Paso 2: Configurar LLM local (30 minutos) Despliega el modelo de generación vía Ollama o llama.cpp. Prueba la velocidad de inferencia y calidad de salida con algunos prompts de muestra. Ajusta la temperatura (0.7-0.9 funciona bien para generación) y max tokens.
Paso 3: Diseñar prompts de generación (2-4 horas) Escribe y prueba prompts para cada técnica de generación que usarás. Prueba contra 20 ejemplos semilla. Itera hasta que la calidad de salida sea consistente.
Paso 4: Generar a escala (4-24 horas, dependiendo del volumen) Ejecuta generación por lotes para todas las técnicas. Apunta a 3-5x el volumen que necesitas — filtrarás después.
Paso 5: Filtro de calidad (2-4 horas) Aplica filtros de calidad automatizados:
- Similitud semántica con semillas (mantener rango 0.6-0.9)
- Deduplicación contra datos reales y dentro de datos sintéticos
- Verificaciones heurísticas de calidad (longitud, coherencia, cumplimiento de formato)
- Opcional: usa un modelo local más grande como juez de calidad
Paso 6: Revisión humana (2-8 horas) Los expertos del dominio revisan una muestra aleatoria del 10-20% de los datos sintéticos filtrados. Rechazan ejemplos que sean factualmente incorrectos, fuera de tema o estilísticamente inconsistentes.
Paso 7: Combinar con datos reales (30 minutos) Combina datos sintéticos filtrados con datos reales etiquetados. Marca los ejemplos sintéticos con un flag de metadata (para trazabilidad). Proporción final típica: 20-40% sintético, 60-80% real.
Filtrado de Calidad: El Paso No Negociable
Los datos sintéticos sin filtrado de calidad son peores que no tener datos sintéticos. El texto generado sin filtrar introduce alucinaciones, errores factuales y cambios de distribución que degradan el rendimiento del modelo.
Pipeline de filtrado mínimo:
- Cumplimiento de formato: ¿El ejemplo generado coincide con el esquema requerido?
- Deduplicación: ¿Este ejemplo es distinto de todos los demás ejemplos (reales y sintéticos)?
- Relevancia semántica: ¿Este ejemplo es relevante para la tarea de entrenamiento?
- Fundamentación factual: Para ejemplos generados a partir de documentos fuente, ¿puede verificarse la respuesta contra la fuente?
- Verificación de diversidad: ¿El conjunto sintético cubre la misma distribución que los datos reales, o está agrupado?
El módulo Augment de Ertas Data Suite maneja la generación de datos sintéticos usando LLMs locales (vía Ollama/llama.cpp) con filtrado de calidad y deduplicación incorporados. Los prompts de generación se configuran a través de una interfaz visual, y cada ejemplo generado se etiqueta con su semilla fuente, método de generación y puntuaciones de calidad — todo registrado en el rastro de auditoría del proyecto.
Conexión con el Pipeline
Los datos aumentados (reales + sintéticos) alimentan la exportación, donde el dataset combinado se formatea para el caso de uso objetivo — JSONL para fine-tuning, texto fragmentado para RAG, u otros formatos según sea necesario.
Para la vista general completa del pipeline, consulta Cómo Construir un Pipeline de Preparación de Datos On-Premise para Fine-Tuning de LLM.
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

On-Premise Runtime Architecture for Enterprise AI Data Preparation
Architectural guide for running AI data preparation on-premise — deployment models, compute tiers, local LLM inference, and storage strategies for enterprise datasets.

Running Ollama for AI-Assisted Data Prep in Air-Gapped Enterprise Environments
Step-by-step guide to deploying Ollama for AI-assisted data labeling in air-gapped environments — model transfer, offline setup, GPU configuration, and common failure modes.

How to Build an On-Premise Data Preparation Pipeline for LLM Fine-Tuning
A complete guide to building on-premise data preparation pipelines for LLM fine-tuning — covering the 5 stages from ingestion to export, tool comparisons, and architecture for regulated environments.