写点什么

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

2020 年 1 月 07 日

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

端计算 2.0 Walle

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


▐ 架构设计


Walle 架构图


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


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


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


▐ 解决思路

更高效易用的计算容器


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


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



计算容器


更夯实的稳定性保障措施


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


  • 开发测试阶段

  • 代码覆盖率。在 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,涵盖电商场景最常用的点击、收藏、加购、下单等行为。



DBFS 架构图


更丰富的场景覆盖能力

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


  • 在端侧实现了一套简化的 CEP(复杂事件处理)引擎,支持根据预置的规则序列,使用滑动窗口的模式匹配用户的操作行为,进行实时的用户干预。对于一些轻量化场景,可以直接使用 CEP 来定义行为,而无需引入机器学习模型。

  • 同时在触达层面,对接了奥格的人群系统,支持针对特定人群进行 CEP 规则或者模型任务的投放。在行为命中后的业务响应环节,我们统一扩展了 Push、Poplayer、Broadcast、WalleTask、UT、NativeCallback 等多种途径触达用户。


触达中心


总结

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


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


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


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


2020 年 1 月 07 日 18:05160

评论

发布
暂无评论
发现更多内容

重磅发布 | 2021年OpenAtom XuperChain开源技术路径

开放原子开源基金会

区块链 百度 开源 开放原子开源基金会

智慧社区服务平台,平安社区搭建

135深圳3055源中瑞8032

让人“眼前一亮、不明觉厉”的互联网技术PPT

不脱发的程序猿

程序人生 PPT 2月春节不断更 互联网技术PPT 互联网工具

如何制作和使用自签名证书

soulteary

Docker SSL证书

期末大作业二

心在那片海

婚恋交友软件开发

luluhulian

Elasticsearch multi-index 搜索

escray

elastic 七日更 死磕Elasticsearch 60天通过Elastic认证考试 2月春节不断更

广西党建智慧平台方案,智慧组工信息化建设

135深圳3055源中瑞8032

期末大作业一

心在那片海

阿里架构师经验分享!写给互联网大厂员工的真心话,最全的BAT大厂面试题整理

欢喜学安卓

android 程序员 面试 移动开发

OpenCV简介及其工程应用-游戏色块检测

行者AI

OpenCV

2020年末总结,脚踏实地,一步一个脚印——致敬自己一年的心酸历程

孙叫兽

孙叫兽 年度报告

产品 0 期 - 第四周作业

vipyinzhiwei

程序员养家活口接私活必备网站(顺便用技术改变世界)

孙叫兽

程序员 网站 私活

“五年饮冰,难凉热血”,一名专科生的求学历程

不脱发的程序猿

程序人生 心路历程 2月春节不断更 大学总结 2020年度总结

股票配资系统开发

v16629866266

百度网盘限速解决方案

孙叫兽

解决方案 百度网盘 限速

使用APICloud敏捷式开发总结,回顾开发一个完整APP过程。

孙叫兽

App 开发 APICloud

架构师训练营结课作业

Rocky·Chen

话题讨论 |互联网软件技术培训,靠谱吗?

不脱发的程序猿

程序员 程序人生 话题讨论 互联网培训 技术培训

大作业1-同城快递业务系统设计

arcyao

复盘银行的区块链实践:从分布式账本,到产业数字化

CECBC区块链专委会

银行 银行大数据

《零基础看得懂的Python入门教程 》——(一)既然你选择了这系列教程那么我就要让你听得懂

1_bit

Python 编程语言 学习经验

大作业2-知识总结

arcyao

Python实现钉钉/企业微信自动打卡

sum56

Python python 爬虫 打卡

驱动力读书笔记之四

张老蔫

28天写作

区块链珠宝溯源平台,区块链溯源解决方案

135深圳3055源中瑞8032

即使技术再精,面试时一问这个必挂!!

冰河

面试 类加载器 我要进大厂 Java类加载

史上最全的技术手册整理总结,编程小白都从这篇文章迅速成为大牛

孙叫兽

Java 前端 技术手册 开发文档

从零开始学Android!15个经典面试问题及回答思路,这原因我服了

欢喜学安卓

android 程序员 面试 移动开发

智慧组工系统开发解决方案,组织部干部管理平台搭建

WX13823153201

智慧组工系统开发

演讲经验交流会|ArchSummit 上海站

演讲经验交流会|ArchSummit 上海站

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