Datos sintéticos: cómo generarlos para LLM y pruebas de software

Aprende a generar datos sintéticos para evaluar y ajustar LLM y probar software, con ejemplos, filtros, revisión humana y condiciones de uso de proveedores.

Publicado el

Datos sintéticos: cómo generarlos para LLM y pruebas de software

La generación de datos sintéticos permite ampliar los casos disponibles, pero los ejemplos generados no son una prueba independiente de que el sistema funcione. Conviene separar 3 tareas: evaluar el comportamiento, enseñarlo mediante ajuste fino y crear datos para pruebas de software. Cada una necesita sus propios criterios de aceptación.

Documentación de proveedores y condiciones de uso de los resultados verificadas el 22 de octubre de 2026. Los ejemplos de solicitudes de soporte y los tamaños del piloto que aparecen a continuación se han creado para ilustrar el proceso; no describen un experimento realizado con un modelo.

¿Qué es la generación de datos sintéticos?

La generación de datos sintéticos consiste en crear registros o ejemplos artificiales para un fin concreto. Al trabajar con un modelo de lenguaje de gran tamaño, o LLM, suele significar producir textos como solicitudes de soporte, pares de preguntas y respuestas, ejemplos de extracción o conversaciones a partir de una especificación y un pequeño conjunto de ejemplos aprobados.

Pensemos en un simulador de conducción. Permite practicar una y otra vez un cruce difícil sin esperar a que esa situación se presente en la carretera. Superar la simulación no demuestra con qué frecuencia aparece ese cruce en el tráfico ni que se pueda conducir por cualquier vía. Los conjuntos de datos sintéticos ofrecen esa misma separación útil entre los casos que se practican y la evidencia sobre el mundo real.

El método importa. Un generador basado en reglas sigue instrucciones como mantener el total de un pedido igual a la suma de sus partidas. Un sintetizador de datos tabulares aprende patrones entre columnas. Un LLM genera lenguaje condicionado por un prompt y por el contexto que recibe. Se pueden combinar: el código crea un pedido válido y el LLM redacta la queja del cliente sobre ese pedido.

Generar datos sintéticos tampoco equivale a enmascarar un registro. Sustituir el nombre de un cliente deja intacto el resto de su historia. El aumento de datos modifica un ejemplo existente, por ejemplo al reformular una pregunta; las variantes siguen vinculadas al original. Ninguna de estas operaciones protege automáticamente la privacidad del registro ni crea evidencia independiente.

Evaluaciones: casos difíciles con respuestas verificadas de forma independiente

Al desarrollar una aplicación, las evaluaciones sintéticas resultan especialmente útiles para fallos conocidos: información incompleta, instrucciones contradictorias, solicitudes que el sistema no puede atender y formas poco habituales de expresarse. Una evaluación, o eval, es una prueba repetible del comportamiento del sistema.

Si un asistente de soporte debe pedir aclaraciones cuando un problema de cuenta es ambiguo, hay que generar solicitudes ambiguas de forma deliberada. Una persona debe comprobar la acción esperada frente a las reglas de atención. La respuesta del generador no debe convertirse en la respuesta de referencia solo porque suene convincente.

Cuando sea posible, mantén un conjunto de evaluación separado con interacciones reales cuyo uso esté permitido. Si no puedes utilizarlas, encarga casos independientes a alguien que conozca la tarea. Eso permite comprobar la especificación, pero no determinar la precisión en toda la población que usa el sistema en producción.

Ajuste fino: enseñar un comportamiento concreto

Al adaptar un modelo, los ejemplos sintéticos pueden mostrar un formato, una regla de clasificación o un estilo de respuesta poco representado en los datos disponibles. El ajuste fino, o fine-tuning, consiste en actualizar un modelo mediante el entrenamiento con ejemplos.

Parte de un fallo observable: el modelo sigue enviando solicitudes ambiguas al área de facturación. Añade casos de ambigüedad revisados y compara el modelo adaptado con la referencia actual usando ejemplos que se hayan mantenido intactos. Aumentar el tamaño del archivo de entrenamiento no es, por sí solo, una medida de éxito.

Sigue el proceso de ajuste fino cuando la tarea y el conjunto de aceptación sean estables. Si el problema es que falta contexto factual o que este cambia, corrige primero el contexto que recibe la aplicación antes de intentar enseñarle hechos mediante respuestas generadas.

Generación de datos sintéticos para pruebas de software

