美团外卖特征平台的建设与实践

随着业务的发展,外卖算法模型也在不断演进迭代中。从之前简单的线性模型、树模型,到现在复杂的深度学习模型,预估效果也变得愈发精准。这一切除了受益于模型参数的不断调优,也受益于外卖算法平台对算力增长的工程化支撑。外卖算法平台通过统一算法工程框架,解决了模型&特征迭代的系统性问题,极大地提升了外卖算法的迭代效率。根据功能不同,外卖算法平台可划分为三部分:模型服务、模型训练和特征平台。其中,模型服务用于提供在线模型预估,模型训练用于提供模型的训练产出,特征平台则提供特征和样本的数据支撑。本文将重点阐述外卖特征平台在建设过程中遇到的挑战以及优化思路。

外卖业务发展初期,为了提升策略迭代效率,算法同学通过积累和提炼,整理出一套通用的特征生产框架,该框架由三部分组成:特征统计、特征推送和特征获取加载。如下图所示:

该框架应用在外卖多条业务线中,为算法策略的迭代提供了有力支撑。但随着外卖业务的发展,业务线的增多,数据体量的增大,该框架逐渐暴露以下三点不足:

针对旧框架的不足,我们在2018年中旬开始着手搭建新版的特征平台,经过不断的摸索、实践和优化,平台功能逐渐完备,使特征迭代能力更上一层台阶。

特征平台框架由三部分组成:训练样本生成(离线)、特征生产(近线)以及特征获取计算(在线),如下图所示:

目前,外卖特征平台已接入外卖多条业务线,涵盖数十个场景,为业务的策略迭代提供平台化支持。其中,平台的优势在于两点:

特征同步的方式有多种,业界常见做法是通过开发MR任务/Spark任务/使用同步组件,从多个数据源读取多个字段,并将聚合的结果同步至KV存储。这种做法实现简单,但存在以下问题:

围绕上述几点问题,本文将从三个方面进行特征生产核心机制的介绍:

特征平台目前已接入上游Hive表数百个、特征配置近万个,其中大部分特征都需天级别的更新。那平台如何从上游高效地拉取特征呢?直观想法是从特征配置和上游Hive表两个角度进行考虑:

特征配置角度:平台根据每个特征配置,单独启动任务进行特征拉取。

上游Hive表角度:Hive表中多个特征字段,统一放至同一任务中拉取。

上述两种方案都存在各自问题,不能很好满足业务需求。因此,特征平台结合两个方案的优点,并经过探索分析,提出了特征语义的概念:

特征平台对特征语义的处理分为两个阶段:语义抽取和语义合并,如下图所示:

为了保证每天数十TB数据量的快速同步,特征平台首先按照特征的处理流程:获取、聚合和同步,分别制定了特征语义任务、特征聚合任务和特征同步任务:

同时,特征平台搭建了多任务调度机制,将不同类型的任务进行调度串联,以提升特征同步的时效性,如下图所示:

特征数据通过聚合处理后,需存储到HDFS/KV系统中,用于后续任务/服务的使用。数据的存储会涉及到存储格式的选型,业界常见的存储格式有JSON、Object、Protobuf等,其中JSON配置灵活,Object支持自定义结构,Protobuf编码性能好且压缩比高。由于特征平台支持的数据类型较为固定,但对序列化反序列化性能以及数据压缩效果有较高要求,因此选择Protobuf作为特征存储格式。

Protobuf的常规使用方式是通过Proto文件维护特征配置。新增特征需编辑Proto文件,并编译生成新版本JAR包,在离线&在线同时发布更新后,才能生产解析新增特征,导致迭代成本较高。Protobuf也提供了动态自描述和反射机制,帮助生产侧和消费侧动态适配消息格式的变更,避免静态编译带来的JAR包升级成本,但代价是空间成本和性能成本均高于静态编译方式,不适用于高性能、低时延的线上场景。

针对该问题,特征平台从特征元数据管理的角度,设计了一种基于Protobuf的特征动态序列化机制,在不影响读写性能前提下,做到对新增特征读写的完全配置化。

