配送交付时间轻量级预估实践

本文详述了美团配送技术团队在复杂配送场景下,如何迭代优化交付时间预估模型,从树模型到向量召回再到轻量级深度学习网络,克服了非数值型数据处理与性能挑战,实现了100%的召回率与显著效果提升。

1. 背景

可能很多同学都不知道,从打开美团App点一份外卖开始,然后在半小时内就可以从骑手小哥手中拿到温热的饭菜,这中间涉及的环节有多么复杂。而美团配送技术团队的核心任务,就是将每天来自祖国各地的数千万份订单,迅速调度几十万骑手小哥按照最优路线,并以最快的速度送到大家手中。

在这种场景下,骑手的交付时间,即骑手到达用户附近下车后多久能送到用户手中,就是一个非常重要的环节。下图是一个订单在整个配送链路的时间构成,时间轴最右部分描述了交付环节在整个配送环节中的位置。交付时间衡量的是骑手送餐时的交付难度,包括从骑手到达用户楼宇附近,到将餐品交付到用户手中的整个时间。

交付时间的衡量是非常有挑战的一件事,因为骑手在送餐交付到用户手中时会碰到不同的问题,例如:骑手一次送餐给楼宇内多个用户,骑手对于特定楼宇寻址特别困难,骑手在交付楼宇附近只能步行,老旧小区没有电梯,写字楼无法上楼,或者难以等到电梯等等。交付时间预估需要具备刻画交付难度的能力,在定价、调度等多个场景中被广泛使用。例如根据交付难度来确定是否调节骑手邮资,根据交付难度来确定是否调节配送运单的顺序,从而避免超时等等。总的来说,交付时间预估是配送业务基础服务的重要一环。

但是,交付时间预估存在如下的困难:

  • 输入信息较少,且多为非数值型数据,目前能够被用来预估的仅有如下维度特征:交付地址、交付点的经纬度、区域、城市,适配常规机器学习模型需要重新整理且容易丢失信息。
  • 计算性能要求很高。由于是基础服务,会被大量的服务调用,需要性能TP99保证在10ms以内,整个算法平均响应时间需要控制在5ms内,其中包括数据处理及RPC的时间。且该标准为CPU环境下的性能要求,而非GPU下的性能要求。

上图为部分版本所对应的性能,平响时间均在5ms内,TP99基本在10ms内

总结起来,交付时间预估的问题,在于需要使用轻量级的解决方案来处理多种数据形式的非数值型数据,并提取有效信息量,得到相对准确的结果。在相同效果的前提下,我们更倾向于性能更优的方案。

在本文中,我们介绍了交付时间预估迭代的三个版本,分别为基于地址结构的树模型、向量召回方案以及轻量级的End-to-End的深度学习网络。同时介绍了如何在性能和指标之间取舍,以及模型策略迭代的中间历程,希望能给从事相关工作的同学们有所启发和帮助。

2. 技术迭代路径

首先,在交付时间预估的技术迭代上,我们主要经历了三个大版本的改动,每一版本在5ms计算性能的约束下,追求轻量化的解决方案,在兼顾提升效果的基础上,不显著增加性能的消耗。

本章节分别叙述了3个模型的迭代路径,包括技术选型、关键方案及最终效果。

2.1 树模型

技术选型

最早也是最容易被考虑到的是利用规则,核心思路是利用树结构衡量地址相似性,尽可能在相似的交付地址上积聚结构化数据,然后利用局部的回归策略,得到相对充裕的回归逻辑,而未能达到回归策略要求的则走兜底的策略。

为了快速聚积局部数据,树模型是一个较为合适的解决方案,树的规则解析能够有效地聚集数据,同时一个层级并不深的树,在计算速度上,具备足够的优势,能够在较短的时间内,得到相对不错的解决方案。

观察用户填写地址以及联系实际中地址的层级结构,不难发现,一个地址可以由四级结构组成:地址主干词(addr)、楼宇号(building)、单元号(unit)、楼层(floor)。其中的地址主干词在实际中可能对应于小区名或者学校名等地标名称。例如望京花园1号楼2单元5楼,解析为(望京花园,1号楼,2单元,5楼)。通过分析,实际交付时长与楼层高低呈正相关关系,且不同交付地址的交付时长随楼层增加的变化幅度也有所区别,所以可以使用线性回归模型拟合楼层信息和交付时长的关系,而地址主干词、楼宇号、单元号作为其层级索引。但用户填写的地址中并不一定包含完整的四级结构,就会存在一定比例的缺失,所以利用这样的层级结构构建成一棵树,然后充分利用上一层已知的信息进行预估。预测时,只需根据结点的分支找到对应的模型即可,如果缺失,使用上一层结构进行预测。对于没有达到训练模型要求数据量的地址,使用其所在的区域平均交付时长作为交付时长的预估结果,这部分也可以看作区域信息,作为树结构的根节点。

迭代路径

整体的思路是基于离散特征训练树模型,在树的结点上基于楼层训练线性回归模型。树结点训练分裂规则:(1)数据量大于阈值;(2)分裂后MAE(平均绝对误差)的和小于分裂前。考虑到数据的时效性,采用加权线性回归增加近期数据的权重。

2.2 树模型+向量召回方案

技术选型

向量召回作为主流的召回方案之一,被业界广泛使用,在使用LSH、PQ乘积量化等常用开源工具基础上,高维向量召回性能通常在毫秒量级。

而从算法上考虑,树模型中NLP地址解析结果能够达到模型使用要求的仅为70%+,剩余20%+的地址无法通过训练得到的模型从而只能走降级策略。利用高维向量来表达语义相似性,即利用向量来表达地址相似性,从而用相似数据对应的模型来替代相似但未被召回数据,将地址主干词进行Embedding后,摆脱主干词完全匹配的低鲁棒性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值