En el desarrollo de software, los datos sintéticos para pruebas deben poner a prueba las reglas de la aplicación: campos ausentes, envíos duplicados, textos de longitudes inusuales, transiciones de estado inválidas y registros relacionados en la base de datos.

Una prueba del proceso de compra necesita relaciones válidas entre pedidos, clientes y pagos. No necesita que un modelo de lenguaje invente la aritmética. Implementa esas restricciones en código y utiliza un LLM donde un lenguaje realista aporte valor, por ejemplo en una nota de entrega que contradiga la dirección de envío.

Quien compra un conjunto de datos debe preguntar a cuál de estas tareas responde. Un conjunto adecuado para una demostración no necesariamente sirve para entrenar, y un corpus de entrenamiento no se convierte automáticamente en un conjunto de evaluación.

Un ejemplo completo: de los casos iniciales a los candidatos revisados

Empieza con una tarea acotada cuyas respuestas correctas puedas explicar sin consultar al generador. Este procedimiento crea ejemplos candidatos para clasificar solicitudes ficticias de soporte como billing, access o human_review.

Las reglas ficticias son sencillas: los problemas con pagos y facturas van a facturación; los de inicio de sesión y contraseñas, a acceso; las solicitudes poco claras o que combinan ambos tipos, a revisión humana. No se deben inferir hechos que el cliente no haya aportado.

Ejemplos de datos sintéticos: seis casos iniciales con etiquetas explícitas

Estos casos creados para el ejemplo muestran dónde está el límite:

  • «Me cobraron dos veces en la tarjeta». → billing
  • «Esta factura indica un plan incorrecto». → billing
  • «El enlace para restablecer la contraseña caducó». → access
  • «No puedo iniciar sesión después de restablecer mi contraseña». → access
  • «Pagué, pero no puedo iniciar sesión». → human_review
  • «Sigue sin funcionar». → human_review