为方便阐述,先概述下Protobuf编码格式。如下图所示,Protobuf按“键-值”形式序列化每个属性,其中键标识了该属性的序号和类型。可以看出,从原理上,序列化主要要依赖键中定义的字段序号和类型。

因此,特征平台通过从元数据管理接口查询元数据,来替换常规的Proto文件配置方式,去动态填充和解析键中定义的字段序号和类型,以完成序列化和反序列化,如下图所示:

特征数据存储于KV系统中,为在线服务提供特征的实时查询。业界常见的特征在线存储方式有两种:单一版本存储和多版本存储。

因此,特征平台选择特征多版本作为线上数据存储方式。

传统的多版本方式是通过全量数据的切换实现,即每天在全量数据写入后再进行版本切换。然而,特征平台存在增量和全量两种更新方式,不能简单复用全量的切换方式,需考虑增量和全量的依赖关系。因此,特征平台设计了一种适用于增量&全量两种更新方式下的版本切换方式(如下图所示)。该方式以全量数据为基础,白天进行增量更新,版本保持不变,在增量更新结束后,定期进行全量更新(重写),并进行版本切换。

特征获取计算为模型服务、业务系统、离线训练提供特征的实时获取能力和高性能的计算能力,是特征平台能力输出的重要途径。

旧框架中,特征处理分散在业务系统中,与业务逻辑耦合严重,随着模型规模增长和业务系统的架构升级,特征处理性能逐渐成为瓶颈,主要存在以下问题:

围绕以上两点,本文将从下述两个方面分别介绍特征获取计算部分:

模型特征处理是模型预处理的一部分,业界常用的做法有:

考虑到对存量模型的兼容,我们定义了一套自有的配置格式,能独立于模型文件之外快速配置。基于对原有特征处理逻辑的梳理,我们将特征处理过程抽象成以下两个部分:

基于该两点,特征平台设计了MFDL(ModelFeatureDescriptionLanguage)来完整的描述模型特征的生成流程,用配置化的方式描述模型特征计算和转换过程。其中,特征计算部分通过自定义的DSL来描述,而特征转换部分则针对不同类型的模型设计不同的配置项。通过将特征计算和转换分离,就可以很方便的扩展支持不同的机器学习框架或模型结构。

在MFDL流程中,特征计算DSL是模型处理的重点和难点。一套易用的特征计算规范需既要满足特征处理逻辑的差异性,又要便于使用和理解。经过对算法需求的了解和对业界做法的调研,我们开发了一套易用易读且符合编程习惯的特征表达式,并基于JavaCC实现了高性能的执行引擎,支持了以下特性:

特征计算DSL举例如下所示:

基于规范化的DSL,一方面可以让执行引擎在执行阶段做一些主动优化,包括向量化计算、并行计算等,另一方面也有助于使用方将精力聚焦于特征计算的业务逻辑,而不用关心实现细节,既降低了使用门槛,也避免了误操作对线上稳定性造成的影响。

由于MFDL是独立于模型文件之外的配置,因此特征更新迭代时只需要将新的配置推送到服务器上,经过加载和预测后即可生效,实现了特征处理的热更新,提升了迭代效率。同时,MFDL也是离线训练时使用的特征配置文件,结合统一的算子逻辑,保证了离线训练样本/在线预估特征处理的一致性。在系统中,只需要在离线训练时配置一次,训练完成后即可一键推送到线上服务,安全高效。

下面是一个TF模型的MFDL配置示例:

MFDL中使用到的特征数据,需在特征计算之前从KV存储进行统一获取。为了提升特征获取效率,平台会对多个特征数据源异步并行获取,并针对不同的数据源,使用不同的手段进行优化,比如RPC聚合等。特征获取的基本流程如下图所示:

特征以分组的形式进行聚合,用于特征的写入和读取。起初,特征是以固定分组的形式进行组织管理,即不同业务线的特征会被人工聚合到同一分组中,这种方式实现简单,但却暴露出以下两点问题:

因此,特征平台设计了智能分组,打破之前固定分组的形式,通过合理机制进行特征分组的动态调整,保证特征聚合的合理性和有效性。如下图所示,平台打通了线上线下链路,线上用于上报业务线所用的特征状态,线下则通过收集分析线上特征,从全局视角对特征所属分组进行智能化的整合、迁移、反馈和管理。同时,基于存储和性能的折中考虑,平台建立了两种分组类型:业务分组和公共分组:

