Integración del flujo de información de Taobao y actualización del servicio híbrido





El sistema de recomendación es un sistema de filtrado de información que se utiliza para predecir las preferencias del usuario y filtrar el contenido que puede interesarle entre una gran cantidad de información para realizar recomendaciones personalizadas. Un proceso completo del sistema de recomendación incluye principalmente nodos de procesamiento como recuperación multicanal -> finalización de material -> clasificación y filtrado finos -> clasificación mixta -> salida de adaptación. Como última capa de procesamiento antes de la salida del resultado, la reproducción aleatoria se utiliza principalmente para normalizar y ordenar los resultados de recomendación de diferentes fuentes, por un lado, para obtener la secuencia de clasificación con el mejor efecto de recomendación para los usuarios, y por otro lado. , también puede mejorar la diversidad, la personalización y el alcance de las recomendaciones.



Estado actual de los enlaces tecnológicos


▐Enlace existente  


El flujo de información de Taobao es un sistema de recomendación típico. En el flujo de información existen muchos tipos de tarjetas de presentación, como productos, anuncios, temas de nubes, videos cortos, transmisiones en vivo, etc. Dividiremos las tarjetas de presentación en dos categorías: resultados publicitarios y resultados de recomendaciones naturales. En la etapa de clasificación, dos módulos de procesamiento en serie se dividirán en dos tipos diferentes de resultados para mezclar y clasificar.


Diagrama esquemático del proceso de mezcla del flujo de información posterior a la compra.

  1. Resultados publicitarios : La publicidad adopta principalmente una estrategia de visualización dinámica de boxes. Al llamar al servicio de visualización dinámica proporcionado por la publicidad, decide qué boxes mostrar anuncios, qué resultados publicitarios se muestran específicamente y la facturación publicitaria correspondiente. El objetivo de la toma de decisiones es una comercialización óptima. . valor. Al tomar decisiones, todos los conjuntos de candidatos recomendados se ingresarán como características contextuales, pero no se decidirá el orden de los resultados naturales.
  2. Resultados naturales : el proceso de reorganización de los resultados naturales no utiliza el conjunto de candidatos publicitarios como características contextuales para tomar decisiones. De manera similar, no toma decisiones adicionales sobre la clasificación de los conjuntos de candidatos publicitarios. Solo reorganiza dentro de los resultados naturales, para obtener la secuencia de clasificación del valor óptimo para el usuario.

En la secuencia de resultados de salida final, los resultados publicitarios se priorizarán en los espacios determinados por el servicio de visualización dinámica, y otros resultados de recomendaciones naturales se mostrarán en los espacios vacantes restantes.

▐Hay un problema  


  1. Las estrategias algorítmicas tienen objetivos inconsistentes y no pueden obtener resultados óptimos globales : la estrategia de visualización de publicidad se basa más en el valor comercial y se da menos consideración al valor para el usuario de los resultados naturales, aunque la sustitución de indicadores se puede lograr ajustando la compensación. coeficiente entre los dos. , pero obviamente no puede obtener un resultado de secuencia globalmente óptimo.
  2. Existe un alto acoplamiento entre la iteración de la estrategia del algoritmo y la iteración de la lógica de negocios : en el enlace actual, los estudiantes de algoritmos deben desarrollar conjuntamente el mismo conjunto de código con los estudiantes de ingeniería. Al mismo tiempo, los diversos módulos de políticas involucrados están dispersos en diferentes etapas de la canalización, como El servicio de valor ecpm de publicidad en el que se basa el servicio de orientación dinámica de publicidad se llamará durante la fase de finalización, mientras que los resultados de la orientación dinámica real se procesarán durante la programación mixta, lo que dará como resultado una mayor complejidad del sistema general y una mayor estabilidad. costos de mantenimiento.


▐Solución _  


