Taobao 정보 흐름 통합 및 하이브리드 서비스 업그레이드





추천 시스템은 사용자의 선호도를 예측하고, 수많은 정보 중에서 사용자가 관심을 가질 만한 콘텐츠를 필터링하여 개인화된 추천을 제공하는 정보 필터링 시스템입니다. 완전한 추천 시스템 프로세스에는 주로 다중 채널 리콜 -> 자료 완성 -> 미세 정렬 및 필터링 -> 혼합 정렬 -> 적응 출력과 같은 처리 노드가 포함됩니다. 결과 출력 전 마지막 처리 계층으로 셔플링은 주로 다양한 소스의 추천 결과를 정규화하고 정렬하는 데 사용됩니다. 한편으로는 사용자에게 가장 좋은 추천 효과를 갖는 정렬 순서를 얻고 다른 한편으로는 , 이는 또한 다양성, 개인화 및 추천 범위를 향상시킬 수 있습니다.



기술연계 현황


▐기존 링크  


Taobao의 정보 흐름은 전형적인 추천 시스템입니다. 정보의 흐름에는 제품, 광고, 클라우드 테마, ​​짧은 영상, 라이브 방송 등 다양한 종류의 명함이 있습니다. 명함을 광고 결과와 자연 추천 결과 두 가지로 나누어 보겠습니다. 정렬 단계에서는 두 개의 직렬 처리 모듈이 서로 다른 두 가지 유형의 결과로 나누어 혼합 및 정렬됩니다.


구매 후 정보 흐름 혼합 과정의 개략도

  1. 광고결과 : 광고는 주로 다이나믹 피트 디스플레이 전략을 채택하고 있으며, 광고에서 제공하는 다이나믹 디스플레이 서비스를 호출하여 어느 피트에 광고를 표시할지, 어떤 광고 결과를 구체적으로 표시할지, 그에 따른 광고과금을 결정하며 최적의 상품화를 의사결정 목표로 한다. . 값. 의사결정 시 추천 후보 세트는 모두 맥락적 특징으로 입력되지만, 자연적인 결과의 순서는 결정되지 않습니다.
  2. 자연적 결과 : 자연적 결과를 재정렬하는 과정은 광고 후보 집합을 맥락적 특징으로 활용하여 의사 결정을 내리지 않으며, 마찬가지로 광고 후보 집합의 순위에 대한 추가 결정을 내리지 않고 자연 결과 내에서만 재정렬하여 결과를 얻는다. 최적의 사용자 가치 정렬 순서.

최종 결과 출력 순서에서는 동적 디스플레이 서비스에 의해 결정된 슬롯에 광고 결과가 우선적으로 표시되고, 나머지 빈 슬롯에는 기타 자연스러운 추천 결과가 표시됩니다.

문제가 있습니다  


  1. 알고리즘 전략은 일관되지 않은 목표를 가지고 있으며 전체적으로 최적의 결과를 얻을 수 없습니다 . 광고 표시 전략은 상업적 가치에 더 기반을 두고 있으며, 트레이드오프를 조정하여 지표 대체를 달성할 수 있지만 자연스러운 결과의 사용자 가치에 대한 고려는 적습니다. 그러나 분명히 전역적으로 최적의 시퀀스 결과를 얻을 수는 없습니다.
  2. 알고리즘 전략 반복과 비즈니스 로직 반복 사이에는 높은 결합이 있습니다 . 현재 링크에서 알고리즘 학생들은 공대생들과 동일한 코드 세트를 공동으로 개발해야 하며, 동시에 관련된 다양한 정책 모듈은 여러 단계에 분산되어 있습니다. 광고 동적 타겟팅 서비스가 의존하는 광고 ecpm 가치 서비스는 완료 단계에서 호출되고 실제 동적 타겟팅 결과는 혼합 스케줄링 중에 처리되므로 전체 시스템의 복잡성이 높아지고 안정성이 높아집니다. 유지관리 비용.


▐해결책 _  


위의 문제점을 토대로 현재의 혼합배치전략 서비스에 대한 통합적인 업그레이드를 진행하고자 하며, 업그레이드된 서비스는 다음과 같은 특징을 가져야 합니다.
  1. 셔플 전략 목표 조정 : 셔플 서비스는 사용자 가치와 상업적 가치를 종합적으로 고려해야 하며, 페이지 전체의 가치를 셔플 전략 목표로 극대화해야 합니다.
  2. 디커플링 전략과 비즈니스 : 서버 측 비즈니스 링크에서 믹싱 전략 로직을 추출하여 독립된 서비스로 연결하며, 이후 반복적인 업그레이드는 새로운 서비스에서 알고리즘 동료에 의해 유지되며, 알고리즘의 전략은 반복적으로 독립적이다. 엔지니어링 링크의 비즈니스 반복을 통해 개발 작업 분담을 더욱 명확하게 하고 해당 유지 관리 비용을 절감합니다.


구체적인 실시계획


▐기술적 선정  