Los últimos ejemplos importan tanto como los evidentes. Enseñan al generador que la incertidumbre es un resultado válido. La guía de few-shot prompting explica cómo los ejemplos transmiten reglas que una instrucción general puede dejar poco claras.

  1. Separa las fuentes antes de generar variantes

    Asigna las familias de origen a entrenamiento, desarrollo o evaluación final antes de generar nada. Una familia de origen incluye el registro original y sus paráfrasis, traducciones o turnos posteriores de conversación. En una tarea basada en documentos, agrupa por documento de origen; en soporte, por conversación o cliente cuando eso evite la filtración de información entre conjuntos.

    En este ejemplo, los seis casos iniciales pertenecen al conjunto destinado a la generación. Encarga los casos de evaluación final a otra persona que no haya visto los candidatos generados. En un proyecto real, excluye ese material de evaluación de los prompts de generación y de las instrucciones de filtrado.

    Si una comprobación posterior de duplicados detecta coincidencias con el conjunto de evaluación protegido, pon en cuarentena el candidato de entrenamiento. No devuelvas al generador el texto de evaluación reservado para pedirle una paráfrasis mejor.

  2. Define qué casos cubrir en lugar de pedir variedad

    Usa una matriz piloto con 3 etiquetas objetivo, 2 tonos, 2 longitudes y 2 formas lingüísticas. El resultado son 24 celdas. Pide 5 candidatos por celda para obtener 120 candidatos antes del filtrado.

    Combina un tono neutro o de frustración, una sola oración o varias, y una formulación directa o una indirecta o con negación. Son parámetros propuestos para este ejemplo, no una recomendación universal sobre el tamaño de un conjunto de datos.

    Cada celda solicita un tipo concreto de ejemplo. No garantiza que el modelo produzca un caso válido. Si una solicitud indirecta de facturación resulta realmente ambigua, recházala para esa celda o cambia su etiqueta tras revisarla.

  3. Genera una celda de la matriz cada vez

    Envía juntos las reglas, los seis ejemplos iniciales y la celda elegida. Las solicitudes pequeñas facilitan rastrear un ejemplo rechazado hasta la instrucción que lo produjo. Guarda con cada trabajo el prompt, el identificador del modelo, los parámetros de generación y los identificadores de las familias de origen.

    Usa este prompt para la celda de facturación con tono de frustración, una sola oración y formulación indirecta:

    Crea 5 solicitudes ficticias de soporte como ejemplos candidatos para un clasificador de solicitudes.

    Reglas: billing abarca problemas de pagos o facturas; access abarca problemas de inicio de sesión o contraseñas; human_review abarca solicitudes poco claras o que combinan facturación y acceso. Nunca infieras hechos que falten.

    Ejemplos iniciales: «Me cobraron dos veces en la tarjeta». = billing; «Esta factura indica un plan incorrecto». = billing; «El enlace para restablecer la contraseña caducó». = access; «No puedo iniciar sesión después de restablecer mi contraseña». = access; «Pagué, pero no puedo iniciar sesión». = human_review; «Sigue sin funcionar». = human_review.

    Celda solicitada: billing; tono de frustración; una sola oración; formulación indirecta o con negación. Cada candidato debe describir una situación distinta, no limitarse a cambiar sinónimos de un ejemplo inicial. El problema de facturación debe poder identificarse según las reglas. No añadas nombres, datos de contacto, números de cuenta, nombres de empresas ni texto copiado de clientes.

    Devuelve únicamente un array JSON. Cada objeto debe contener case_id, text, proposed_label y policy_reason. proposed_label debe ser billing, access o human_review. policy_reason debe identificar brevemente la regla aplicable, sin describir razonamientos ocultos. Si no puedes crear un candidato válido para esta celda, devuelve menos candidatos. No rellenes el array con duplicados.

    Trata proposed_label como una propuesta. No uses la explicación como prueba de que la propuesta es correcta.

  4. Filtra antes de pedir a un modelo que puntúe la calidad

    Rechaza el JSON mal formado, los campos ausentes, los textos vacíos, los identificadores de caso duplicados y las etiquetas que no pertenezcan al conjunto permitido. Comprueba por separado la celda solicitada: un párrafo cortés no cumple los requisitos de una celda de una sola oración con tono de frustración.

    Busca identificadores personales, secretos y coincidencias con textos de origen protegidos dentro de un entorno aprobado. Un detector de patrones puede encontrar correos electrónicos evidentes o formatos de números de cuenta; no puede certificar que una historia carezca de detalles identificativos.

    Después, contrasta el significado con las reglas. «¿Otra factura con el plan incorrecto, en serio?» es un candidato plausible para facturación. «Pagué otra vez y sigo sin poder iniciar sesión» debe ir a revisión humana según estas reglas. Rechaza este último si el generador lo etiquetó como facturación, aunque su justificación parezca convincente.

  5. Elimina duplicados de texto y de situación

    Normaliza las mayúsculas, las minúsculas y los espacios en blanco para detectar duplicados textuales exactos, pero conserva el texto original para revisarlo. Mantén un índice de textos normalizados que abarque los ejemplos iniciales y los candidatos generados. Si un mismo texto tiene etiquetas contradictorias, pon en cuarentena todo el conflicto para resolverlo mediante revisión.

    Compara después el significado. Los embeddings, representaciones numéricas del texto utilizadas para buscar similitudes, pueden señalar casos casi duplicados para su revisión. Calibra cualquier umbral con ejemplos de tu propia tarea; no existe un límite universal de similitud que equivalga a «duplicado».

    No elimines un par solo porque sus palabras se parezcan. «Puedo iniciar sesión» y «No puedo iniciar sesión» quedan a distintos lados del criterio de decisión. En cambio, muchas quejas redactadas de formas distintas sobre el mismo enlace caducado para restablecer una contraseña pueden aportar poca cobertura nueva.

  6. Revisa una muestra con personas y aprueba los datos según su uso

    Para el piloto, pide a una persona que etiquete un candidato superviviente elegido al azar de cada celda, hasta 24 ejemplos, sin ver la etiqueta ni la justificación del generador. Revisa también todos los desacuerdos señalados, las alertas de contenido sensible y los casos situados en el límite entre reglas.

    Si la revisión revela un error recurrente, pon en cuarentena la celda afectada, corrige sus instrucciones y revisa los nuevos resultados de esa celda. No arregles solo la fila de la muestra dando por hecho que las demás están bien. Esta muestra ayuda a depurar el proceso; no ofrece una garantía estadística de que el conjunto carezca de errores.

    Antes de dar los datos por aprobados, verifica manualmente todas las respuestas esperadas que vayan a entrar en un conjunto de evaluación final. Para los candidatos de entrenamiento, ajusta la profundidad de la revisión y el umbral de aceptación a las consecuencias de un error. Registra la cantidad aceptada por celda, los motivos de rechazo, las decisiones de revisión y la versión del conjunto de datos. Mantén los casos de evaluación generados separados del conjunto intacto con el que medirás el progreso.