Con base en los problemas anteriores, esperamos llevar a cabo una actualización unificada del actual servicio de estrategia de acuerdo mixto. El servicio actualizado debe tener las siguientes características:
  1. Ajuste del objetivo de la estrategia de reproducción aleatoria : El servicio de reproducción aleatoria debe considerar de manera integral el valor del usuario y el valor comercial, y maximizar el valor general de la página como objetivo de la estrategia de reproducción aleatoria.
  2. Estrategia de desacoplamiento y negocio : extraiga la lógica de la estrategia de mezcla del enlace comercial del lado del servidor y conéctelo como un servicio independiente. Los colegas del algoritmo mantendrán actualizaciones iterativas posteriores en el nuevo servicio y la estrategia del algoritmo se repetirá. Es independiente de la iteración comercial del vínculo de ingeniería, haciendo más clara la división del trabajo en el desarrollo y reduciendo los costos de mantenimiento correspondientes.


Plan de implementación específico


▐Selección técnica  


Este nuevo servicio de fusión híbrida elige xrec como marco de código. xrec es un marco empresarial basado en el motor gráfico tpp, que incluye principalmente las siguientes ventajas:

  1. Componentización recomendada de procesos comerciales : el marco xrec puede abstraer los nodos comerciales del enlace en componentes. Los desarrolladores solo necesitan implementar el negocio de cada nodo de acuerdo con las especificaciones de implementación del componente acordadas por el marco y pasar un archivo json de formato fijo Al organizar procesos, no es necesario considerar la orquestación de procesos de negocio a nivel de código.

  2. Optimización del rendimiento de concurrencia totalmente asíncrona : a diferencia del proceso de ejecución simplificado del marco TPE utilizado en el enlace de ingeniería original, el marco xrec mejora el rendimiento de la escena al automatizar la concurrencia multicanal y encapsular operaciones de datos, y utiliza una estructura gráfica para describir el proceso de negocio. Para que los usuarios no necesiten aprender programación concurrente, puede lograr una concurrencia segura y a gran escala. Al mismo tiempo, la serialización / deserialización de datos, la conversión de datos y las llamadas de servicios externos comunes se encapsulan en operaciones del operador para su uso, y Los módulos de plataforma de rendimiento optimizado se utilizan para reemplazar el código de usuario de rendimiento pulido no utilizado.


El marco xrec ahorra mucho trabajo a los desarrolladores de algoritmos, pero también impone más restricciones a las reglas de codificación. El proceso de desarrollo debe llevarse a cabo estrictamente de acuerdo con las reglas del marco.


▐Esquema de enlace  


  • Solución de enlace de servicio mixto


Basado en el marco xrec, creamos un servicio TPP independiente (xhuffle) para llevar a cabo la lógica de la estrategia de mezcla integrada de toda la publicidad y los resultados naturales. El enlace general del servicio es el siguiente. El servicio xhuffle llama internamente al servicio de estimación de valor ecpm publicitario y al modelo de valor unificado recomendado en paralelo para obtener la información de valor de la publicidad y los resultados naturales. El módulo del mecanismo de mezcla de fusión resumirá la información del valor de la publicidad y los resultados naturales y tomará decisiones sobre la clasificación. resultados de todas las tarjetas., dada la posición en boxes de la tarjeta o reordenando las tarjetas, y finalmente llamando al servicio de facturación de publicidad para obtener información de facturación de publicidad para los resultados de publicidad.

  1. En el enlace de ingeniería original, los módulos de servicio que son mixtos y dependientes están dispersos en diferentes etapas del proceso. Después de crear un nuevo servicio, la lógica relevante de mezcla y clasificación se integra en un servicio independiente y se puede iterar por separado en el nuevo servicio, lo que reduce en gran medida los costos de desarrollo y mantenimiento.
  2. El modelo de valor unificado de recomendación y el servicio de estimación de ecpm publicitario se mantienen mediante recomendación y publicidad respectivamente, y cada uno es responsable de obtener puntos de valor de recomendación y puntos de valor publicitario.
  3. El módulo del mecanismo de mezcla integrado es mantenido e iterado conjuntamente por los lados de publicidad y recomendación.
  4. El servicio de facturación de publicidad lo mantiene la parte de publicidad. Al llamar al servicio de publicidad EADS, la generación de cadenas de facturación de publicidad converge dentro del servicio de publicidad para garantizar la seguridad de la información.

Diagrama de enlaces general del servicio xhuffle

