统一预估引擎介绍
- 现状:广告、游戏、内容分发、搜索等场景涉及数十个场景、数千台机器、数十万QPS、数十亿调用,需兼顾高性能、易伸缩、易扩展,处理每样本数千特征、每秒数十亿特征、每模型数十亿特征、每预测数万候选。
- 挑战:需兼顾效率、通用复用、灵活定制,处理候选多特征、多模型、多成本效益、数据偏差、逻辑偏差、特征穿越一致性诉求。
统一的特征计算框架
- 总览:围绕样本/特征/模型的计算逻辑集合,包含样本构建、特征计算、缓存快照、可扩展算子模式、配置化计算逻辑、预分配内存管理、无冗余分离计算、自动化联动缓存。
- 可扩展算子模式:全局能力共享+增量能力扩展。
- 配置化计算描述:通过配置化描述计算逻辑。
- 预分配内存管理:采用并行无锁对象池。
- 无冗余分离计算:用户维公共特征只计算一次,物料维特征分批次并行计算,计算角度存储角度分离。
- 自动化联动缓存:IO操作与逻辑计算分离,利用输入输出不变特点用缓存代替直接计算。
统一的模型推理管理
- 插件式管理:不同推理方案统一接口,差异化下沉到推理算子级别。
- 分离架构:支持本地推理与RPC推理。
- 分离架构必要性:机器利用率受限于最短板,大内存规格依赖。
预估多阶段加速机制
- 多核加速:样本补全/特征计算/模型计算在候选维度并行处理加速。
- 多机加速:分布式预估,预估客户端支持基于物料候选维度的请求拆分。
在线离线一致性方案
- 计算逻辑约束:线上线下共用相同特征计算库(C++库)。
- 回流数据约束:预估时样本=回调曝光时样本,预估与回流样本为同一份快照数据。
粗排针对性优化
- 背景:预估框架最初基于精排场景设计,百级规模候选框架优化实践。
- 挑战:超大规模候选(万级),单样本特征少模型不复杂,如何应对。
- 基础方案:双塔模型架构,物料向量近线/离线生产。
- 进阶方案:请求协议候选维度数据结构降维,自适应流程裁剪。
- 可控算力成本:特征算力评估工具+在线算力自适应机制。
总结及展望
- 特征计算框架:灵活伸缩、并行无锁对象池、在线离线一致性约束、通用复用、数据结构降维、插件式模型管理、增量扩展、自动化联动缓存、GPU特征计算、消除冗余计算、低碳低成本、智能资源管理、代码贡献开源。