Sección arquitectónica que separa las familias de origen en una rama de entrenamiento con variantes y una cámara aislada para el conjunto reservado
Separa las familias de origen antes de generar datos. Mantén el conjunto reservado fuera del ciclo de generación y ajuste.

Un candidato depurado podría tener este aspecto. Es un registro ilustrativo, no una respuesta capturada de una API:

JSON
{
  "case_id": "billing-frustrated-indirect-a",
  "text": "Another invoice with the wrong plan, seriously?",
  "proposed_label": "billing",
  "policy_reason": "The customer identifies an invoice problem."
}

El resultado que importa es un caso revisado y trazable. Que el generador inicial haya devuelto todos los candidatos solicitados es secundario. Nunca rellenes una celda deficiente solo para alcanzar la cantidad objetivo.

Herramientas para generar datos sintéticos: qué ofrece su documentación

Elige las herramientas según la parte del proceso que controlan. La API de un modelo es la interfaz que usa tu código para solicitar respuestas; su servicio por lotes programa esas solicitudes. Una biblioteca de conjuntos de datos organiza la generación y la retroalimentación. Un sintetizador tabular aprende relaciones en datos estructurados. Ninguna de esas funciones sustituye tus criterios de aceptación.

IA generativa para crear datos sintéticos: las API por lotes

OpenAI API ofrece Batch para solicitudes asíncronas enviadas en un archivo JSONL, con un objeto JSON por línea. Su documentación exige un custom_id único y advierte que el orden de salida puede diferir del de entrada. Asocia los resultados por identificador y revisa los fallos y las generaciones incompletas antes de procesar los candidatos. Documentación de OpenAI Batch.

Documentación de OpenAI sobre el envío y la recuperación de solicitudes asíncronas por lotes
OpenAI API: Batch

Claude API, de Anthropic, ofrece Message Batches para solicitudes independientes de Messages. Los resultados distinguen entre solicitudes completadas con éxito, con errores, canceladas y caducadas, y custom_id vincula cada resultado con su entrada. La limitación es operativa: que un lote haya sido aceptado no demuestra que todos sus ejemplos se hayan completado. Reintenta el trabajo pendiente por identificador en lugar de regenerar todo el conjunto de datos. Documentación de lotes de Claude.

Documentación de Claude sobre Message Batches y los resultados de cada solicitud
Claude API: Message Batches

Gemini API, de Google, ofrece Batch con objetos de solicitud incluidos directamente o mediante un archivo JSONL cargado. Las solicitudes basadas en archivos llevan una key que identifica el resultado correspondiente. Usa la opción de archivo para conjuntos más grandes procesados sin interacción en tiempo real; el plazo documentado es un objetivo, así que evita que un flujo interactivo dependa de una finalización inmediata. Documentación de Gemini Batch.

Documentación de Gemini que muestra el envío de lotes con solicitudes incluidas directamente o mediante archivos
Gemini API: Batch

Estos límites por lote, verificados en la documentación enlazada, determinan cómo dividir los trabajos. No limitan el tamaño total del conjunto de datos que puedes crear mediante varios trabajos.

APILímite por envíoPlazoIdentificador para asociar resultados
OpenAI Batch50,000 solicitudes; archivo de entrada de 200 MBVentana de finalización de 24 horas; las solicitudes sin terminar pueden caducarcustom_id
Claude Message Batches100,000 solicitudes o 256 MB, lo que se alcance primeroCaduca a las 24 horascustom_id
Gemini BatchSolicitudes incluidas directamente de menos de 20 MB; archivo de entrada de hasta 2 GBPlazo objetivo de 24 horaskey de la solicitud en el archivo

Una solicitud por lotes y un ejemplo candidato son unidades distintas. Si cada solicitud completada devuelve varios candidatos, registra ambos recuentos. Anota los fallos de procesamiento, las negativas del modelo y las salidas truncadas junto con los errores de transporte. Una respuesta HTTP correcta no basta para obtener una fila útil para entrenamiento.

Distilabel: organizar la generación y la retroalimentación

Distilabel es un framework para datos sintéticos y retroalimentación de IA que combina etapas de generación, evaluación y manejo de datos en flujos de procesamiento. Su documentación describe casos de uso de clasificación, extracción, diálogo y generación de instrucciones. Resulta útil cuando un script puntual ha crecido hasta incorporar varias etapas de generación y filtrado. Documentación de Distilabel.

