Ganar el Desafío de Datos Sintéticos con Post-Procesamiento
Un reciente triunfo en la competición “Mostly AI Prize” ha iluminado una perspectiva crucial en la generación de datos sintéticos: si bien los modelos avanzados de aprendizaje automático son indispensables, lograr datos de alta fidelidad a menudo depende de un post-procesamiento sofisticado. La solución ganadora, que obtuvo los máximos honores en los desafíos de datos FLAT y SEQUENTIAL, demostró cómo un refinamiento meticuloso puede elevar la salida cruda del modelo a una alineación estadística casi perfecta con los datos de origen.
El “Mostly AI Prize” tenía como objetivo generar conjuntos de datos sintéticos que reflejaran con precisión las características estadísticas de los datos de origen originales, crucialmente, sin copiar directamente ningún registro real. La competición presentó dos desafíos distintos: el Desafío de Datos FLAT, que requería 100.000 registros en 80 columnas, y el Desafío de Datos SEQUENTIAL, que implicaba 20.000 secuencias de registros. La calidad de los datos se evaluó rigurosamente utilizando una métrica de “Precisión General”, cuantificando la distancia L1 —una medida de diferencia— entre las distribuciones de datos sintéticos y de origen en columnas individuales, emparejadas y triples. Para salvaguardar contra el sobreajuste o la replicación de datos, también se aplicaron métricas de privacidad como la Distancia al Registro Más Cercano (DCR) y la Relación de Distancia del Vecino Más Cercano (NNDR).
Los esfuerzos iniciales que exploraron un conjunto de modelos generativos de última generación produjeron solo mejoras marginales. El cambio fundamental llegó con un enfoque intensivo en el post-procesamiento. La estrategia implicó entrenar un único modelo generativo del SDK de Mostly AI, y luego sobremuestrear para crear un grupo significativamente más grande de muestras candidatas. De este extenso grupo, la salida final fue seleccionada y refinada meticulosamente. Este enfoque impulsó drásticamente el rendimiento: para el desafío de datos FLAT, los datos sintéticos crudos obtuvieron una puntuación de alrededor de 0,96, pero después del post-procesamiento, la puntuación se disparó a un impresionante 0,992. Una versión modificada entregó ganancias similares en el desafío SEQUENTIAL.
La pipeline final para el desafío FLAT comprendió tres pasos principales: Ajuste Proporcional Iterativo (IPF), Poda Glotona (Greedy Trimming) y Refinamiento Iterativo.
IPF sirvió como el primer paso crucial, seleccionando un subconjunto de alta calidad y sobredimensionado de un grupo inicial de 2,5 millones de filas generadas. Este algoritmo estadístico clásico ajustó las distribuciones bivariadas (de dos columnas) de los datos sintéticos para que coincidieran estrechamente con las de los datos originales. Centrándose en los 5.000 pares de columnas más correlacionados, IPF calculó pesos fraccionarios para cada fila sintética, ajustándolos iterativamente hasta que las distribuciones bivariadas se alinearan con el objetivo. Estos pesos se convirtieron luego en recuentos enteros, lo que resultó en un subconjunto sobredimensionado de 125.000 filas —1,25 veces el tamaño requerido— que ya presumía una fuerte precisión bivariada.
El subconjunto sobredimensionado se sometió luego a una fase de Poda Glotona. Este proceso iterativo calculó la “contribución de error” de cada fila, eliminando sistemáticamente aquellas que más contribuían a la distancia estadística de la distribución objetivo. Esto continuó hasta que quedaron precisamente 100.000 filas, descartando las muestras menos precisas.
La etapa final, Refinamiento Iterativo, implicó un sofisticado proceso de intercambio. El algoritmo identificó iterativamente las filas con peor rendimiento dentro del subconjunto de 100.000 filas y buscó en las 2,4 millones de filas restantes en el pool de datos no utilizados candidatos de reemplazo óptimos. Un intercambio se ejecutó solo si conducía a una mejora en la puntuación general, proporcionando un pulido final crucial.
El desafío SEQUENTIAL introdujo complejidades únicas: las muestras eran grupos de filas, y una métrica de “coherencia” evaluaba qué tan bien las secuencias de eventos se parecían a los datos de origen. La pipeline de post-procesamiento se adaptó en consecuencia. Primero se introdujo un paso de Preselección Basada en Coherencia, intercambiando iterativamente grupos completos para alinearse con las métricas de coherencia de los datos originales, como la distribución de “categorías únicas por secuencia”. Esto aseguró una estructura secuencial sólida. Los 20.000 grupos optimizados por coherencia se sometieron luego a un proceso de Refinamiento Estadístico (Intercambio) similar al de los datos planos, donde se intercambiaron grupos completos para minimizar el error L1 en distribuciones univariadas, bivariadas y trivariadas. Notablemente, la “Longitud de Secuencia” se incluyó como una característica para asegurar que las longitudes de los grupos fueran consideradas. El enfoque IPF, efectivo para datos planos, resultó menos beneficioso aquí y se omitió para reasignar recursos computacionales.
La estrategia de post-procesamiento computacionalmente intensiva exigió una optimización significativa para cumplir con los límites de tiempo. Las técnicas clave incluyeron la reducción de tipos de datos (por ejemplo, de 64 bits a 32 bits o 16 bits) para gestionar la memoria. Se emplearon matrices dispersas de SciPy para un almacenamiento eficiente de las contribuciones estadísticas. Además, para los bucles de refinamiento centrales con cálculos especializados que eran lentos en NumPy estándar, se aprovechó Numba. Al decorar las funciones de cuello de botella con @numba.njit
, Numba las tradujo automáticamente a código máquina altamente optimizado, logrando velocidades comparables a las de C, aunque Numba se usó juiciosamente para cuellos de botella numéricos específicos.
Esta victoria subraya una lección vital para los científicos de datos: el “ingrediente secreto” a menudo se extiende más allá del propio modelo generativo. Si bien un modelo robusto forma la base, las etapas de pre- y post-procesamiento son igualmente, si no más, críticas. Para estos desafíos de datos sintéticos, una pipeline de post-procesamiento diseñada meticulosamente, específicamente adaptada a las métricas de evaluación, demostró ser el factor decisivo, asegurando la victoria sin requerir desarrollo adicional de modelos de aprendizaje automático. La competición reforzó el profundo impacto de la ingeniería de datos y el refinamiento estadístico en la consecución de datos sintéticos de alta fidelidad.