AI-901: implementar pipelines de preprocesamiento de datos en Microsoft Foundry
Te explicaré cómo implementar pipelines de preprocesamiento de datos en Microsoft Foundry — una competencia práctica útil para el AI-901. Preparar correctamente los datos antes de inferir o entrenar modelos es crítico tanto para la precisión de los resultados como para la operacionalización segura en producción.
Qué necesitas saber
El preprocesamiento de datos significa transformar datos brutos en una forma adecuada para modelos de IA o para flujos de inferencia. En el contexto de Microsoft Foundry (parte del ecosistema Fabric/OneLake), esto incluye: limpieza (eliminar duplicados, tratar valores nulos), normalización/escalado, tokenización para texto, redimensionado/normalización para imágenes y transformación de columnas categóricas en representaciones numéricas.
Ejemplo: tienes registros de transacciones con campos de texto libre, fechas en varios formatos y una columna de importe con símbolo. Un pipeline de preprocesamiento típico va a: (1) unificar formatos de fecha, (2) quitar símbolos y convertir importes a float, (3) imputar o eliminar valores nulos, (4) extraer características temporales (día de la semana, hora), (5) exportar un fichero/tabla normalizada para consumo por un modelo o por un endpoint de inferencia.
Cómo funciona
En Foundry implementas pipelines de preprocesamiento juntando componentes que transforman datos en pasos reproducibles. Típicamente usas:
- Datasets o tables en OneLake como fuente/target.
- Transforms/activities del Foundry para ejecutar código (Python, PySpark) u operadores visuales.
- Herramientas de orquestación para programar y versionar pipelines.
Flujo lógico de un pipeline:
- Ingesta: cargar datos brutos en una tabla staging.
- Validación: checks automáticos (schema, tipos, rangos).
- Limpieza: eliminar duplicados, normalizar textos y números.
- Transformación: crear features (one-hot, embeddings simples, normalización).
- Exportación: grabar tabla lista para entrenamiento/inferencia y registrar metadatos.
En la práctica
Aquí tienes un ejemplo simplificado en pseudo-Python/PySpark que puedes adaptar como transform en Foundry. Asume que lees una tabla OneLake llamada transactions_raw y grabarás transactions_clean.
# Exemplo simplificado de transform (pseudo-PySpark)
from pyspark.sql import functions as F
df = spark.read.table('oneLake.transactions_raw')
# Normalizar datas
df = df.withColumn('transaction_date', F.to_timestamp(F.col('date_str'), 'yyyy-MM-dd HH:mm:ss'))
# Limpar montantes: remover símbolos e converter
df = df.withColumn('amount_clean', F.regexp_replace(F.col('amount'), '[^0-9.-]', '').cast('double'))
# Imputar valores nulos (ex.: 0 para montantes, 'unknown' para categorias)
df = df.fillna({'amount_clean': 0.0, 'category': 'unknown'})
# Extrair features temporais
df = df.withColumn('day_of_week', F.dayofweek('transaction_date'))
# One-hot simples para categoria (exemplo conceptual)
categories = ['food','travel','utilities']
for c in categories:
df = df.withColumn(f'cat_{c}', F.when(F.col('category') == c, 1).otherwise(0))
# Gravar tabela limpa
df.write.mode('overwrite').saveAsTable('oneLake.transactions_clean')
Notas prácticas:
- Valida el schema antes y después; Foundry permite registrar schema y lineage para auditoría.
- Si trabajas con texto para LLMs, añade tokenización/limpieza específica y limita el tamaño para controlar costes de inferencia.
- Para imágenes, incluye redimensionado, conversión de formato y normalización de los valores de píxel.
Errores comunes
- No versionar transforms: cambiar el código sin versionado compromete la reproducibilidad. Usa el control de versiones integrado en Foundry para registrar cada transform.
- Hacer transformaciones diferentes en entrenamiento e inferencia: si el pipeline de entrenamiento normaliza o codifica datos de forma X, el pipeline de inferencia debe aplicar exactamente la misma lógica y parámetros.
- Ignorar la validación de entrada: asumir que los datos siempre llegan en el formato esperado (por ejemplo, fechas o símbolos) conduce a fallos en producción. Implementa checks y alertas.
Cómo practicar
Para estudiar esta competencia, utiliza los recursos oficiales gratuitos de Microsoft:
- Practice Assessment OFICIAL da Microsoft (gratuito) — es tu referencia para familiarizarte con el formato del examen y las áreas medidas.
- Study guide oficial del examen AI-901 (gratuito) — contiene las skills measured y recursos recomendados.
En la práctica, crea un pequeño proyecto en Foundry (o entorno Fabric/OneLake al que tengas acceso): ingiere un CSV, implementa un transform en Python/PySpark con validaciones y exporta la tabla limpia. Prueba el mismo pipeline con datos de ejemplo y con datos “ruidosos” para verificar la robustez.
En resumen
- El preprocesamiento prepara datos brutos para entrenamiento e inferencia: limpieza, normalización, ingeniería de features y exportación.
- En Microsoft Foundry implementas pipelines como transforms reproducibles, enlazados a OneLake y versionados para auditabilidad.
- Evita discrepancias entre entrenamiento e inferencia aplicando exactamente las mismas transformaciones; valida entradas y versiona código.
- Practica con el Practice Assessment oficial y la study guide de Microsoft e implementa labs reales en Foundry para consolidar.