Instagram, una de las redes sociales más usadas en el mundo y de las preferidas por los más jóvenes, dio a conocer a detalle por primera vez el detrás de escenas del profundo trabajo de ingeniería, programación y uso de inteligencia artificial para diseñar la pestaña de “explora”, una de las claves para mantener dentro de la aplicación a sus clientes.
“Más de la mitad de la comunidad de Instagram usa la pestaña ‘explorar’ cada mez para descubrir nuevas fotos, videos y stories relevantes para sus intereses. Recomendar el contenido más relevante entre miles de millones de opciones en tiempo real produce múltiples retos de aprendizaje automático múltiple (ML) que requieren nuevas soluciones de ingeniería”, señaló Facebook, dueña de la red social.
“Afrontamos estos desafíos creando una serie de lenguajes de consulta personalizados, además de técnicas de modelaje y herramientas que permiten la experimentación a alta velocidad”, agregaron.
Estos sistemas permiten operar a la pestaña ‘explorar’ mientras aumentan la eficiencia del desarrollador. En su conjunto, estas soluciones representan un sistema de Inteligencia Artificial (AI, por sus siglas en inglés) basado en un sistema que extrae 65.000 millones de características y genera 90 millones de predicciones de modelos por segundo.
Los cimientos
Antes de que la AI se puede ejecutar con eficiencia, Instagram debe resolver la inmensa cantidad de fotos y videos que se suben a diario en la aplicación. Para ello, se desarrollaron herramientas “fundamentales” para ello. “Necesitamos la habilidad de conducir experimentación veloz a escala, para obtener una señal fuerte de cuáles son los intereses de la gente, donde se asegur que las recomendaciones son de alta calidad y nuevas.
El equipo de ingenieros no usa un solo algoritmo para identificar esos intereses, ya que mientras uno puede servir con mayor efectividad para identificar intereses en el largo plazo, otros pueden tener un mejor rendimiento identificando recomendaciones basado en contenido reciente. Para poder trabajar con esa itinerancia entre algoritmos, Instagram necesita un lenguaje específico y personalizado que provea el nivel correcto de abstracción y contenga todos esos algoritmos en un solo lugar.
Por lo tanto, crearon IGQL, un lenguaje de dominio específico optimizado para recuperar a los candidatos en los sistemas de recomendación. Su ejecución está optimizada en el lenguaje de programación C++, que ayuda a minimizar los recursos informáticos. “Es fácil de usar (…). Los ingenieros pueden escribir algoritmos de recomendación y ejecutarlos de manera rápida y eficiente en C++”, indicaron.
Agrupaciones de cuentas para un ranking personalizado de inventario
Las personas comparten de manera pública miles de millones de piezas de calidad en Instagram que son elegibles para estar en el inventario de la pestaña ‘explorar’. Pero es un reto para la red social mantener un catálogo limpio y actualizado para la gran variedad de comunidades que existen en internet.
Para ello, crearon un canal para identificar cuentas similares temáticamente entre sí. Con técnicas específicas de programación, el grupo de ingenieros puede predecir las cuentas con las que una persona tiene más probabilidades de interactuar en una sesión determinada, es decir, cuando entra a la app para ver qué hay de nuevo.
Recuperar las cuentas que son similares a aquellas que una persona particular ha señalado su interés previamente ayuda también a reducir el inventario a usarse en cada caso particular para los usuarios de una forma “simple”.
Preselección relevante de candidatos usando un modelo de “destilación”
Una vez que se han identificado las cuentas basadas en los intereses individuales, Instagram necesita una manera de clasificar esas cuentas de un modo que sea “fresco e interesante” para todos, lo cual requiere predecir el contenido más relevante para cada persona cada vez que acceda y explore la pestaña.
Lo que hacen los ingenieros de la red social es maximizar el número de contenidos para cada ingreso a la pestaña a través de un proceso de “destilación” que ayuda a preseleccionar a los candidatos a salir en dicha pestaña antes de usar modelos más complejos. Para ello, usan un modelo de red “neuronal” ultra ligero.
Al “destilar”, la red minimiza la necesidad de usar múltiples parámetros y mantener múltiples modelos en diferentes clasificaciones. Con esta red, se mejora una cantidad más grande de contenidos para encontrar los más relevantes en cada ingreso a la pestaña mientras mantiene los recursos computacionales de Instagram bajo control, de acuerdo con Facebook.
La creación de la pestaña “explorar”
Una vez que se han creado los cimientos necesarios para experimentar con facilidad e identificar los contenidos de interés para la gente de manera efectiva a través de predicciones, usando también el IGQL, Instagram divide la pestaña ‘explorar’ en dos etapas principales: la de generación y la de clasificación.
Primero, para generar una clasificación de candidatos a aparecer en la pestaña, se usan los datos del usuario en sus búsquedas o intereses pasados. A esas cuentas se les llama “cuentas semillas”, que, a través de las técnicas antes mencionadas, permiten identificar otras cuentas potencialmente interesantes para el usuario.
“Usando una variedad de señales, filtramos el contenido que identificamos como no elegible para ser recomendado antes de construir el inventorio para cada usuario. Además, bloqueamos todo el contenido que viole nuestra política a través de sistemas de AI que nos ayudan a identificar también spam”, dijeron.
Al final, Instagram elige 500 candidatos entre miles de contenidos elegibles para cada persona y los manda a la segunda etapa, la de clasificación. Ahí, se toman tres pasos: una nueva destilación que deja 150 candidatos de los 500 que llegaron; una red que permite escoger 50 candidatos con la mayor calidad de contenido y la relevancia máxima para cada usuario; y otra red que conforma las 25 cuentas que aparecerán en la primera página de la pestaña ‘explorar’ cada vez que ingresemos a ella.
“Seleccionamos el contenido más relevante basado en el valor final que consigue cada publicación de cada candidato, que se obtiene a través de todo el proceso mencionado anteriormente, y a continuación es ordenado de manera descendente en la primera página de la pestaña”, concluyeron.
Fuente: Infobae