Además, dado que todavía existen algunas estrategias de orientación empresarial en el flujo de información posterior a la adquisición, como temas en la nube, orientación de vídeos cortos, etc., esta parte de la estrategia no se consideró en la estrategia de acuerdo mixto original. De la orientación empresarial, la estrategia de barajado aún puede determinar las posiciones de los boxes, lo que hará que estas tarjetas de boxes comerciales interfieran con los resultados de la mezcla, lo que afectará directamente los indicadores de datos comerciales. En el servicio xhuffle, proporcionamos esta parte de la información del pozo comercial como entrada de servicio al módulo de barajado y evitamos proactivamente esta parte del pozo, asegurando que los resultados de la mezcla y los resultados del pozo comercial no interfieran entre sí.


  • Plan de llamadas de servicio de enlace de ingeniería


Una vez introducido el servicio xhuffle, el momento de la invocación del servicio es una preocupación clave del enlace de ingeniería ascendente. La idea básica es que una vez completado el filtrado previo en la etapa de clasificación, se llama al servicio xhuffle para tomar decisiones sobre los conjuntos de candidatos de resultados naturales y publicidad prefiltrados, y luego se determina la secuencia de tarjetas de salida final en función de la mezcla. resultados. Por un lado, esto puede evitar tomar decisiones sobre tarjetas filtradas y mejorar la tasa de utilización de los pozos; por otro lado, también reduce el número de conjuntos de candidatos, lo que puede reducir la presión sobre los servicios hasta cierto punto.

Aquí proponemos dos esquemas de invocación de enlaces.

Opción 1: dividir la fase de clasificación y llamar a los servicios en paralelo


Dado que el enlace existente se ejecuta en serie en la fase de clasificación, considerando la adición de una nueva llamada de servicio externo, en la Solución 1 dividimos la fase de clasificación en dos fases:
  1. Etapa de clasificación previa : esta etapa realiza principalmente un filtrado de tarjetas de clasificación previa. Después de obtener la secuencia de tarjetas prefiltrada, inicie llamadas paralelas al servicio aleatorio y otros servicios externos del enlace de ingeniería.
  2. Etapa posterior a la clasificación : en esta etapa, la secuencia de tarjetas se ordenará y truncará según los resultados de la mezcla para determinar la secuencia de tarjetas final que debe adaptarse para la salida.
Diagrama de enlace de ingeniería del esquema 1.

这种并行调用的方式看似减轻了链路RT的压力,实际上引入了一个新的问题。排序阶段输入的候选集序列大小一般是数倍于最终排序输出的序列大小,例如在购物车场景,每次请求最终返回的卡片序列数量为20,而排序阶段输入的卡片序列数量一般可达到100。在原有链路中,工程链路其他处理过程只会承接最终确认好顺序的20张卡片。如果将这部分处理前置,即使经过了前置过滤,这部分的服务实际承接的卡片序列数量还是将增长三至四倍,无形中加重了下游服务的压力。

在这部分外部服务中,UMP导购券后价接口的问题比较突出,这主要是因为UMP接口限制了接口一次调用承接的卡片数量不能超过15个,超出数量限制就需要分批发起多次调用,原本承接20张卡片就需要发起两次调用。如果承接的卡片数量增多,那么会直接增加对下游服务的请求量。

在前期小流量验证阶段,我们发现在实验流量上,对UMP服务接口的调用QPS增长了约3倍左右,这一现象也符合我们上述对该方案的分析。在小流量实验上并不能暴露出QPS增长带来的具体问题,但是如果采用这种方案进行推全,全量后下游的UMP接口将承载入口流量六至八倍的流量,压力实在太大,并且最终输出的卡片序列数量并没有增多,这部分新增的资源消耗并不是有效消耗,而是冗余消耗。



方案二:串行调用服务


考虑到上述方案带来的冗余资源消耗问题,我们提出了第二种链路调用方案,将xhuffle服务作为整体排序阶段的一个串行模块,在前置过滤完成后,直接串行执行服务调用。
方案二工程链路示意


