端计算 Walle:2235 亿次运算,为了无法计算的端智能价值(三)

发布于:2020 年 1 月 7 日 18:05

端计算Walle:2235亿次运算,为了无法计算的端智能价值(三)

端计算 2.0 Walle

基于上述问题,我们对 DAI 进行了全面的升级,并改名为 Walle 。希望如电影 Walle 一样,将被遗忘在端上的数据汇集起来,成为挖掘金矿的工厂。

▐ 架构设计

端计算Walle:2235亿次运算,为了无法计算的端智能价值(三)
Walle 架构图

整体设计上,Walle 由端、云两部分组成。

端侧包括采集层、计算层、触达层三个模块。采集层对接了端侧不同的数据源,进行数据存储与特征加工。计算层内置了 MNN、AliML 等。所有模型任务经过调度系统后会在计算容器中进行实时的决策。决策结果经由触达层的多种途径触达用户。

云侧分为运维平台、数据服务、触达服务三部分。运维平台负责日常的运维监控、数据服务为云端协同提供通道支撑、触达服务配合端上的触达层,进行人群圈定和事件分发。

▐ 解决思路

更高效易用的计算容器

为了解决算法模型的迭代部署效率,我们需要一套脚本语言环境来承载复杂控制与业务定制化逻辑。基于新版的计算容器,大幅降低算法同学的认知与学习成本,无缝衔接服务端算法应用流程,极大提升部署与迭代效率。

同时我们使用自研的轻量级深度学习引擎 MNN 替代 TF ,扩展了机器学习计算集 AliML ,集成了高性能时序数据库 ProtoDB ,为用户提供了一套低成本、高效、快速迭代的端侧模型预测与训练的执行环境。

端计算Walle:2235亿次运算,为了无法计算的端智能价值(三)

计算容器

更夯实的稳定性保障措施

作为逐步大规模应用的端计算基础设施,稳定性可谓重中之重。我们对端计算的开发、发布、运行时、监控、降级等全链路进行了详细梳理,针对一些有风险的环节进行重点保障。

  • 开发测试阶段
  • 代码覆盖率。在 SDK 中内置了代码覆盖率与性能热点的采集与上报功能。配合 Jarvis 平台的真机验证系统,可以在发布阶段更全面地度量真机验证的效果,将风险暴露在上线前。
  • Mock 系统。为了实现自动化测试能力,我们开发了 Mock 系统。支持基于基线数据,对端计算任务的入参、出参、异常逻辑进行 Mock 验证。
  • 运行时
  • 单机熔断。由于算法模型的迭代频率较高,为了避免在日常的迭代过程中引入新问题,我们在端侧引入了单机熔断的机制。既某个模型任务的执行耗时超过阈值或者执行线程卡死时,我们会重启执行线程,并对当前的模型任务进行一定时间段的熔断处理,以免影响其他模型任务的正常执行。
  • 高危模块移除。移除了 So 动态加载、JS 等存在潜在风险的模块,使用更优雅的方案替代。
    疑难问题解决。端计算演进期间,我们攻克了诸多内存 Abort 、 Crash 、 多线程锁等疑难问题,整体 Crash 率有大幅降低。
  • 监控
  • 调试工具。支持验证版本的生效配置,扫码拉取端侧日志,对任务异常进行实时调试排查。
    监控大盘。面向 App 运维同学,可全局地观察整个端计算整体关键指标,以及每个任务的资源消耗排名,异常情况排名等。
  • 任务报表。面向算法同学,包含全链路多维度监控,长尾报表等,可直观地实时反馈任务上线后的运行情况。
  • Crash 定向监控。为了更准确实时地定位线上 Crash 问题,我们与 Emas 团队合作开发了模型 Crash 定向监控能力。在 Emas 平台上,现在可以直观地看到所有模型任务的 Crash 分布情况,以及 Crash 调用栈明细。

更体系化的数据能力

从共享端侧特征、降低重复计算与使用成本、提升特征查询效率等方面考虑,我们建立了端侧基础特征服务 DBFS。基于基础特征分层抽象出了统计特征、用户画像、情景计算等高维业务特征,同时支持算法同学进行特征 op 的自定义扩展。DBFS 目前提供 100+ 个基础特征 op,10+ 中间层业务特征 op,涵盖电商场景最常用的点击、收藏、加购、下单等行为。

端计算Walle:2235亿次运算,为了无法计算的端智能价值(三)
DBFS 架构图

更丰富的场景覆盖能力

为了满足不同场景对端计算能力的诉求,我们建设了端计算的触达中心,其包含两部分能力:

  • 在端侧实现了一套简化的 CEP(复杂事件处理)引擎,支持根据预置的规则序列,使用滑动窗口的模式匹配用户的操作行为,进行实时的用户干预。对于一些轻量化场景,可以直接使用 CEP 来定义行为,而无需引入机器学习模型。
  • 同时在触达层面,对接了奥格的人群系统,支持针对特定人群进行 CEP 规则或者模型任务的投放。在行为命中后的业务响应环节,我们统一扩展了 Push、Poplayer、Broadcast、WalleTask、UT、NativeCallback 等多种途径触达用户。
    端计算Walle:2235亿次运算,为了无法计算的端智能价值(三)

触达中心

总结

今年双十一期间,端计算首次在手淘大规模落地,覆盖主搜、信息流推荐、云主题、会场、智能 Push、红包雨、促升、直播等场景。双十一当日共执行了 2235 亿次运算,在大幅提升 GMV 的同时,也为用户带来了更好的交互体验。同时除了手淘外,目前端计算也已在猫客、闲鱼、AE、CBU、零售通、优酷等 App 有成熟方案落地。

端计算的出现,填补了云计算在网络延时、数据丰富、隐私安全、算力成本方面的不足。而端计算与云计算也会以共存与互补的姿态,拥抱智能化浪潮。随着端计算体系的成熟以及基础设施的完善,相信未来算法同学们会有越来越多的创新项目孵化与应用,我们共同期待。

本文转载自淘系技术公众号。

原文链接: https://mp.weixin.qq.com/s/V2QrhvW-F8asXvtyg7i0XA

阅读数:48 发布于:2020 年 1 月 7 日 18:05

更多 语言 & 开发、文化 & 方法、方法论 相关课程,可下载【 极客时间 】App 免费领取 >

评论

发布
暂无评论