¿Qué son los datos sintéticos?

Los datos sintéticos son información generada artificialmente por algoritmos informáticos y no se recopilan a partir de eventos del mundo real. Son como un simulador de vuelo para la inteligencia artificial (IA). Al igual que un piloto aprende a volar en una cabina de simulación sin poner en riesgo un avión real, los modelos de IA pueden aprender a reconocer patrones usando datos simulados sin poner en riesgo la privacidad de los usuarios.

La diferencia clave es que los datos sintéticos imitan las propiedades estadísticas de los datos reales (como las medias, las correlaciones y las distribuciones), pero no contienen información identificable sobre personas reales. Parecen genuinos, pero no hay personas reales implicadas en la creación de registros específicos.

¿Cómo se generan los datos sintéticos?

Generar datos sintéticos no consiste solo en copiar y pegar. Se trata de usar modelos avanzados de aprendizaje automático para comprender las características de los datos reales y, después, crear muestras nuevas y originales que se ajusten a ellas.

  • Los ingenieros suelen usar modelos generativos para hacerlo. Tecnologías como las redes generativas antagónicas (GANs), los autoencoders variacionales (VAEs) y los modelos de difusión analizan un conjunto de datos real para aprender sus patrones ocultos. Una vez que el modelo aprende estos patrones, puede generar un número infinito de muestras nuevas y falsas que son estadísticamente idénticas al conjunto original.
  • Otro método habitual es la simulación. Es una técnica muy utilizada en sectores como la robótica y la conducción autónoma. Los desarrolladores usan motores de física, similares a los que se utilizan en los videojuegos, para crear mundos virtuales. En estos mundos, pueden generar datos simulando situaciones, como un coche conduciendo por una ciudad lluviosa o un brazo robótico recogiendo una caja, sin necesidad de usar una cámara o un sensor físicos.

Tipos de datos sintéticos

No todos los datos sintéticos son iguales. En función de tus necesidades de privacidad y precisión, puedes elegir diferentes tipos.

Estos datos se generan completamente desde cero. No incluyen datos de usuarios originales, lo que significa que no hay asociaciones directas entre registros sintéticos y personas reales. Como no se relacionan con individuos concretos, ofrecen el máximo nivel de protección de privacidad. Sin embargo, requieren una validación rigurosa para asegurar que siguen siendo lo suficientemente precisos como para ser útiles en el entrenamiento de la IA.

A veces, es necesario conservar algunos datos reales para que el conjunto de datos sea útil. Los datos parcialmente sintéticos se obtienen tomando un conjunto de datos real y sustituyendo solo las partes sensibles (como nombres, números de identificación personal o direcciones) por valores sintéticos. El resto de los datos siguen siendo distintos. Este enfoque equilibra la privacidad y la utilidad, pero conlleva un riesgo de reidentificación ligeramente mayor en comparación con los datos totalmente sintéticos.

Este enfoque combina registros reales y sintéticos para crear un "superconjunto" de datos. Se suele usar para enriquecer un conjunto de datos real más pequeño. Por ejemplo, si tienes muchos datos sobre transacciones bancarias normales, pero muy pocos sobre fraudes, puedes generar registros de fraude sintéticos para mezclarlos con los reales. Esto ayuda a "sobremuestrear" los eventos poco frecuentes para que el modelo de IA tenga suficientes ejemplos de los que aprender.

Datos sintéticos frente a datos reales

Los datos reales son el estándar de precisión, pero pueden ser caros de recoger, a menudo están desordenados o incompletos, y están estrictamente restringidos por leyes de privacidad como el RGPD o la HIPAA. La recogida de datos del mundo real también puede llevar meses o años.

Por otro lado, los datos sintéticos pueden ser menos costosos de escalar. Puedes generar millones de registros en cuestión de horas. Están perfectamente etiquetados (porque el ordenador los ha creado y sabe exactamente cómo son) y cumplen los requisitos de privacidad desde el diseño. Además, los datos sintéticos pueden equilibrarse para eliminar los sesgos naturales que suelen encontrarse en las colecciones del mundo real.

Función

Datos reales

Datos sintéticos

Coste

Mayor (recogida y etiquetado)

Menor (solo potencia de computación)

Velocidad

Menor (meses o años)

Mayor (horas o días)

Privacidad

Mayor (riesgos de IIP)

Mayor (no hay IIP)

Precisión

Mayor (refleja la realidad)

Variable (depende de la calidad del modelo)

Función

Datos reales

Datos sintéticos

Coste

Mayor (recogida y etiquetado)

Menor (solo potencia de computación)

Velocidad

Menor (meses o años)

Mayor (horas o días)

Privacidad

Mayor (riesgos de IIP)

Mayor (no hay IIP)

Precisión

Mayor (refleja la realidad)

Variable (depende de la calidad del modelo)

Casos prácticos del sector relativos a los datos sintéticos

Los vehículos autónomos y la robótica dependen en gran medida de los datos sintéticos, ya que la recogida de información del mundo real es lenta. Aunque se hayan registrado millones de kilómetros en carretera, las pruebas físicas no pueden tener en cuenta todos los escenarios de accidentes posibles. Al generar entornos de conducción virtuales, los ingenieros pueden entrenar los coches en miles de millones de kilómetros de carreteras simuladas, poniéndolos a prueba en situaciones peligrosas, como un niño que sale corriendo a la calle, sin ningún riesgo físico.

Los datos médicos son extremadamente privados y difíciles de compartir. Los datos sintéticos permiten a los investigadores crear historiales médicos falsos que imitan los patrones estadísticos de enfermedades reales. Esto hace posible que los hospitales compartan datos para la investigación del cáncer o estudios de enfermedades raras sin infringir la HIPAA. Una encuesta de ManageEngine reveló que el 81 % de las organizaciones sanitarias ya usan datos sintéticos para innovar y, al mismo tiempo, gestionar los problemas de privacidad.

