当前位置:文档之家› 超大规模深度学习在美团的应用

超大规模深度学习在美团的应用

超大规模深度学习在美团的应用余建平美团点评用户平台研究员自我介绍2011年硕士毕业于南京大学计算机科学与技术系。

毕业后曾在百度凤巢从事机器学习工程相关的工作,加入美团后,负责超大规模机器学习系统,从无到有搭建起支持千亿级别规模的深度学习系统,与推荐、搜索、广告业务深度合作,在算法上提供从召回到排序的全系统优化方案,在工程上提供离线、近线、在线的全流程解决方案。

目录•美团超大规模模型场景简介•超大规模机器学习MLX✓MLX平台目标✓MLX平台架构•模型场景应用✓召回模型✓排序模型目录•美团超大规模模型场景简介•超大规模机器学习MLX✓MLX平台目标✓MLX平台架构•模型场景应用✓召回模型✓排序模型美团超大规模模型应用场景美团推荐美团搜索美团广告美团应用场景简介•场景特点✓亿级的用户,千万级的O2O商品✓海量的用户行为,完整的交易闭环✓LBS相关的推荐•模型特点✓百亿级别的训练数据✓千亿级别的模型特征✓秒级实时的模型反馈目录•美团超大规模模型场景简介•超大规模机器学习MLX✓MLX平台目标✓MLX平台架构•模型场景应用✓召回模型✓排序模型超大规模模型的有效性•VC维理论✓描述模型的学习能力:VC维越大模型越复杂,学习能力越强✓机器学习能力=数据+特征+模型•数据✓海量数据:美团的亿级用户、千万级POI•特征✓大规模离散特征>小规模泛化特征•模型✓DNN>树模型>LR美团超大规模模型应用场景•可扩展的机器学习架构✓基于Parameter Server架构✓数据并行——支持超大规模训练集✓模型并行——支持超大规模模型•业界千亿级以上的机器学习平台✓开源:PaddlePaddle、XDL,etc.✓内部:Abacus、XPS,etc.关于Online Learning•Online Learning的价值✓用户的近期行为,更能表现意图和偏好✓增强新item的模型感知能力•更快数据反馈、更少资源消耗✓分钟级的数据反馈✓增量训练、避免batch重训带来的资源消耗•支持计算图模式,模型结构灵活多样✓支持推荐、搜索、广告场景常用的深度学习模型✓FTRL、FM、FFM、WDL、DCN、DeepFM、MTL等•Optimizer✓FTRL、AdaGrad、AdaDelta、ADAM、AmsGrad、etc•Loss Function✓LogLoss、SquareLoss、Cross Entropy、etc•评估指标✓AUC、Loss、MAE、RMSE✓支持外部eval工具,计算MAP、NDCGMLX模型能力•提供离线、近线、在线全流程解决方案,各阶段提供扩展方案,降低算法迭代成本;•支持Online Learning,提供从近线到在线的模型数据通路;•提供从召回到排序全流程的模型解决方案,为业务提供最佳实践;•提供系统的平台化工具,为用户提供易用的界面操作;MLX平台架构MLX平台架构•Worker✓模型计算引擎(Engine)✓计算图框架(Graph)•模型计算引擎Engine✓模型结构处理✓与PS通信交换模型参数✓计算图的计算•计算图框架Graph✓计算逻辑抽象op,通过op组合形成模型结构✓提供正向(forward)、反向(backward)、Loss的操作扩展•模型可变计算路径✓运行阶段✓计算图裁剪•应用场景——离线预计算✓模型召回,ANN检索✓粗排模型,降低线上计算量•分布式Sharding✓模型分片存储,支持超大规模模型✓数据并行计算,加速Optimizer计算•低频特征过滤✓Counting Bloom Filter✓概率方式•模型数据通路✓Base+Delta方式✓增量提供ACK机制,确保模型正确性Parameter Server•模型数据的统一管理✓模型结构✓模型参数PS的参数放置策略•Ps 分布式分片的均衡,避免分片大小不一致✓NN 网络矩阵按行切分,解决请求包不均衡问题✓特征按照Hash 方式分布式存储•模型并行调超参✓grid search ✓random search PS的多模型训练•提高内存使用效率✓model group 内共享特征key 的存储PS的长尾效应•超大规模模型-> 高扇出的分布式PS•长尾效应:单个分片的抖动(网络、CPU)对请求影响变大✓单分片4个9的可用性✓16分片整体可用性:99.99%^ 16 = 99.84%✓64分片整体可用性:99.99%^ 64 = 99.36%✓128分片整体可用性:99.99%^ 128 = 98.72%•Backup Request✓Jeff Dean在解决BigTable高扇出时提出的方案Backup Request副本1副本2PS Shard1副本1副本2PS Shard2副本1副本2PS Shard NPredictorreq1req2req NPS Req……reply1reply2reply N…超过tBackup Request Cancel Request流式模型的通路•持久化存储✓本地disk 存储,持久化对齐kafka的数据•PS 快速failover ✓Compaction 机制,降低load 数据量•Online Learning对数据流的要求✓不重不丢:重复的数据会使模型有偏,数据的缺失会使模型丢失重要信息✓数据有序性:数据乱序会导致样本穿越的现象•Log Join框架✓双流拼接框架,通过组合方式支持多流拼接✓基于Event Time的Window机制拼接方式✓基于Low Watermark解决流乱序、流延迟等流式常见问题流式拼接框架•Low Watermark机制✓定义了流式数据的时钟,不可逆性✓Smooth low watermark:异常数据时间跳变流式拼接•Checkpoint解决不重不丢问题✓外存解决大数据量性能问题✓在引擎中流转log key,特征数据在外存在线预估服务•分业务场景支持✓轻量级predictor:仅支持模型的计算,特征由业务传入,无状态设计✓自定义predictor:提供业务抽象,支持业务自定义逻辑,插件化实现•逻辑阶段抽象,业务根据自身需求选择性实现✓数据获取:根据业务的自身逻辑获取特征原始数据✓特征抽取:将特征数据进行转换,转换成模型所需的格式,比如离散化✓模型计算:传入转换后的特征数据,调用模型计算引擎•特征编码方式✓通过明文hash的方式编码✓适用于特征的动态增长✓不需要预分配,提高处理效率•框架与实现分离✓提供op形式的特征抽取类✓逻辑一致性:在线、近线、离线特征抽取框架目录•美团超大规模模型场景简介•超大规模机器学习MLX✓MLX平台目标✓MLX平台架构•模型场景应用✓召回模型✓排序模型美团推荐场景的应用•漏斗模型•召回模型•排序模型漏斗模型推荐的漏斗模型候选集召回粗排精排策略漏斗模型数千数百千万展位数十模型召回解决方案•模型的设计•样本&特征的设计•模型的通路•基于双塔的模型召回架构✓基于用户和item的DNN结构✓产出用户和item两侧向量•基于ANN的向量相似度检索✓Item侧离线计算,形成ANN词表✓用户侧向量实时计算,通过ANN找出相似item向量召回模型设计•LBS 的负例采样✓与位置相关的negative sampling 样本&特征设计•特征设计✓用户侧:能设计完整的特征,个性化,实时特征✓Item侧:预计算带来的副作用,不能使用实时特征点击(+)仅曝光同地域全体集合分布偏差大无效信息多样本分布召回模型通路•在线、近线、离线全流程解决方案排序模型解决方案•粗排模型•精排模型✓候选集大,通常在千到万级别✓线上的响应时间要求高,通常在几到十几ms•简单模型✓计算耗时短:线性模型LR、树模型✓模型表达能力不足,效果一般•复杂模型✓DNN模型解决耗时是关键,利用预计算解决耗时问题✓效果保障:保证用户的个性化信息,降低候选集计算复杂度•精排阶段的特点✓候选集较少,通常在百级别✓线上耗时相对宽松,几十毫秒(视效果而定)•精排模型的特点✓结构复杂,怎么有效果怎么来✓特征多样:历史行为、统计值、id类特征、高维交叉,etc.•模型发展历程✓树模型:Random Forest、XGBoost✓小规模DNN:MLP、小规模的Wide&Deep✓大规模离散DNN:大规模的Wide&Deep、DeepFM、DCN 1.Random Forest2.XGBoost1.MLP2.少量特征空间的Wide&Deep1.大规模离散特征的Wide&Deep2.DeepFM3.Deep Cross树模型小规模DNN大规模离散DNN总结•超大规模深度学习✓工程实现数据并行、模型并行在线、近线、离线逻辑一致性实时模型✓业务应用召回模型,ANN搜索粗排模型,模型预计算精排模型,大规模离散DNN。

相关主题