馃殌 Prueba Zilliz Cloud, el Milvus completamente gestionado, gratis鈥斅xperimenta un rendimiento 10 veces m谩s r谩pido! Prueba Ahora>>

milvus-logo
LFAI
  • Home
  • Blog
  • La historia de SmartNews: de usuario de Milvus a colaborador activo

La historia de SmartNews: de usuario de Milvus a colaborador activo

  • Scenarios
January 20, 2022
Milvus

Este art铆culo ha sido traducido por Angela Ni.

La informaci贸n est谩 en todas partes en nuestras vidas. Meta (antes conocida como Facebook), Instagram, Twitter y otras plataformas de medios sociales hacen que los flujos de informaci贸n sean cada vez m谩s ubicuos. Por ello, los motores que gestionan estos flujos de informaci贸n se han convertido en un elemento imprescindible en la arquitectura de la mayor铆a de los sistemas. Sin embargo, como usuario de plataformas de medios sociales y aplicaciones relevantes, apuesto a que te habr谩n molestado los art铆culos, noticias, memes y dem谩s duplicados. La exposici贸n a contenidos duplicados dificulta el proceso de recuperaci贸n de informaci贸n y da lugar a una mala experiencia de usuario.

Para un producto que se ocupa de flujos de informaci贸n, es prioritario que los desarrolladores encuentren un procesador de datos flexible que pueda integrarse perfectamente en la arquitectura del sistema para desduplicar noticias o anuncios id茅nticos.

SmartNews, valorada en 2.000 millones de d贸lares, es la empresa de aplicaciones de noticias m谩s valorada de Estados Unidos. Cabe destacar que antes era usuaria de Milvus, una base de datos vectorial de c贸digo abierto, pero m谩s tarde se transform贸 en colaboradora activa del proyecto Milvus.

Este art铆culo cuenta la historia de SmartNews y explica por qu茅 decidi贸 contribuir al proyecto Milvus.

Visi贸n general de SmartNews

SmartNews, fundada en 2012, tiene su sede en Tokio (Jap贸n). La aplicaci贸n de noticias desarrollada por SmartNews ha sido siempre la mejor valorada en el mercado japon茅s. SmartNews es la app de noticias de m谩s r谩pido crecimiento y tambi茅n cuenta con una alta viscosidad de usuarios en el mercado estadounidense. Seg煤n las estad铆sticas de APP Annie, la duraci贸n media mensual de las sesiones de SmartNews ocupaba el primer lugar entre todas las aplicaciones de noticias a finales de julio de 2021, por encima de la duraci贸n acumulada de las sesiones de AppleNews y Google News.

Con el r谩pido crecimiento de la base de usuarios y la viscosidad, SmartNews tiene que enfrentarse a m谩s retos en t茅rminos de mecanismo de recomendaci贸n y algoritmo de IA. Dichos retos incluyen la utilizaci贸n de caracter铆sticas discretas masivas en el aprendizaje autom谩tico (ML) a gran escala, la aceleraci贸n de la consulta de datos no estructurados con la b煤squeda de similitud vectorial, etc.

A principios de 2021, el equipo del algoritmo de anuncios din谩micos de SmartNews solicit贸 al equipo de infraestructura de IA que optimizara las funciones de recuperaci贸n y consulta de anuncios. Tras dos meses de investigaci贸n, el ingeniero de infraestructura de IA Shu decidi贸 utilizar Milvus, una base de datos vectorial de c贸digo abierto que admite m煤ltiples 铆ndices y m茅tricas de similitud y actualizaciones de datos en l铆nea. M谩s de mil organizaciones de todo el mundo conf铆an en Milvus.

La base de datos vectorial de c贸digo abierto Milvus se utiliza en el sistema SmartNews Ad para buscar y recomendar a los usuarios anuncios din谩micos a partir de un conjunto de datos a escala de 10 millones de millones. De este modo, SmartNews puede crear una relaci贸n de correspondencia entre dos conjuntos de datos previamente incomparables: los datos de los usuarios y los datos de los anuncios. En el segundo trimestre de 2021, Shu consigui贸 desplegar Milvus 1.0 en Kubernetes. M谩s informaci贸n sobre c贸mo desplegar Milvus.

img img

Tras el exitoso despliegue de Milvus 1.0, el primer proyecto en utilizar Milvus fue el proyecto de retirada de anuncios iniciado por el equipo de anuncios de SmartNews. Durante la fase inicial, el conjunto de datos de anuncios era a escala de un mill贸n. Mientras tanto, la latencia P99 se controlaba estrictamente en menos de 10 milisegundos.

En junio de 2021, Shu y sus colegas del equipo de algoritmos aplicaron Milvus a m谩s escenarios empresariales e intentaron la agregaci贸n de datos y la actualizaci贸n de datos/铆ndices en l铆nea en tiempo real.

Por ahora, Milvus, la base de datos vectorial de c贸digo abierto, se ha utilizado en varios escenarios empresariales en SmartNews, incluida la recomendaci贸n de anuncios.

De usuario a colaborador activo

Durante la integraci贸n de Milvus en la arquitectura de productos de Smartnews, Shu y otros desarrolladores solicitaron funciones como la recarga en caliente, el TTL (tiempo de vida) de los art铆culos, la actualizaci贸n/sustituci贸n de art铆culos, etc. Estas funciones tambi茅n son deseadas por muchos usuarios. Tambi茅n son funciones deseadas por muchos usuarios de la comunidad Milvus. Por lo tanto, Dennis Zhao, jefe del equipo de infraestructura de IA en SmartNews decidi贸 desarrollar y contribuir con la funci贸n de recarga en caliente a la comunidad. Dennis cre铆a que "el equipo de SmartNews se ha beneficiado de la comunidad Milvus, por lo tanto, estamos m谩s que dispuestos a contribuir si tenemos algo que compartir con la comunidad."

