Diseño de sistemas ML para entrevistas: enfoque práctico con un caso de feed
Las entrevistas de diseño de sistemas ML exigen pensar más allá del modelo: datos, despliegue y ciclo de mejora. Aquí encontrará un enfoque claro y un caso práctico de ranking de feed.
Por qué importan las entrevistas de diseño de sistemas ML
En entrevistas de diseño de sistemas ML no basta con elegir un algoritmo: deben mostrarse decisiones de producto, flujos de datos, arquitectura de servicio y cómo el sistema mejora en producción. Un buen candidato articula cómo las predicciones alimentan decisiones concretas: qué mostrar en un feed, cuándo bloquear una transacción sospechosa o cómo ordenar resultados de búsqueda.
Este texto presenta un enfoque estructurado aplicable a muchos problemas de ML y desarrolla un caso práctico de un sistema de ranking de feed, útil como guía para entrevistas y para implementaciones en productos reales.
Cómo pensar en una entrevista de diseño de sistemas ML
-
Empezar por el objetivo de producto. Todo sistema ML toma decisiones para servir un objetivo claro: aumentar conversión, reducir fraude, incrementar retención o mejorar satisfacción. Definan el objetivo antes de hablar de modelos.
-
Definir éxito con tres tipos de métricas:
- Métricas de modelo: AUC, RMSE, precisión, recall, NDCG (miden desempeño técnico del modelo).
- Métricas de producto: ingresos, conversión, retención, pérdida por fraude, satisfacción del usuario (miden impacto en negocio).
- Métricas de sistema: latencia, throughput, disponibilidad, frescura y costo (miden calidad del servicio).
-
Discutir los datos: qué se recoge, cómo se generan las etiquetas y dónde puede entrar sesgo. Algunas etiquetas son inmediatas (clics), otras llegan con demora (devoluciones, contracargos, quejas). Explique fuentes de datos, almacenamiento, calidad y riesgos de distribución cambiante.
-
Descomponer el sistema en tres vistas:
- Camino offline: preparación de datos y entrenamiento en batch; foco en calidad, reproducibilidad y pruebas.
- Camino online: servicio de inferencia en tiempo real; exige baja latencia y alta disponibilidad.
- Bucle de feedback: cómo las señales online vuelven al entrenamiento para mejorar el sistema.
Estas tres perspectivas ayudan a estructurar la respuesta en una entrevista y a evitar saltar prematuramente a detalles algorítmicos.
Caso práctico: sistema de ranking de feed
Problema: Diseñar un sistema de feed personalizado que, dado un usuario y un gran conjunto de publicaciones, devuelva una lista ordenada que el usuario encuentre útil o atractiva. El sistema debe manejar frescura, personalización, seguridad, diversidad y baja latencia.
Cómo funciona el sistema (visión general)
Un sistema de feed típico opera en tres etapas:
-
Generación de candidatos: reducir el universo de publicaciones a un conjunto manejable. Fuentes: personas que sigue el usuario, temas de interés, contenido en tendencia, usuarios similares o recuperación por embeddings.
-
Ranking: un modelo más potente puntúa cada candidato según la probabilidad de acciones relevantes (clic, like, comentario, tiempo de visualización). En producción, la puntuación final suele combinar múltiples predicciones ponderadas.
-
Capa de reglas: aplica restricciones de negocio y seguridad: remover contenido inseguro, evitar duplicados, asegurar diversidad y limitar la frecuencia de publicaciones del mismo creador.
En una entrevista, destaque que el sistema no puntúa todas las publicaciones online; primero hace una selección de candidatos.
Señales importantes
El modelo debe considerar señales del usuario, de la publicación y su interacción:
- Historial e intereses del usuario (largo y corto plazo).
- Afinidad con el creador.
- Frescura de la publicación.
- Tasa de engagement previa de la publicación.
- Categoría y tipo de contenido.
Estas señales permiten balancear preferencias históricas y señales de intención en la sesión actual.
Elección de modelo y estrategia incremental
Para una primera versión, un modelo basado en árboles de decisión (gradient boosted trees) suele ser suficiente: funciona bien con features tabulares y es más fácil de interpretar y depurar que una red profunda. A medida que el sistema escala, puede añadirse:
- Recuperación por embeddings para generación de candidatos.
- Modelos profundos o secuenciales para capturar patrones temporales.
- Modelos multitarea que predicen varias acciones simultáneamente (clics, tiempo de visualización, shares).
El consejo práctico: empezar simple y priorizar un buen baseline con logging robusto antes de introducir complejidad.
Evaluación: offline vs online
Offline: use métricas como AUC, NDCG, precision@K y recall@K para validar la capacidad de ordenar contenido relevante. Estas métricas son útiles pero incompletas.
Online: las métricas de producción importan más: CTR, tiempo de permanencia (dwell time), duración de sesión, tasa de ocultamiento (hide rate), retención y diversidad de contenido. Evite optimizar solo para clics: el clickbait puede mejorar métricas a corto plazo y dañar la satisfacción a largo plazo.
Principales trade-offs
- Relevancia vs exploración: demasiada personalización vuelve repetitivo el feed; demasiada exploración muestra contenido irrelevante.
- Frescura vs calidad: nuevo contenido carece de señales de engagement pero puede ser vital para la experiencia en tiempo real.
- Latencia vs complejidad: generación de candidatos, lookup de features y scoring deben optimizarse para responder rápido.
En entrevistas, explique cómo balancearía estos trade-offs según prioridades del producto.
Consideraciones prácticas para América Latina
- Conectividad y dispositivos: muchas experiencias en la región son mobile-first y con conexiones variables. Diseñe mecanismos de caching en el cliente, versiones ligeras del modelo y estrategias offline-friendly.
- Localización y diversidad cultural: el contenido relevante y las señales pueden variar por país y lengua; considere segmentación geográfica y adaptación de modelos.
- Privacidad y regulaciones: tenga en cuenta las leyes locales de protección de datos y preferencias del usuario sobre personalización; diseñe opciones de consentimiento y minimización de datos.
- Recursos operativos: en equipos con restricciones de infraestructura, prefiera pipelines reproducibles y modelos fáciles de mantener.
Consejo para la entrevista
Al presentar su diseño, estructúrelo: objetivo de producto, métricas (modelo, producto y sistema), datos y etiquetado, vistas offline/online/feedback, y finalmente arquitectura y trade-offs. Mencione claramente la generación de candidatos, el ranking y la capa de reglas, y cómo monitorizaría el sistema en producción (logs, alertas y experimentos A/B).
Con este enfoque práctico y organizado demostrará que comprende no sólo cómo construir modelos, sino cómo integrarlos en productos escalables y responsables.
Fuente original: Analytics Vidhya