이 새로운 하이브리드 퓨전 서비스는 xrec를 코드 프레임워크로 선택합니다. xrec는 tpp 그래픽 엔진을 기반으로 한 비즈니스 프레임워크로, 프레임워크에는 주로 다음과 같은 장점이 있습니다.

  1. 비즈니스 프로세스의 권장 컴포넌트화 : xrec 프레임워크는 링크의 비즈니스 노드를 컴포넌트로 추상화할 수 있으며 개발자는 프레임워크에서 합의한 컴포넌트 구현 사양에 따라 각 노드의 비즈니스를 구현하고 고정 형식의 json 파일을 전달하기만 하면 됩니다. 코드 수준에서 비즈니스 프로세스의 조정을 고려할 필요가 없습니다.

  2. 완전 비동기 동시성 성능 최적화 : 원래 엔지니어링 링크에 사용된 TPE 프레임워크의 간소화된 실행 프로세스와 달리 xrec 프레임워크는 다중 채널 동시성을 자동화하고 데이터 작업을 캡슐화하여 장면 성능을 향상시키고 그래픽 구조를 사용하여 비즈니스 프로세스를 설명합니다. 동시 프로그래밍을 학습함으로써 대규모의 안전한 동시성을 달성함과 동시에 데이터 직렬화/역직렬화, 데이터 변환, 일반적인 외부 서비스 호출 등을 연산자 연산에 캡슐화하여 사용하며, 성능 최적화 플랫폼 모듈은 사용되지 않는 성능 개선 사용자 코드를 대체하는 데 사용됩니다.


xrec 프레임워크는 알고리즘 개발자의 작업을 많이 줄여주지만 코딩 규칙에 더 많은 제약을 가하므로 개발 프로세스는 프레임워크의 규칙에 따라 엄격하게 수행되어야 합니다.


▐링크 방식  


  • 혼합 서비스 링크 솔루션


xrec 프레임워크를 기반으로 모든 광고 및 자연스러운 결과의 통합 셔플링 전략 로직을 수행하기 위해 독립적인 TPP 서비스(xhuffle)를 구축했습니다. 서비스의 전반적인 링크는 다음과 같습니다. xhuffle 서비스는 내부적으로 광고 ecpm 가치 추정 서비스와 권장 통합 가치 모델을 병렬로 호출하여 광고 및 자연 결과의 가치 정보를 얻습니다. 융합 혼합 메커니즘 모듈은 광고 및 자연 결과 가치 정보를 요약하고 정렬에 대한 결정을 내립니다. 모든 카드의 결과. , 카드의 피트 위치를 고려하거나 카드를 재정렬하고 마지막으로 광고 청구 서비스를 호출하여 광고 결과에 대한 광고 청구 정보를 얻습니다.

  1. 원래 엔지니어링 링크에서 혼합 및 종속 서비스 모듈은 파이프라인의 여러 단계에 분산되어 있습니다. 새로운 서비스를 생성한 후, 혼합 및 정렬 관련 로직이 독립된 서비스로 통합되고, 새로운 서비스에서 별도로 반복될 수 있어 개발 및 유지 관리 비용이 크게 절감됩니다.
  2. 추천 통합 가치 모델과 광고 ECPM 추정 서비스는 각각 추천과 광고로 유지되며, 추천 가치 포인트와 광고 가치 포인트 획득을 각각 담당합니다.
  3. 통합된 혼합 메커니즘 모듈은 광고 및 추천 측면에서 공동으로 유지 관리되고 반복됩니다.
  4. 광고과금 서비스는 광고측에서 관리하며, 광고 EADS 서비스 호출을 통해 광고과금 문자열 생성을 광고 서비스 내로 융합하여 정보보안을 확보한다.

xhuffle 서비스의 전체 링크 다이어그램

또한 인수 후 정보 흐름에는 클라우드 테마, ​​짧은 동영상 타겟팅 등 일부 비즈니스 타겟팅 전략이 아직 남아 있기 때문에 원래 혼합 배열 전략에서는 이 부분의 전략을 고려하지 않았습니다. 비즈니스 타겟팅의 경우 셔플링 전략은 여전히 ​​피트 위치를 결정할 수 있으며, 이로 인해 이러한 비즈니스 피트 카드가 셔플링 결과를 방해하여 비즈니스 데이터 지표에 직접적인 영향을 미칠 수 있습니다. xhuffle 서비스에서는 비즈니스 피트 정보의 이 부분을 셔플링 모듈에 대한 서비스 입력으로 제공하고, 피트의 이 부분을 사전에 회피하여 믹싱 결과와 비즈니스 피트 결과가 서로 간섭하지 않도록 합니다.


  • 엔지니어링 링크 서비스 통화 계획


xhuffle 서비스가 도입된 후 서비스 호출 시기는 업스트림 엔지니어링 링크의 주요 관심사입니다. 기본 아이디어는 정렬 단계에서 사전 필터링이 완료된 후 xhuffle 서비스를 호출하여 사전 필터링된 광고 및 자연 결과 후보 세트에 대한 결정을 내린 다음 셔플링을 기반으로 최종 출력 카드 순서를 결정하는 것입니다. 결과. 이는 필터링된 카드에 대한 결정을 피하고 피트 활용률을 향상시키는 한편, 후보 세트 수를 줄여 서비스에 대한 부담을 어느 정도 줄일 수 있습니다.

여기서는 두 가지 링크 호출 방식을 제안합니다.

옵션 1: 정렬 단계를 분할하고 서비스 호출을 병렬로 수행


기존 링크는 정렬 단계에서 순차적으로 실행되므로 새로운 외부 서비스 호출 추가를 고려하여 솔루션 1에서는 정렬 단계를 두 단계로 나눕니다.
  1. 사전 분류 단계 : 이 단계에서는 주로 일부 사전 분류 카드 필터링을 수행합니다. 사전 필터링된 카드 시퀀스를 얻은 후 셔플 서비스 및 엔지니어링 링크의 기타 외부 서비스에 대한 병렬 호출을 시작합니다.
  2. 사후 정렬 단계 : 이 단계에서는 셔플링 결과에 따라 카드 시퀀스를 정렬하고 잘라내어 출력에 맞게 조정해야 하는 최종 카드 시퀀스를 결정합니다.
구성표 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}}

추천

출처my.oschina.net/u/4662964/blog/10924141