滴滴推理引擎IFX:千万规模设备下AI部署实践

滴滴推理引擎IFX:千万规模设备下AI部署实践

image

桔妹导读:「滴滴技术」将于本月开始,联合各技术团队为大家带来精彩分享。你想了解的技术干货,深度专访,团队及招聘将于每周三与你准时见面。本月为「滴滴云平台事业群分享月」,在今天的内容中,云平台事业群-机器学习平台团队与你聊一聊AI技术在滴滴平台上的实践思考。IFX 团队经过 2年多的奋斗,已将 AI 部署服务于公司安全、地图、车载、普惠、车服、IT等业务团队,覆盖司乘 APP,桔视设备,代驾记录仪,AIBox(边缘计算 AI 盒子),国际化司乘 APP 等智能化需求的场景,覆盖千万级别设备,千亿级别日活调用量。

1.背景

随着人工智能技术的发展,深度学习技术在工业界得到了广泛的应用。数据、算法、算力三个维度的协同发展,逐步将 AI 推向成熟期,并且渗透到生活的方方面面。

滴滴拥有海量出行大数据,同时拥有大量的司乘端手机用户、桔视设备(车载摄像头)、GPU 集群等算力平台,对云、边、端 AI 能力的发掘将迎来一个黄金时代。滴滴机器学习团队从 2018 年 9 月开始调研和搭建自研推理引擎平台 IFX,在 2018 年 12 月开始对内提供服务,并在司机端和乘客端 APP 中落地。经历了 2 年的发展,IFX 已经在公司的大量业务中得到应用,服务于订单和准入的关键路径,司乘支付绑卡、实名认证、金融安全、提现等业务流程,高危场景识别,费用判责,追尾碰撞检测,定位导航,路网更新等业务场景。涵盖国内/国际化司乘 APP、桔视(车载摄像头)、代驾记录仪、滴滴云 GPU 等算力平台。目前滴滴 IFX 平台服务千万级别设备,平台日活调用量超千万亿。

image

2. 架构

在服务业务的过程中,我们发现纯粹的推理引擎已经很难满足业务高效的发展,因此,我们对平台进行了逐步的迭代与升级,将其分为 4 层结构:接入层,软件层,引擎层,算力层。

image

接入层

通过接入层,主要完成与业务工程的对接工作,同时我们在该层增加了推理/授权数据埋点,能够及时的展示设备接入量、推理接入量、设备分布、推理质量等信息。

local inference 需求:提供各类编程语言接口的 SDK

remote inference 需求:提供 http/thrift/grpc 等接口的标准服务化 api

授权与埋点:提供安全授权接入方案,提供业务模型 inference 相关可视化报表

软件层

在软件层,主要完成与业务算法的对接工作,主要完成模型解析和模型管理功能。

模型瘦身:提供更小的模型文件,降低 SDK 大小,同时提升在线升级模型速度

模型加密:确保模型结构安全性,不容易被破解

版本管理:解决业务迭代过程中,多个模型版本管理问题

自动测试:模型解析,带来精度差异,自动测试保证训练模型和推理模型表达一致性,同时也会测试模型推理性能以及硬件设备适配工作

引擎层

所有引擎优化相关工作集中在该层,针对异构设备算子的开发和调优,引擎系统调用的调优,

性能诊断器:为引擎层提供离线性能诊断工具,剖析模型在不同硬件设备上的表现,同时指导 kernel 优化,模型结构优化等工作

引擎瘦身与混淆:提供更小的体积以及安全的内核

算子优化:主要整合低精度、图优化、异构调度、汇编优化等能力,同时提供 auto tuning kernel 的能力,为专用硬件提供最佳的汇编实现

系统优化:除了计算本身,提供系统调度、I/O、预/后处理等耗时环节的优化

算力层

算法模型实际运行的硬件设备,目前针对云、边、端等场景,支持了大部分的处理器。主要包括 NVIDIA GPU,ARM,X86,寒武纪等设备。

3. 产品化

滴滴推理引擎IFX:千万规模设备下AI部署实践

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zzpwgw.html