千亿级在线学习框架的工程实践
本文档总结了OPPO自研机器学习框架的工程实践经验,涵盖了大规模稀疏训推框架的架构设计、优化、部署和性能优化等多方面内容。以下是文档中提到的知识点:
1. 在线学习面临的挑战:单样本5k个key,单次请求100候选,推理服务的拉取embedding流量为3GB/s,流量压力大易用性、batch训练与流式训练、算法同学无感知recover、错误样本混入模型、worker/train-ps/serving-ps down机了快速恢复、参数从train-ps同步到serving-ps时延秒级等。
2. 在线学习架构图:包括实时样本处理、延迟转化FN纠编、预期推理的预估值计算、logits纠编等。
3. Flink方案:Flink方案优点包括开发代价小、借用flink生态来做样本的加工与处理、flink方案训练与推理用同一套代码等,缺点包括算法同学建模语言门槛比较高、使用tf推理性能会比较差等。
4. 实时性:worker从kfk读取实时样本数据、train-ps记录最新的emb key、serving-ps从kfk拉取最新的embedding、修改embedding等。
5. Recover:train-ps节点down机恢复流程、serving-ps节点down机恢复流程等。
6. 推理侧性能挑战:推理侧采用lru-cache来大幅度减少请求ps的流量、多副本提升稳定性、增加qps、单副本失败流量自动切到另外的副本等。
7. 特征衰减淘汰渐近式rehash缓存减少网络流量多副本推理的性能优化:包括经过去重、lru cache、 update cache策略等。
8. 模型规模 > 1T、参数服务器性能5.7kw/s、万key请求p99约10ms、推理lru-cache:5w sign, p99 40ms、端到端的延时等性能指标。
9. 工程指标:业务指标提升,包括商店推荐某场景离线auc提升千一、线上提升3~4%等。
本文档提供了大规模稀疏训推框架的工程实践经验,涵盖了架构设计、优化、部署和性能优化等多方面内容,旨在帮助读者更好地理解大规模稀疏训推框架的工程实践。