Documentación de Distilabel sobre flujos de datos sintéticos y retroalimentación de IA
Distilabel

El proyecto utiliza la licencia Apache-2.0. Su repositorio también indica que los autores originales dejaron el proyecto y que colaboradores de la comunidad se encargan del mantenimiento. Fija y valida la versión que adoptes. La limitación práctica sigue siendo el evaluador: coordinar el juicio de un modelo no lo vuelve independiente ni correcto. Repositorio de Distilabel.

Faker: crear datos de prueba sin un modelo de lenguaje

Faker es un paquete de Python que genera datos ficticios mediante proveedores, con soporte de configuración regional y semillas aleatorias. Sirve para crear datos de prueba de aplicaciones, o fixtures, cuando necesitas campos controlados en lugar de razonamiento en lenguaje natural. Su repositorio identifica la licencia como MIT. Documentación de Faker, repositorio de Faker.

Documentación de Faker para Python con proveedores y ejemplos de campos generados
Faker

Aun así, debes codificar las relaciones de negocio. Generar direcciones, fechas y transacciones de forma independiente no crea un historial de cliente realista. Utiliza identificadores y dominios reservados para pruebas siempre que sea posible, y evita que los datos generados activen mensajes u otras acciones en producción.

Synthetic Data Vault: modelar tablas y sus relaciones

Synthetic Data Vault, o SDV, ofrece síntesis tabular y evaluación estadística, con métodos documentados para tablas individuales, datos secuenciales y tablas relacionadas. Sus sintetizadores entrenados aprenden de los datos que les proporcionas; no eliminan la necesidad de contar con un conjunto de origen cuyo uso esté permitido. Documentación de SDV.

Documentación de Synthetic Data Vault sobre síntesis tabular y evaluación
Synthetic Data Vault

Dentro de SDV, GaussianCopulaSynthesizer utiliza métodos estadísticos clásicos para aprender distribuciones y relaciones entre columnas. CTGANSynthesizer utiliza una red generativa adversaria, un modelo que se entrena mediante un generador y un discriminador que compiten entre sí. Ambos reciben datos y metadatos que describen su estructura. Son sintetizadores tabulares, no modelos de chat de propósito general. Documentación de Gaussian Copula, documentación de CTGAN.

La limitación está en la fidelidad a la tarea. Que las distribuciones de las columnas se parezcan no demuestra que se conserven las combinaciones poco frecuentes, las reglas entre tablas o el comportamiento de un modelo que use esos datos después. Valida las relaciones de las que depende tu aplicación, incluidas las claves foráneas que vinculan registros hijos con sus registros padres.

Elige el generador de datos sintéticos según la evidencia que falte

Usa la API de un modelo cuando lo que falte sea variedad lingüística. Añade Distilabel cuando la coordinación repetible de generación y retroalimentación justifique una dependencia adicional. Elige Faker cuando los datos de prueba necesiten valores controlados. Considera SDV cuando importen las relaciones estadísticas entre tablas y dispongas de datos de origen que tengas permiso para modelar.

No compres un generador más grande para resolver unas reglas de etiquetado poco claras. Ese problema debe resolverse antes de usar cualquiera de estas herramientas.

Qué permiten los proveedores al entrenar con sus resultados

Comprueba las restricciones de uso de los resultados antes de elegir un modelo maestro, es decir, el modelo que generará ejemplos para que otro aprenda de ellos. Los puntos siguientes resumen las condiciones estándar de los tres proveedores de LLM alojados mencionados antes; no afirman que un proyecto de entrenamiento concreto cumpla sus requisitos.

  • OpenAI: Su acuerdo de servicios restringe el uso de los resultados para desarrollar modelos de IA competidores, con excepciones expresas para modelos dedicados principalmente a categorizar, clasificar u organizar datos que no se distribuyan ni se pongan a disposición comercial de terceros, y para personalizar modelos mediante los servicios especificados por OpenAI. Acuerdo de servicios.
  • Anthropic: Sus condiciones comerciales prohíben acceder a los servicios para crear productos o servicios competidores, incluido el entrenamiento de modelos de IA competidores, salvo aprobación expresa de Anthropic. Condiciones comerciales.
  • Google: Las condiciones adicionales de Gemini API prohíben utilizar los servicios para desarrollar modelos competidores; por separado, las disposiciones de Google Search Grounding prohíben entrenar con Grounded Results o Search Suggestions. Condiciones de Gemini API.