通过特征在两种分组间的动态迁移以及对线上的实时反馈,保证各业务对特征所拉即所用,提升特征读取性能,保证KV集群稳定性。

智能分组可以有效的提升特征获取效率,但同时也引入了一个问题:在智能分组过程中,特征在分组迁移阶段,会出现一个特征同时存在于多个分组的情况,造成特征在多个分组重复获取的问题,增加对KV存储的访问压力。为了优化特征获取效率,在特征获取之前需要对特征分组进行合并,将特征尽量放在同一个分组中进行获取,从而减少访问KV存储的次数,提升特征获取性能。

如下图所示,经过分组合并,将特征获取的分组个数由4个(最坏情况)减少到2个,从而对KV存储访问量降低一半。

训练样本是特征工程连接算法模型的一个关键环节,训练样本构建的本质是一个数据加工过程,而这份数据如何做到“能用”(数据质量要准确可信)、“易用”(生产过程要灵活高效)、“好用”(通过平台能力为业务赋能)对于算法模型迭代的效率和效果至关重要。

在特征平台统一建设之前,外卖策略团队在训练样本构建流程上主要遇到几个问题:

平台化建设最重要的流程之一是“如何进行流程抽象”,业界有一些机器学习平台的做法是平台提供较细粒度的组件,让用户自行选择组件、配置依赖关系,最终生成一张样本构建的DAG图。

对于用户而言,这样看似是提高了流程编排的自由度,但深入了解算法同学实际工作场景后发现,算法模型迭代过程中,大部分的样本生产流程都比较固定,反而让用户每次都去找组件、配组件属性、指定关系依赖这样的操作,会给算法同学带来额外的负担,所以我们尝试了一种新的思路来优化这个问题:模板化+配置化,即平台提供一个基准的模板流程,该流程中的每一个节点都抽象为一个或一类组件,用户基于该模板,通过简单配置即可生成自己样本构建流程,如下图所示:

整个流程模板包括三个部分:输入(Input)、转化(Transform)、输出(Output),其中包含的组件有:Label数据预处理、实验特征抽取、特征样本关联、特征矩阵生成、特征格式转换、特征统计分析、数据写出,组件主要功能:

上面提到,整个流程是模板化,模板中的多数环节都可以通过配置选择开启或关闭,所以整个流程也支持从中间的某个环节开始执行,灵活满足各类数据生成需求。

上文还提到了一个关键的问题:一致性较差。先来看下为什么会不一致?

上图展示了在离线训练和在线预测两条链路中构建样本的方式,最终导致离线、在线特征值Diff的原因主要有三点:

明确了问题所在,我们通过如下方案来解决一致性问题:

线下生成训练样本时,用户先定义特征MFDL配置文件,在模型训练后,通过平台一键打包功能,将MFDL配置文件以及训练输出的模型文件,打包、上传到模型管理平台,通过一定的版本管理及加载策略,将模型动态加载到线上服务,从而实现线上、线下配置一体化。

通过实时收集在线Serving输出的特征快照,经过一定的规则处理,将结果数据输出到Hive表,作为离线训练样本的基础数据源,提供一致性特征样本,保障在线、离线数据口径一致。

上文提到可以通过特征补录方式添加新的实验特征,补录特征如果涉及到算子二次加工,平台既提供基础的算子库,也支持自定义算子,通过算子库共用保持线上、线下计算口径一致。

从特征生产,到特征获取计算,再到生成训练样本,特征平台的能力不断得到延展,逐步和离线训练流程、在线预测服务形成一个紧密协作的整体。在特征平台的能力边界上,我们也在不断的思考和探索,希望能除了为业务提供稳定、可靠、易用的特征数据之外,还能从特征的视角出发,更好的建设特征生命周期闭环,通过平台化的能力反哺业务,为业务赋能。在上文特征生产章节,提到了特征平台一个重要能力:特征复用,这也是特征平台为业务赋能最主要的一点。

特征复用需要解决两个问题:

