Esta lección se tradujo automáticamente al español y aún no ha sido revisada por una persona. Si algo suena raro, la versión en inglés es la definitiva.
Has superado las rondas de codificación. Ahora el entrevistador desliza un marcador de pizarra sobre la mesa y dice: "Diseña un sistema de recomendación para 50 millones de usuarios". Se te humedecen las palmas de las manos, no porque no conozcas ML, sino porque nunca has practicado pensar en voz alta sobre sistemas completos. Esta lección le brinda un marco repetible que convierte esa pregunta abierta en una conversación estructurada.
El diseño de sistemas de software tradicional se centra en el flujo, el almacenamiento y la escalabilidad de los datos. El diseño del sistema ML agrega una dimensión adicional: el modelo es un componente vivo que se degrada con el tiempo, depende de la calidad de los datos y requiere una evaluación continua.
Los entrevistadores no buscan un diagrama de arquitectura perfecto. Quieren ver que puedes:
El mayor error que cometen los candidatos es saltar directamente a la selección del modelo. Los entrevistadores informan constantemente que el encuadre de los problemas y la discusión de los datos son los puntos en los que los candidatos se diferencian.
Utilice este marco como esqueleto para cada pregunta de diseño. No es necesario que dediques el mismo tiempo a cada paso (adaptate según la pregunta), pero tocar cada uno indica madurez.
Empiece por aclarar el objetivo. Pregunte: ¿Cómo se ve el éxito para el negocio?
Asigne la métrica empresarial a un objetivo compatible con el aprendizaje automático desde el principio. Por ejemplo, "aumentar la participación del usuario" podría traducirse en "predecir la probabilidad de hacer clic en cada elemento y clasificar por puntuación".
Inicia sesión para unirte al debate
Analice de dónde provienen los datos, cómo se recopilan y qué problemas anticipa:
Describe las características que extraerías. Agrúpelos lógicamente:
| Grupo de funciones | Ejemplos | |---|---| | Funciones de usuario | grupo de edad, antigüedad, tasa de clics histórica | | Características del artículo | categoría, rango de precios, puntuación de popularidad | | Funciones de contexto | hora del día, tipo de dispositivo, ubicación | | Funciones de interacción | coocurrencia usuario×elemento, profundidad de sesión |
Ahora (y sólo ahora) analicemos los modelos. Justifica tu elección:
Cubra cómo entrenaría y validaría:
Elija métricas que se alineen con el objetivo comercial. Precision@K para clasificación, AUC-ROC para clasificación binaria, NDCG para listas ordenadas.
Analice cómo llega el modelo a los usuarios:
Explique lo que observaría después del lanzamiento: deriva de datos, cambios en la distribución de predicciones y métricas en línea mediante pruebas A/B.
Imagine que está diseñando un sistema de detección de fraude. La empresa dice "detectar todo fraude". ¿Por qué el retiro del 100% es un objetivo peligroso y cómo enmarcaría la conversación en torno a compensaciones aceptables?
En una entrevista de diseño de un sistema de ML, ¿qué debe hacer PRIMERO cuando se le solicite un diseño?
A los entrevistadores les encantan las discusiones sobre compensaciones porque revelan una experiencia profunda. Estas son las compensaciones que más surgen:
| Compensación | Cuándo favorecer a la izquierda | Cuándo favorecer el derecho | |---|---|---| | Latencia vs Precisión | Orientación al usuario en tiempo real (búsqueda) | Lote sin conexión (recomendaciones por correo electrónico) | | Modelo simple vs complejo | Datos pequeños, necesitan interpretabilidad | Grandes datos, la precisión es fundamental | | Servicio por lotes o en tiempo real | Las predicciones no cambian rápidamente | Las predicciones deben reflejar el contexto más reciente | | Construir versus comprar | Diferenciador central para el negocio | Capacidad de productos básicos (por ejemplo, OCR) |
Cuando hables de una compensación, utiliza este patrón:
"Podríamos optar por la opción A que nos brinda [beneficio], pero la desventaja es el [costo]. Alternativamente, la opción B [beneficio], aunque introduce [costo]. Dada [restricción específica del problema], me inclinaría por la opción A porque..."
Netflix estima que su sistema de recomendación le ahorra a la compañía más de mil millones de dólares al año en reducción de la rotación. El valor de ese sistema único de ML supera el PIB de algunos países pequeños.
Mensaje: "Diseñe un sistema de moderación de contenido para una plataforma de redes sociales".
¿Por qué es común un enfoque de servicio híbrido (generación de candidatos por lotes + clasificación en tiempo real) en los sistemas de recomendación?
Las mejores respuestas sobre el diseño de sistemas de ML parecen una conversación, no una conferencia. Haga una pausa para hablar con el entrevistador, haga preguntas aclaratorias y esté dispuesto a girar cuando lo empujen en una dirección diferente.