Detectar el fraude es difícil porque el fraude real es poco frecuente. Esto dificulta que la IA aprenda a identificarlo. Los bancos pueden usar datos sintéticos para generar miles de patrones de transacciones fraudulentas. Este "sobremuestreo" ayuda a entrenar a la IA para detectar actividades sospechosas sin exponer historiales financieros reales de clientes.

Los desarrolladores necesitan grandes cantidades de datos para probar el rendimiento de una aplicación bajo presión. Esto se conoce como "gestión de datos de prueba". En lugar de usar una copia peligrosa de la base de datos de producción real, los equipos de DevOps pueden rellenar un entorno de pruebas con millones de usuarios sintéticos. Esto les permite hacer pruebas de estrés de las nuevas actualizaciones de aplicaciones de forma segura y asegurarse de que el sistema puede gestionar un gran volumen de tráfico.

Ventajas de los datos sintéticos

Privacidad y cumplimiento

Los datos sintéticos reducen considerablemente el riesgo de exponer información de identificación personal (IIP). Como los datos no hacen referencia a ninguna persona real, suelen quedar fuera del ámbito de normativas estrictas como el RGPD y la CCPA. Esto permite que los equipos internacionales compartan conjuntos de datos más fácilmente a través de las fronteras sin tener que superar complejos obstáculos legales.

Coste y velocidad

El uso de datos sintéticos puede acelerar significativamente el ciclo de vida de los datos a la IA. No es necesario contratar a personas para que etiqueten imágenes manualmente ni esperar a que se recojan datos en el campo. Esta eficiencia puede reducir los costes y acelerar el desarrollo.

Mitigación de sesgos

Los datos del mundo real suelen reflejar los prejuicios que existen. Si entrenas una IA con datos de contratación históricos, puede que aprenda a preferir un grupo demográfico sobre otro. Los datos sintéticos permiten a los desarrolladores corregir artificialmente estos desequilibrios. Puedes generar más datos para grupos infrarrepresentados (por ejemplo, asegurándote de que una IA reconoce todos los tonos de piel o géneros por igual) para crear modelos más justos y sólidos.

Pruebas de casos extremos

Algunas situaciones son demasiado peligrosas o raras para probarlas en la vida real. No puedes estrellar mil coches reales solo para ver cómo funciona el sensor del airbag. Los datos sintéticos te permiten crear estos "casos extremos" de forma segura. Puedes simular eventos poco frecuentes, como una ventisca en Phoenix o un fallo específico de un motor, para entrenar a los sistemas en situaciones que representan menos del 0,01 % de los datos del mundo real, pero que son fundamentales para la seguridad.

Generar datos tabulares sintéticos con Vertex AI

Para los desarrolladores, la forma más rápida de generar un conjunto de datos sintéticos de tamaño pequeño a mediano (por ejemplo, para pruebas unitarias o demos sencillas) no suele ser entrenar una GAN compleja, sino aprovechar las funciones generativas de los modelos de lenguaje extenso (LLMs) disponibles en Vertex AI.

En esta guía, usaremos el SDK de Vertex AI para Python y Gemini con el fin de generar un conjunto de datos sintéticos de "transacciones de clientes" desde cero. Imagina que eres un desarrollador que está creando un panel de control de tecnología financiera. Necesitas 50 filas de "datos de transacciones" para probar tu frontend. Además, necesitas campos específicos: transaction_id, timestamp, amount, merchant_category e is_fraud.

Paso 1: Configura tu entorno

En primer lugar, asegúrate de que tienes instalado el SDK de Vertex AI en tu entorno de Python.

  • Bash
Cargando...

Paso 2: Inicializa Vertex AI

Importa la biblioteca e inicialízala con los detalles de tu proyecto.

  • Python
Cargando...

Paso 3: Elabora una petición estructurada

La calidad de los datos sintéticos que genera un LLM depende en gran medida de la petición que hagas. Debes especificar el esquema, las restricciones (por ejemplo, que no haya números negativos) y el formato de salida (CSV o JSON).

  • Python
Cargando...

Generar y analizar los datos

Envía la petición al modelo y carga la respuesta directamente en un DataFrame de Pandas.

  • Python
Cargando...

Utilizar un LLM de uso general como Gemini para generar datos tabulares sintéticos suele ser más rápido que entrenar un modelo estadístico personalizado (como un VAE) cuando solo necesitas datos "plausibles" para probar la funcionalidad de un software.

  • Velocidad: obtienes los datos en segundos
  • Flexibilidad: puedes cambiar el esquema con solo editar la petición de texto
  • Lógica: puedes pedir al modelo que incorpore una lógica compleja (por ejemplo, "Si el comerciante es 'Viajes', el importe debe ser superior a 100 $"), lo cual es difícil de hacer con aleatorizadores simples.

* Nota para empresas de gran tamaño: si necesitas generar millones de filas que clonen estadísticamente un conjunto de datos privado de gran tamaño, probablemente pasarás de usar peticiones sencillas a LLMs a utilizar Vertex AI Pipelines integrado con partners especializados como Gretel.ai o MOSTLY AI, que están disponibles directamente en Google Cloud Marketplace.

Soluciona los retos empresariales que se te presenten con Google Cloud

Los nuevos clientes reciben 300 USD en crédito sin coste para invertirlos en Google Cloud.

Ve un paso más allá

Empieza a crear en Google Cloud con 300 USD en crédito gratis y más de 20 productos Always Free.

Google Cloud