本小节重点介绍如何帮助用户快速发现特征,主要包括两个方面:主动检索和被动推荐,如下图所示:

为业务赋能是一个长期探索和实践的过程,未来我们还会继续尝试在深度学习场景中,建立每个特征对模型贡献度的评价体系,并通过自动化的方式打通模型在线上、线下的评估效果,通过智能化的方式挖掘特征价值。

未来,外卖特征平台将继续推进从离线->近线->在线的全链路优化工作,在计算性能、资源开销、能力扩展、合作共建等方面持续投入人力探索和建设,并在更多更具挑战的业务场景中发挥平台的价值。同时,平台将继续和模型服务和模型训练紧密结合,共建端到端算法闭环,助力外卖业务蓬勃发展。

英亮、陈龙、刘磊、亚劼、乐彬等,美团外卖算法平台工程师。

THE END
1.私域运营进阶课私域流量链路构成及转化方式在不同的私域里面去连接用户,更好的通过私域的平台或者是内容,用技术手段来支持整个交易的类型,然后把内容作为支撑的平台体系,以微信群为支撑的社群平台体系,私域流量不是一种方式,而是多种链接手段产生的组合矩阵,用客户数字化体系去有效激发客户消费潜力。 线上服务 品牌人格化,人格IP化, IP本身就是私域流量池,因https://www.linkflowtech.com/blogs/convert-private-domain-traffic-chain
2.电子商务调查报告(通用15篇)B2C 模式发展迅速,众多传统零售企业纷纷拓展线上业务,同时也涌现出了一批纯线上的 B2C 电商巨头。这些企业通过建立自有品牌、优化供应链管理和提升用户体验,在市场中占据了重要地位。例如,B2C 电商平台以其丰富的商品种类、优质的售后服务和快速的物流配送赢得了消费者的青睐。 https://www.unjs.com/fanwenwang/dcbg/20230408142046_6834985.html
3.中国十大电商平台特点(中国十大电商平台特点有哪些)苏宁易购是线上电商与线下实 体店相结合的综合性电商平台。在全渠道布局方面,苏宁易购除了线上销售, 还在全国范围内布局了大量实体店、超市和专卖店,实现了线上线下融合的目 标。 4.拼多多:社交电商,低价策略 拼多多的特点是社交电商和低价策略。拼多多将社交元素引入电商平台,通过 社交分享、拼团等方式吸引用户,https://jz.docin.com/p-4512156967.html
4.新零售平台是什么,新零售o2o模式适合哪些行业新零售平台是指利用互联网技术,将线上服务、数据和线下体验相结合,创造一种新的零售模式。这种模式打破了传统零售的界限,提供了更个性化、更便捷的购物体验。新零售平台通常具备以下特点: 1.线上线下融合:新零售平台能够无缝连接线上和线下的购物体验,例如线上下单、线下取货,或者线下体验、线上购买。 https://www.4pnt.com/news/E-Commerce/1855.html
5.浅析B2C电商系统开发特点,B2C平台模式核心功能精准匹配商家运营需求B2C电子商务模式的特点是什么? 1、用户数量巨大 B2C平台不受地域和时间的限制,消费者只要登录上网就可以下单采购,不仅更加方便,而且通过互联网技术也可以更简单地管理商城和订单,与传统行业相比,B2C电子商务拥有更广泛的客户群。 2、成本更有优势 在成本方面,企业搭建B2C平台不仅可以节省场地成本,还可以节省传统行业销售https://zhuanlan.zhihu.com/p/529809749
6.数字化线上培训平台如何选择?线上培训平台有什么特点?线上培训平台有什么特点? 目前,在线培训已经成为了很多企业培训的方式,企业纷纷选择将各种线下培训向线上转移,推动了在线培训平台的快速繁荣。但对于在线培训平台的选择,各企业还是要从自身情况出发,要选择一个人性化的数字化培训平台,支持企业根据业务迭代不断更新培训需求。具体而言可结合以下几点进行有效选择:https://qipei.zhi-niao.com/marketing/TP110001/v2QKszti
7.重庆初中线上教育平台导语重庆适合初中生学习的线上教育平台有哪些?开放时间是什么时候?下面重庆本地宝就为大家介绍一下! 一、重庆初中线上教育平台 重庆市基础教育资源公共服务平台 国家中小学网络云课堂 “人教点读”APP资源等。 二、各平台主要特点 (一)重庆市基础教育资源公共服务平台 https://m.cq.bendibao.com/mip/81556.shtm
8.交强险线上购买平台?保险产品三、线上购买平台的特点和优势 线上购买平台的一大特点是方便快捷,购买交强险可以随时随地进行,无需去往保险公司或代理点,节约了车主的时间和精力,也方便死忙人群。此外,线上购买平台为车主提供了多样化的产品选择,可以自主选择保险公司和保单类型,同时也可以进行保费比较,帮助车主购买更具性价比的交强险产品。更重要https://www.shenlanbao.com/zhishi/12-594390
9.电子商务平台的特点和分类消费者可以通过平台预约服务或购买商品,然后线下到店消费或取货,如美团、大众点评等。 5. P2P平台(Peer to Peer):P2P平台提供了个人之间直接进行贷款和借贷的服务。借款人和出借人可以在平台上进行借贷交易,如蚂蚁借呗、人人贷等。 三、结语 电子商务平台的特点和分类多种多样,它们的出现和发展给商业模式带来了新的https://wenku.baidu.com/view/dc4a6289f48a6529647d27284b73f242326c3162.html
10.跨境电商Target的平台特点有哪些?文章Target的平台特点:.多样化的商品、线上线下结合、优惠和促销活动。 Target的平台特点:.多样化的商品、线上线下结合、优惠和促销活动。下面小编具体介绍一下Target平台。 跨境电商Target的平台特点有哪些? 一、平台介绍 Target是美国第二大的折扣店连锁企业,提供各种商品类别,包括家居用品、电子产品、服装、美妆、食品等https://www.gladcc.com/article/1775416557768052738
11.外贸B2B和线上跨境电商B2C收款收款平台的特点跨境收款分为线下外贸B2B和线上跨境电商B2C收款。 是好是坏,不能一概而论。 常用的跨境支付平台如拍拍赢(俗称P卡)、连连、空云汇、万里汇(俗称WF卡)等,既支持跨境电商B2C,也支持外贸B2B收款。 XT目前仅开通了B2B支付方式。 由于外贸和跨境电商收款的性质不同,很难直接比较。 接下来我们将B2B和B2C平台分开,看一http://www.bjhwtx.com/h-nd-131591.html
12.线上线下活动推广方案(精选6篇)创意、有趣、参与成本低。选择好活动平台后,要根据平台的特点、活动的目的策划活动的形式。线上活动的形式包括抢楼、秒杀、有奖转发、有奖征集、网上评选、注册送券等等,细数下来少说也有几十种。关键在于结合活动的目的和平台特点去选择并且创新。 1、市场分析 https://www.360wenmi.com/f/filezso39fkm.html
13.友商线上订货平台网上在线订货平台免费在线试用选软件网为您提供友商系列友商线上订货平台信息,包括友商线上订货平台在线试用、友商线上订货平台报价、友商线上订货平台说明、友商线上订货平台资讯、友商线上订货平台供应商等信息,帮您了解友商系列友商线上订货平台.https://www.xuanruanjian.com/soft/msg/61315.phtml
14.盒马鲜生礼品卡回收平台,如何区分哪个正规靠谱线上回收平台:这类平台数量众多,但良莠不齐。一些知名的线上平台如淘淘收,往往有着严格的机制和完善的回收流程,能够提供相对稳定的回收。 个人转让:通常通过社媒、二手市场等渠道进行,虽然操作简单,但风险也相对较高。 正规平台的特点 那么,在选择回收平台时,我们应该注意以下几点: https://www.taotaoshou.com/archivesDetails/10547.html
15.i百联是什么平台随着互联网的飞速发展,电商平台的种类和数量也在不断增长。在这众多的平台中,i百联以其独特的优势和特点,吸引了广大消费者的关注。本文将从背景介绍、平台特点、用户体验、发展前景等方面,全面解析i百联这个一站式购物平台。 一、背景介绍 i百联平台是上海市的一家综合性电商平台,致力于提供线上线下的一体化购物体https://www.sousou.com/bk/454848.html
16.每秒高达千万分发,如何应对直播互动平台中海量消息挑战?由于直播平台的特点,对系统功能设计的可靠性要求更高,同时,如何在直播火热的当下快速实现直播平台的构建,成为很多企业的现实需求。本文主要分享融云直播互动系统的设计与实践,详细介绍礼物、红包等以消息为基础的互动方案设计思路和实践方案并阐述如何结合融云自身技术优势,助力直播企业快速布局市场。 https://www.51cto.com/article/548862.html
17.一文讲透品牌内容体系及团队搭建投放策略上,要细分受众,匹配平台,严格控制预算,灵活优化素材,实时监测数据反馈。 02 不同平台的内容应用 品牌内容策略的制定需要深入理解各大线上平台的特点,并将不同类型的内容与之巧妙结合,才能实现内容价值的最大化。 以下将针对天猫、抖音、小红书和微信四大平台,详细阐述品牌内容的应用方式及策略建议。 http://www.360doc.com/content/24/1105/08/3552233_1138523041.shtml
18.线上会议室的优势选择指南和飞书系统2.1 了解平台的功能和特点 选择线上会议室平台时,首先要关注视频和音频质量。高清的视频和清晰的音频能让会议更顺畅。其次,考虑参与人数的限制。有些平台适合小团队,有些则能支持上百人的会议。屏幕共享和文件传输功能也是重要的考量因素,它们能大大提高会议的互动性和效率。 https://www.feishu.cn/content/xianshang-huiyishi-xuanzhe-feishu
19.线上教育的优点和缺点云课堂使用方法及录制百科→MAIGOO知识云课堂是一类基于云计算技术的一种高效、便捷、实时互动的远程教学课堂形式,和网课、直播教学等统称为线上教育。云课堂的优势主要体现在教育对象独特性、教学内容多样性、教学资源共享性、教学软件优越性、教学方法灵活性等;但非常考验学生的自觉性。云课堂怎么样?在线教育平台怎么做?远程教学用什么软件好?在线课程怎么https://www.maigoo.com/goomai/283906.html
20.?线上教学优秀案例(四十四)《法律逻辑学》“思维+表达”导向本学期,万娟娟与朱腾伟两位老师共同为法学与知识产权学院2018级本科生讲授《法律逻辑学》课程。根据该课程的特点,按照教学目标与要求,结合线上教学的特点,教学团队充分利用线上资源,摸索出了目标明确、平台集中、资源优化、寓教于乐的“思维+表达”导向型体系教学模式,在《法律逻辑学》教学实践中取得了积极效果。 https://www.gpnu.edu.cn/info/1039/22853.htm
21.精准引流2W+客户,低成本为中小企业引流获客的经验分享目前大部分人在做的抖音IP账号、快手视频、直播等现在最常见的这些基本上都属于系统推荐流量。平台通过系统分析视频内容及可能会喜欢的客户,进行流量推荐。好处是,随着账号权重增高,平台推荐的流量会更精准,推荐的用户量也会越高。 系统推荐流量的特点: ①用户为系统推荐,精准度有待筛选 https://maimai.cn/article/detail?fid=1773494249&efid=yrkMdKwMaYLzRNqKX9NVAA
22.中国工商银行数据中心:基于企业级金融云平台的技术创新与实践一、工商银行新一代云平台技术特点 为满足业务发展需求,工商银行在前期已构建完备的IaaS、PaaS、SaaS等多层次云服务的基础上,为全面提升云平台稳定性、可靠性,开启新一代云平台建设工程,引入软件定义网络架构,构建全方位高可用云底座,建设更高性能分布式存储,全面提升云服务水平。 https://www.fintechinchina.com/viewpoints/6601
23.线上直播平台哪家好?在众多的线上直播平台中,选择一家适合自己需求的平台变得越来越重要。本文将综合评估多家线上直播平台,并提供一些建议,以帮助您选择最好的线上直播平台。 一、综合评估因素 在选择线上直播平台之前,有几个关键因素需要考虑和评估,包括: 功能和特点:不同的线上直播平台提供各种不同的功能和特点,比如互动工具、弹幕https://www.263.net/blog/4903.html