La recarga de datos permite editar el c贸digo mientras se ejecuta. Con la ayuda de la recarga de datos, los desarrolladores ya no necesitan detenerse en un punto de interrupci贸n o reiniciar la aplicaci贸n. En su lugar, pueden editar el c贸digo directamente y ver el resultado en tiempo real.

A finales de julio, Yusup, ingeniero de SmartNews, propuso la idea de utilizar alias de colecciones para lograr la recarga en caliente.

La creaci贸n de alias de colecci贸n se refiere a la especificaci贸n de nombres de alias para una colecci贸n. Una colecci贸n puede tener varios alias. Sin embargo, un alias corresponde como m谩ximo a una colecci贸n. Basta con establecer una analog铆a entre una colecci贸n y una taquilla. Un casillero, al igual que una colecci贸n, tiene su propio n煤mero y posici贸n, que siempre permanecer谩n invariables. Sin embargo, siempre puedes meter y sacar cosas diferentes de la taquilla. Del mismo modo, el nombre de la colecci贸n es fijo, pero los datos de la colecci贸n son din谩micos. Siempre puede insertar o eliminar vectores en una colecci贸n, ya que la eliminaci贸n de datos est谩 soportada en la versi贸n Milvus pre-GA.

En el caso del negocio publicitario SmartNews, se insertan o actualizan cerca de 100 millones de vectores a medida que se generan nuevos vectores publicitarios din谩micos. Existen varias soluciones al respecto:

  • Soluci贸n 1: borrar primero los datos antiguos e insertar los nuevos.
  • Soluci贸n 2: crear una nueva colecci贸n para los nuevos datos.
  • Soluci贸n 3: utilizar alias de colecciones.

En el caso de la soluci贸n 1, uno de los inconvenientes m谩s evidentes es que requiere mucho tiempo, sobre todo cuando el conjunto de datos que hay que actualizar es enorme. Por lo general, se tardan horas en actualizar un conjunto de datos a escala de 100 millones.

En cuanto a la soluci贸n 2, el problema es que la nueva colecci贸n no est谩 disponible inmediatamente para la b煤squeda. Es decir, una colecci贸n no se puede buscar durante la carga. Adem谩s, Milvus no permite que dos colecciones utilicen el mismo nombre de colecci贸n. Cambiar a una nueva colecci贸n siempre requerir铆a que los usuarios modificaran manualmente el c贸digo del lado del cliente. Es decir, los usuarios tendr铆an que revisar el valor del par谩metro collection_name cada vez que necesitaran cambiar de una colecci贸n a otra.

La soluci贸n 3 ser铆a la soluci贸n milagrosa. S贸lo tiene que insertar los nuevos datos en una nueva colecci贸n y utilizar el alias de colecci贸n. De este modo, s贸lo tendr谩 que cambiar el alias de la colecci贸n cada vez que necesite cambiar de colecci贸n para realizar la b煤squeda. No es necesario realizar esfuerzos adicionales para revisar el c贸digo. Esta soluci贸n le ahorra los problemas mencionados en las dos soluciones anteriores.

Yusup parti贸 de esta petici贸n y ayud贸 a todo el equipo de SmartNews a comprender la arquitectura de Milvus. Al cabo de un mes y medio, el proyecto Milvus recibi贸 de Yusup un PR sobre la recarga en caliente. Y m谩s tarde, esta funci贸n est谩 oficialmente disponible junto con el lanzamiento de Milvus 2.0.0-RC7.

Actualmente, el equipo de infraestructura de IA est谩 tomando la iniciativa para desplegar Milvus 2.0 y migrar todos los datos gradualmente de Milvus 1.0 a 2.0.

img_collection alias img_collection alias

La compatibilidad con el alias de colecci贸n puede mejorar enormemente la experiencia del usuario, especialmente para aquellas grandes empresas de Internet con grandes vol煤menes de solicitudes de usuarios. Chenglong Li, ingeniero de datos de la comunidad Milvus, que ayud贸 a construir el puente entre Milvus y Smartnews, dijo: "La funci贸n de alias de colecci贸n surge de la petici贸n real de negocio de SmartNews, un usuario de Milvus. Y SmartNews aport贸 el c贸digo a la comunidad Milvus. Este acto de reciprocidad es un gran ejemplo del esp铆ritu del c贸digo abierto: de la comunidad y para la comunidad. Esperamos ver m谩s colaboradores como SmartNews y construir conjuntamente una comunidad Milvus m谩s pr贸spera."

"Actualmente, parte del negocio publicitario est谩 adoptando Milvus como base de datos vectorial offline. Se acerca el lanzamiento oficial de Mivus 2.0, y esperamos poder utilizar Milvus para construir sistemas m谩s fiables y proporcionar servicios en tiempo real para m谩s escenarios empresariales", dijo Dennis.

Actualizaci贸n: 隆Milvus 2.0 ya est谩 disponible en general! M谩s informaci贸n

Try Managed Milvus for Free

Zilliz Cloud is hassle-free, powered by Milvus and 10x faster.

Get Started

Like the article? Spread the word

Sigue Leyendo