这种调用方式对链路的RT压力会更大,由于是串行执行,服务调用的耗时会直接体现到整体链路耗时上。为了缓解RT的压力,我们采取了以下两个方面的措施:

  1. xhuffle服务本身的链路优化。混排服务中耗时占比最大的是推荐统一价值模型的调用,在最初的方案中是通过调用外部tpp服务进行处理,目前已优化为在服务中直接进行RTP调用来处理,同时调用所需的qinfo数据直接使用商品召回的缓存数据,不用重新生成。

  2. 购后工程链路在不影响用户体验的前提下,适当放宽超时限制,以此降低端上的超时率。目前,各场景均将场景超时限制放宽50ms。


两种方案对比


优点

缺点

并行调用对链路整体的RT影响较小

将工程链路其他处理前置,会带来下游服务承接的卡片数量增长三至四倍,带来冗余的资源消耗

链路改造成本小,无冗余资源消耗

服务耗时会直接体现在链路整体耗时上,对系统稳定性的压力更大


经过综合考虑后,我们认为方案一带来的冗余资源消耗是不可接受的,最终选择了方案二作为正式的链路改造方案。


总结与展望


在进行上述的链路改造后,xhuffle服务已在购中后信息流推全,好价版信息流正在逐步接入中。经过一系列优化迭代,目前的xhuffle服务在保证了系统稳定性前提下,取得了自然&广告双涨的结果。

  链路稳定性结果


  1. 混排服务场景指标:入口场景的服务调用平均RT保持在30ms以内,P99保持在70ms以内。服务调用超时率稳定在0.5%以内。
  2. 入口场景整体的系统稳定性指标:链路整体耗时可控,整体超时率保持在0.3%以内。
  3. 端上用户体验指标:由于各场景均扩了超时RT限制,我们通过端上接口的耗时变化来反映对用户体感上的影响。从扩RT前后分端接口耗时来看,用户体感上没有明显的变化。

  未来展望


  1. 短视频、直播等业务的混排策略升级,减少业务定坑对混排的约束。
  2. 类目打散等规则化策略的融入。
  3. 建设通用化的混排服务链路接入方案,以同一套方案为更多场景提供混排策略服务。

网络包传输

淘天集团首页&信息流技术-首页团队,目前负责集团电商平台的首页和信息流推荐,其中手机淘宝首页、信息流、NewDetail等场景每天服务数亿用户,大促核心系统峰值QPS千万计,工作涉及全链路端到端性能优化,流量效率提升、用户体验、提高商家及达人参与淘宝的积极性,优化商业生态运行机制。在过去的几年时间,我们一直专注手机淘宝首页、推荐信息流核心链路业务支持和业务平台抽象,与业界领先的算法团队紧密协作,不断拓展业务边界并将核心业务指标一次次踩在脚下。
这里有巨大的流量,可以满足你对高并发大规模分布式系统练手的畅想;
这里有前沿的算法应用场景,可以玩转各种智能创新;
这里有严苛的系统指标要求,可以让你感受到优化复杂系统化的快感~


¤  拓展阅读  ¤

3DXR技术 |  终端技术 |  音视频技术
服务端技术  |  技术质量 |  数据算法


本文分享自微信公众号 - 大淘宝技术(AlibabaMTT)。
如有侵权,请联系 [email protected] 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

Tauri v2 支持 Android 和 iOS,跨平台开发新选择 PostgreSQL 90% 的新代码仅由 50 人完成,拓数派荣占一席 联想 2024 年将发布全新 AI OS 操作系统 微软为 Windows 11 引入原生 Sudo 命令支持 Redox OS 计划移植更多 Linux 软件 谷歌向 Rust 基金会捐赠 100 万美元,改进 Rust 与 C++ 的互操作性 曾被 Mozilla 放弃的 Web 引擎项目“Servo”在 2024 年迎来重生 Zig 编程语言 2024 年全新路线图发布 Go 语言之父总结成功因素:吉祥物功不可没 谷歌已从搜索结果页面删除“缓存链接”
{{o.name}}
{{m.name}}

Supongo que te gusta

Origin my.oschina.net/u/4662964/blog/10924141
Recomendado
Clasificación