La licencia de software de una biblioteca es una cuestión distinta de las condiciones del modelo al que llama, de la licencia de sus pesos y de tus derechos sobre los ejemplos de origen. La titularidad de los resultados no resuelve por sí sola todas esas cuestiones.

La privacidad de los datos de prueba exige una revisión propia

El origen sintético no garantiza la privacidad. Si copias registros confidenciales en un servicio de generación no aprobado, producir después sustitutos de apariencia ficticia no revierte esa divulgación.

La investigación de Stadler, Oprisanu y Troncoso sobre la publicación de datos sintéticos encontró que las mejoras de privacidad y la utilidad variaban entre los modelos evaluados. La lección práctica es evaluar tanto los datos publicados como el proceso de generación, en lugar de tratar la palabra «sintético» como un certificado de anonimato. Artículo de investigación de USENIX.

Da preferencia a ejemplos iniciales ficticios redactados a partir de un esquema y unas reglas aprobados cuando eso baste para las pruebas de software. Si necesitas conservar patrones estadísticos reales, maneja las fuentes dentro de un entorno aprobado y evalúa qué información puede revelar el conjunto generado.

Revisa los identificadores directos, los pasajes copiados, las combinaciones poco frecuentes y los vínculos con información que alguien ya podría conocer. Sustituir un nombre mientras se conservan un incidente singular, un lugar y una fecha puede dejar reconocible a la persona. Para publicar datos sensibles, unas pocas comprobaciones manuales y una búsqueda de duplicados no bastan; la evaluación de privacidad debe ajustarse a la amenaza y a los destinatarios previstos.

Las políticas de entrenamiento del proveedor responden a una pregunta distinta de tu derecho a entrenar con sus resultados. Por ejemplo, las condiciones de los servicios gratuitos de Gemini advierten que no se debe enviar información sensible, mientras que las condiciones de uso de datos de sus servicios de pago indican que los prompts y las respuestas no se utilizan para mejorar los productos de Google. Esas condiciones también aplican las reglas de uso de datos de los servicios de pago al uso gratuito en el EEE, Suiza y el Reino Unido. Condiciones de uso de datos de Gemini.

Ni el compromiso de un proveedor de no entrenar con los datos ni la ejecución local demuestran que sea seguro compartir el conjunto resultante. Mantén asociados sus datos de procedencia y sus controles de acceso hasta que finalice la revisión previa a su publicación.

¿Qué se exagera sobre los datos sintéticos?

La mayor exageración es que generar más filas resuelve la falta de evidencia. Pueden ampliar la práctica y revelar fallos, pero también reproducir los mismos supuestos a gran escala.

Distintas palabras pueden ocultar las mismas situaciones

Un conjunto puede contener oraciones distintas y aun así repetir un repertorio mínimo de situaciones. Comprueba la cobertura de escenarios después del filtrado: ¿qué reglas de negocio, ambigüedades y tipos de fallo siguen representados?

En el ejemplo de soporte, repetir quejas sobre facturas no compensa la ausencia de solicitudes que combinan facturación y acceso. Revisa los ejemplos más cercanos por similitud e inspecciona tanto los rechazados como los aceptados. Un filtro de calidad demasiado estricto puede eliminar sin que lo adviertas los casos difíciles que intentabas incorporar.

Reformular no siempre elimina el sesgo

No des por hecho que parafrasear un ejemplo inicial sesgado elimina sus supuestos. Revisa las decisiones de etiquetado según el estilo lingüístico, el dialecto, la calidad ortográfica y los grupos de usuarios pertinentes. Una solicitud frustrada o mal escrita no debería enviarse a otra categoría a menos que las reglas justifiquen esa diferencia.

Pide a quienes revisan que comparen casos equivalentes en los que solo cambie un atributo irrelevante. Si cambian las etiquetas, investiga conjuntamente el ejemplo inicial, el prompt y el filtro. El generador y el evaluador pueden reforzar el mismo error.

Un modelo que corrige sus propios ejercicios puede resultar convincente

Zheng y sus colaboradores documentaron sesgos de posición, de preferencia por respuestas extensas y de preferencia por las propias respuestas en LLM evaluadores. Un modelo puede premiar la redacción o la presentación en lugar de la propiedad que se pretendía medir. Investigación sobre LLM como evaluadores.

Usa comprobaciones deterministas siempre que la respuesta pueda verificarse mecánicamente. Para las evaluaciones subjetivas, calibra el evaluador frente a decisiones humanas, oculta la identidad del generador cuando sea viable y revisa los desacuerdos. Cambiar de proveedor del evaluador puede reducir una dependencia compartida; no garantiza que sus errores sean independientes.

