Cómo Instagram Genera 90 Millones de Predicciones por Segundo para Recomendar Contenido a 2.000 Millones de Usuarios
Aprende cómo el sistema de recomendación de inteligencia artificial de Instagram personaliza el contenido para miles de millones con su arquitectura
¡Hola! 👋
Soy Fran, un ingeniero de software en Amazon con más de 17.000 lectores en mi newsletter en inglés (strategizeyourcareer.com). He decidido empezar esta newsletter en español y me encantaría contar con tu apoyo.
Este post resume la arquitectura detrás de los sistemas de recomendación de Instagram, explicando cómo deciden qué mostrarte en el Feed, Explorar o Sugerencias. Al final encontrarás referencias para profundizar si te pica la curiosidad.
🤔 El Problema de Instagram
Había una vez una app de fotos llamada Instagram.
Al principio, todo era más sencillo.
Seguías a gente, veías sus fotos en orden cronológico y listo.
Pero la cosa creció. Y mucho.
Hoy, Instagram tiene más de 2 mil millones de usuarios activos al mes y cada día se suben millones y millones de fotos y vídeos nuevos.
Imagina intentar ver todo eso en orden.
Imposible, ¿verdad? Te perderías lo de tus amigos entre un mar de contenido y la experiencia sería caótica.
El reto era claro: ¿cómo mostrar a cada persona, entre ese océano de información, justo lo que le podría interesar para que siga enganchada?
🧗 Lo difícil: Un océano de contenido y la necesidad de relevancia
El simple orden cronológico dejó de funcionar muy pronto. Los problemas eran evidentes:
Volumen Inabarcable: Demasiado contenido nuevo cada segundo. Era imposible para un usuario verlo todo, ni siquiera una pequeña fracción relevante.
Relevancia Perdida: El contenido más interesante para ti (quizás de tus amigos cercanos o creadores favoritos) se perdía entre publicaciones menos importantes.
Experiencia Pobre: Los usuarios se frustraban al no encontrar fácilmente lo que les gustaba, disminuyendo el tiempo en la app y la satisfacción general.
Necesitaban una forma inteligente de filtrar y ordenar ese caos.
💡 Transición a la Nueva Propuesta
Por eso, Instagram invirtió masivamente en crear sofisticados sistemas de recomendación.
El objetivo no era solo ordenar, sino conectar a cada usuario con contenido nuevo y relevante de forma personalizada.
Estos sistemas son el motor que impulsa la experiencia en el Feed, la pestaña Explorar, los Reels y las Sugerencias.
🏗️ El Patrón: La Arquitectura de Dos Etapas
Antes de meternos en cada sección de Instagram, hay un principio arquitectónico común que usan muchos sistemas de recomendación a gran escala, incluido Instagram: la arquitectura de dos etapas. Es una forma inteligente de manejar millones de opciones sin morir en el intento.
1ª Etapa: Generación de Candidatos (Recall): Como lanzar una red de pesca muy amplia. El sistema busca rápidamente en todo el contenido de Instagram y selecciona un grupo grande (cientos o miles) de publicaciones o cuentas que podrían ser interesantes para ti. La prioridad aquí es no dejarse nada relevante fuera.
2ª Etapa: Selección/Ranking de Candidatos (Precision): Ahora, con una lista más manejable, entra en juego un análisis más fino. El sistema usa modelos más complejos para evaluar y ordenar esos candidatos, eligiendo los "mejores" (unas pocas docenas) para mostrártelos en el orden más adecuado. Aquí la prioridad es acertar al máximo.
🏮 La Elección del Enfoque Concreto
Instagram usa esta arquitectura de dos etapas porque es extremadamente eficiente para manejar su escala masiva. Hacer ranking de todo el contenido para cada usuario en tiempo real sería computacionalmente inviable.
Piensa en ello como un bibliotecario experto: primero va a las secciones generales donde podría estar lo que buscas (Generación de Candidatos) y luego revisa cuidadosamente los libros de esas estanterías para darte los más adecuados (Ranking)
🔎 Deep Dive por Componentes
Instagram tiene varias features de recomendación, cada una con sus matices.
Veamos las principales:
🏠 Publicaciones Sugeridas (Suggested Posts)
¿Para qué sirve? Para ofrecerte contenido nuevo al final de tu Feed principal, cuando ya has visto lo de la gente que sigues. El objetivo es que se sienta como una extensión natural de tu feed ("Feels Like Home"), ayudándote a descubrir gradualmente nuevos creadores alineados con tus intereses.
Cómo funciona (paso a paso):
Generación de Candidatos:
Identifica "semillas": cuentas o posts con los que has interactuado (likes, follows).
Usa Embeddings de Cuentas: Representaciones vectoriales que agrupan cuentas similares. Si te gusta una cuenta de cocina vegana, busca otras cuentas cercanas en ese "espacio vectorial" de intereses.
Usa Similitud por Co-ocurrencia: Si muchos usuarios que interactúan con el post A también lo hacen con el post B, ambos posts se consideran relacionados.
Utiliza Grafos de Interés y Exploración de Grafos (Fallback): Para usuarios con poca actividad, explora las interacciones de segundo grado (ej: cuentas seguidas por las cuentas que te gustan) o muestra contenido popular general.
Utiliza IGQL (Instagram Query Language): Un lenguaje interno para prototipar rápidamente estas consultas de búsqueda de candidatos.
Ranking de Candidatos:
Calcula un "Valor de Usuario" para cada post candidato usando un modelo que pondera la probabilidad de acciones positivas (like, comentario, guardado) y negativas ("no me interesa").
Emplea modelos de Machine Learning, como MTML (Multi Task Multi Label Sparse Neural Nets) y GBDT (Gradient Boosted Decision Trees), LambdaRank, que consideran cientos de características: engagement previo, relación autor-espectador, popularidad del contenido, calidad visual, temas (detectados por IA), embeddings, etc.
Aplica heurísticas para que "se sienta como en casa": prioriza fuentes similares a tu feed, mantiene una mezcla de tipos de contenido (foto/vídeo) parecida y considera la frescura.
Diagrama Mental: Imagina a un amigo muy atento que te recomienda nuevas cantantes y grupos basándose exactamente en las que ya escuchas y le has dicho que te gustan.
🧭 Explore (Pestaña Explorar)
¿Para qué sirve? Es la principal ventana de Instagram al descubrimiento. Su objetivo es sorprenderte con contenido variado y relevante de cuentas que no sigues, fomentando la exploración y el hallazgo casual (serendipia).
Cómo funciona (paso a paso) - Un embudo de múltiples etapas:
Retrieval (Recuperación): Se generan miles de candidatos iniciales desde múltiples fuentes: contenido popular/tendencia (heurísticas), recomendaciones basadas en ML (ej: Two-Tower NN), interacciones recientes (tiempo real) y contenido popular local precalculado.
1er Ranking (Ligero): Un modelo más rápido (a menudo Two-Tower Neural Network) reduce los miles de candidatos a los ~100 más prometedores. Este modelo separa el procesamiento del usuario y del ítem, permitiendo cachear embeddings y buscar eficientemente con ANN (Approximate Nearest Neighbors).
2º Ranking (Pesado): Un modelo más complejo y preciso (como MTML - Multi-Task Multi-Label) evalúa esos ~100 candidatos. Predice la probabilidad de múltiples interacciones (clic, like, guardar) usando características más ricas de interacción usuario-ítem. Luego, un "modelo de valor" combina estas probabilidades para obtener un score final.
Re-Ranking Final: Se aplican reglas de negocio: filtrar contenido potencialmente dañino, asegurar diversidad (ej: no mostrar varios posts seguidos del mismo autor), etc.
Costes / Rendimiento / Escalabilidad: La escala es una brutalidad. El sistema de IA de Explorar extrae 65 mil millones de features y realiza 90 millones de predicciones de modelo por segundo.
Diagrama Mental: Piensa en un curador de museo muy inteligente. Conoce tus gustos generales (por visitas previas) y te lleva por salas nuevas (Explorar), mostrándote piezas (posts) que cree que te fascinarán, aunque nunca hayas oído hablar del artista (cuenta).
➕ Otros Sistemas (Feed Principal y Reels)
Feed Principal "para ti": Aunque principalmente muestra contenido de cuentas que sigues, no es estrictamente cronológico. Un algoritmo de ranking similar (considerando engagement, relevancia, frescura) ordena las publicaciones para mostrarte primero lo que cree que más te importa.
Reels: Tiene su propio sistema de recomendación optimizado para vídeo corto. Analiza qué vídeos ves completos, con qué interactúas (likes, comentarios), el audio usado, efectos visuales, etc., para ofrecer un flujo continuo de vídeos entretenidos.
🎯 Conclusión
En resumen, los sistemas de recomendación de Instagram son:
Imprescindibles por la Escala: Necesarios para manejar miles de millones de usuarios y contenido.
Basados en Dos Etapas (Generalmente): Un primer filtro amplio (Generación de Candidatos) seguido de uno preciso (Ranking).
Adaptados al Contexto: Sistemas distintos (Feed, Explorar, Sugerencias, Reels) con objetivos diferentes (mantenerte conectado vs. descubrir).
Impulsados por IA/ML: Usan embeddings, redes neuronales (Two-Tower, MTML) y muchísimas features para entender usuarios y contenido.
Optimizados Constantemente: Se ajustan parámetros y modelos continuamente mediante A/B testing y optimización (ej: Bayesiana).
👋 PD – ¿Quieres dominar el System Design y la Arquitectura de Software como los cracks de Instagram?
🗞️ Referencias
Aquí tienes algunos artículos si quieres profundizar en cómo funcionan los sistemas de recomendación de Instagram:
Designing a Constrained Exploration System (Blog oficial de Instagram): Explica en detalle el sistema de "Suggested Posts" y el principio "Feels Like Home". https://about.instagram.com/blog/engineering/designing-a-constrained-exploration-system
Scaling the Instagram Explore recommendations system (Blog oficial de Meta Engineering): Describe la arquitectura multi-etapa y las técnicas de escalado usadas en la pestaña Explorar. https://engineering.fb.com/2023/08/09/ml-applications/scaling-instagram-explore-recommendations-system/
Powered by AI: Instagram's Explore recommender system (Blog oficial de Meta AI): Se centra en los modelos de IA (como Two-Tower y MTML) que potencian Explorar. https://ai.meta.com/blog/powered-by-ai-instagrams-explore-recommender-system/
How Instagram suggests new content (Blog oficial de Meta Engineering): Ofrece una visión general de cómo Instagram aborda la sugerencia de contenido nuevo. https://engineering.fb.com/2020/12/10/web/how-instagram-suggests-new-content/