La guía de LLM como evaluadores explica cómo comprobar el evaluador antes de confiar en su puntuación. En la generación sintética, esa comprobación debe hacerse antes de que el evaluador decida qué ejemplos se tomarán como correctos para entrenar.

Recorrido de inspección arquitectónica que lleva los candidatos por validación, eliminación de duplicados, revisión humana y aprobación, con una ruta de rechazo
La generación produce candidatos. La validación, la eliminación de duplicados y la revisión humana determinan cuáles se pueden aprobar.

El colapso del modelo es un riesgo concreto, no un destino inevitable

Shumailov y sus colaboradores estudiaron el entrenamiento recursivo con datos generados y mostraron cómo pueden desaparecer las partes menos frecuentes de la distribución original. Eso justifica la cautela al sustituir repetidamente la evidencia de origen por ejemplos derivados del propio modelo. No demuestra que todo ajuste fino con datos sintéticos revisados y específicos de una tarea deba fracasar. Artículo de investigación de Nature.

Conserva la evidencia original cuyo uso esté permitido, protege deliberadamente los casos poco frecuentes y compara el comportamiento posterior con una referencia que se haya mantenido intacta. No hay una proporción universal de mezcla entre datos sintéticos y reales que sustituya esa evaluación.

Qué cambiar en tu próxima jornada de trabajo

Empieza ahora si puedes identificar un caso que falte, describir su comportamiento correcto y revisar los candidatos generados frente a una regla estable. Comienza con la pequeña matriz de cobertura y amplía después solo las celdas que aporten casos útiles.

Espera para hacer ajuste fino si quienes revisan discrepan sobre las etiquetas objetivo o si careces de un conjunto de aceptación independiente. Resuelve primero las reglas y la evaluación.

Usa datos de prueba convencionales si la tarea consiste en poblar una base de datos, comprobar valores límite o verificar la integridad de las transacciones. Añade lenguaje generado solo donde permita probar comportamientos que los datos más sencillos no cubren.

Antes de la próxima versión, compara el sistema de referencia y el modificado con los mismos casos intactos. Para el clasificador de soporte, examina por categoría las asignaciones incorrectas y las solicitudes que debían derivarse a revisión y no se derivaron. Conserva los datos sintéticos solo si mejoran el comportamiento previsto sin retrocesos inaceptables en otras áreas.

Preguntas frecuentes sobre datos sintéticos

¿Qué herramientas gratuitas permiten generar datos sintéticos?

Faker y Distilabel son opciones de código abierto: Faker genera campos ficticios y datos de prueba, mientras que Distilabel organiza flujos de datos sintéticos y retroalimentación. Las llamadas a modelos alojados y los recursos de cómputo del proceso pueden seguir teniendo un costo. Sus licencias de software no anulan las condiciones del proveedor del modelo al que se conectan.

¿Cuáles son los 5 principales algoritmos de ciencia de datos?

No existe una clasificación universal. La regresión lineal, la regresión logística, los árboles de decisión, los bosques aleatorios y k-means son ejemplos habituales que se utilizan para tareas distintas. Esa lista no sirve para elegir cómo crear datos sintéticos: escoge reglas, síntesis tabular o generación de lenguaje según los datos y el comportamiento que necesites.

¿Cuáles son los tres tipos principales de conjuntos de datos?

En el desarrollo de modelos, esta expresión suele referirse a los conjuntos de entrenamiento, validación y prueba. El entrenamiento enseña al modelo, la validación orienta el desarrollo y el conjunto de prueba final comprueba la opción elegida al terminar. Mantén los registros de origen relacionados y sus variantes generadas dentro de la partición que les corresponda.

¿Cómo generar datos ficticios con Python?

Usa Faker para crear campos ficticios o un sintetizador tabular cuando importen las relaciones aprendidas de datos de origen cuyo uso esté permitido. Para textos generados con LLM, guarda los resultados como registros estructurados, valídalos y conserva los identificadores de origen. Python puede organizar el proceso; no puede determinar automáticamente si un ejemplo generado es correcto o protege la privacidad.

¿Cómo puedo generar datos sintéticos?

Define el uso previsto y las reglas de aceptación, selecciona ejemplos iniciales aprobados, genera candidatos para casos concretos, filtra los registros inválidos, elimina repeticiones exactas y semánticas, y revisa una muestra con una persona que conozca la tarea. Verifica de forma independiente las respuestas esperadas que se utilizarán en la evaluación final.

¿Cómo crear datos de prueba?

Parte del esquema y de las restricciones de la aplicación. Crea datos válidos y casos deliberadamente inválidos para cada regla que quieras probar. Conserva las relaciones entre registros, usa identificadores designados para pruebas y mantén los datos marcados como artificiales.

¿Cómo crear un conjunto de datos ficticios?

Para una demostración, genera registros a partir de especificaciones ficticias. Para obtener un sustituto estadísticamente representativo, utiliza un sintetizador adecuado con datos de origen autorizados y evalúa tanto su utilidad como su privacidad. Un conjunto de apariencia plausible no demuestra que sus distribuciones reflejen a tus clientes.

¿Cómo se llama la creación de datos inventados?

Los registros artificiales creados de forma deliberada, claramente identificados y utilizados para pruebas o modelado se denominan datos sintéticos o simulados. Presentar observaciones inventadas como evidencia medida es fabricación de datos. Mantén los ejemplos generados visiblemente separados de los resultados observados.

¿La IA puede generar datos?

Sí. Los modelos de lenguaje pueden generar textos candidatos y los modelos generativos tabulares pueden producir registros estructurados. Antes de que esos candidatos se conviertan en un conjunto de datos en el que otras personas confíen, sigue siendo tu responsabilidad comprobar su utilidad, corrección, uso permitido y privacidad.

Suscríbete al boletín para recibir guías prácticas sobre cómo crear y evaluar sistemas de IA.

Publicado
Categoría
Build
Artículos relacionados
RLHF: aprendizaje por refuerzo con preferencias humanas

RLHF: aprendizaje por refuerzo con preferencias humanas

Cómo funciona RLHF, en qué se diferencia de DPO y qué opciones de ajuste fino puede usar una empresa pequeña para mejorar el comportamiento de sus modelos.22 oct 2026Build
Enrutamiento de modelos: cómo elegir y evaluar cada ruta

Enrutamiento de modelos: cómo elegir y evaluar cada ruta

Aprende a enrutar solicitudes entre modelos de IA, comparar opciones y evaluar calidad y costos con un ejemplo de soporte y un conjunto de pruebas reservado.21 oct 2026Build
Caché semántica: cuándo reutilizar una respuesta de IA

Caché semántica: cuándo reutilizar una respuesta de IA

Aprende cómo funciona la caché semántica y cuándo reutilizar respuestas de IA. Ajusta el umbral, la caducidad y los permisos para evitar respuestas incorrectas.21 oct 2026Build
Pydantic AI o LangChain: cuál elegir para tus agentes

Pydantic AI o LangChain: cuál elegir para tus agentes

Compara Pydantic AI y LangChain con el mismo ejemplo en Python: salidas validadas, flujos con LangGraph, trazas, evaluaciones y claves para decidir si migrar.21 oct 2026Build
Zed editor vs Cursor: ¿cuál encaja con tu forma de trabajar?

Zed editor vs Cursor: ¿cuál encaja con tu forma de trabajar?

Compara Zed editor y Cursor: edición, agentes, modelos, colaboración y precios. Descubre cuándo conviene cambiar, seguir con Cursor o usar ambos.21 oct 2026Build
Inferencia en IA: qué ocurre cuando responde un LLM

Inferencia en IA: qué ocurre cuando responde un LLM

Entiende el prefill, el decode y la latencia de los LLM. Aprende qué medir, qué optimizar y cuándo elegir una API alojada o gestionar tu propia inferencia.21 oct 2026Build
Búsqueda semántica: cuándo conviene y cómo implementarla

Búsqueda semántica: cuándo conviene y cómo implementarla

Aprende cómo funciona la búsqueda semántica con embeddings, cuándo conviene conservar las palabras clave y cómo combinar búsqueda híbrida y reranking.21 oct 2026Build
Factory AI: precios, Droids y cuándo conviene usarlo

Factory AI: precios, Droids y cuándo conviene usarlo

Analizamos Factory AI, sus Droids, precios y límites: cuándo mejora el trabajo con Claude Code, Codex o Cursor y cómo evaluar su costo real para tu equipo.21 oct 2026Build
Newsletter

Una carta, cada domingo.Sistemas que funcionan, no opiniones calientes.

Semanal. Sin spam. Cancele cuando quiera.