写点什么

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

  • 2020-01-07
  • 本文字数:1031 字

    阅读完需:约 3 分钟

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

面临的挑战

今年我们加大投入,并联合了算法团队、搜索推荐工程团队、手淘基础链路团队,共建端计算的工程体系。随着端计算体系承载的业务数量与复杂度的快速增加,也对 DAI 等基础设施提出来了更多更严峻的挑战。


▐ 研发效率


初期的设计是算法同学通过控制台下发 TensorFlow 的 pb(protobuffer) 模型文件,所有的逻辑均在 pb 的网络结构中实现。这种模式下,存在如下一些不足的地方。


  • 由于端侧集成的为精简版 TF Mobile ,算法同学编写的 TF 代码在端侧可能存在缺少算子而跑失败的情况。

  • 新增或修改 Op 需要 Native 发版实现,周期长。

  • if、for 等流程控制在 TF 中难以处理。

  • TF 的端侧推理耗时较长,业务决策响应不及时。


▐ 稳定性


Android 出于包大小和动态性的考虑,采用了动态下发并加载动态库的模式。但是由于 Android 设备的碎片化,动态加载存在着诸多兼容性的问题,测试也不好验证。同时 JavaScriptCore 本身在 iOS 上是个黑盒,曾在 iOS9 上就出现过大量的 JavaScriptCore 的 Crash 问题。而端计算作为算法处理的基础设施,每日被调用的次数非常庞大。所以任何一个极小的不稳定因素,都有可能被放大。


并且端侧的故障,大部分是由于线上配置发布引起的。手淘对于线上变更有着严格的安全生产流程,涉及发布窗口、验证、灰度、观察等各个环节。而算法同学往往对端侧的指标不熟悉,一些潜在风险未必能及时发现。我们需要在各个环节加强完善设施能力,在风险发生前及时暴露,在发生中将影响减至最低。


▐ 任务治理


在年初的时候,我们进行了一次线上业务梳理。发现手淘环境中有 5+的特征提取任务、4+的曝光任务。很多基础的数据特征,在不同的业务场景下都需要使用到,且对于同一特征的加工方式往往相识。若所有的特征均由各业务方自行进行加工,难免会造成开发成本及端上计算成本的浪费。而且无法高效地将已有能力复用到更多业务和 App 上。


▐ 场景覆盖


在端计算模式快速发展中,我们关注到部分业务域虽然不具备算法资源,但是希望借鉴端计算的思路,在一些输入因素相对比较固定的场景下,对用户特定的行为进行快速的响应与干预。同时初期 DAI 的触达能力比较单一,仅将执行结果以广播的方式通知到业务方,由业务方自行实现通知后的触达响应逻辑。而一些常规的触达途径,在大部分业务域都是相识的。比如 Push、Poplayer(浮窗)、触发其他模型任务联动等。在这个环节需要有一套统一的多样的触达机制,满足不同场景不同定制。


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


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


2020-01-07 18:05675

评论

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

架构探索:事务处理二

证明谁才是第一

mongodb 源码实现系列 - mongodb详细表级操作及详细时延统计实现原理(快速定位表级时延抖动)

杨亚洲(专注MongoDB及高性能中间件)

数据库 mongodb 性能调优 源码刨析 分布式数据库mongodb

甲方日常 67

句子

工作 随笔杂谈 日常

英特尔唐炯:36.4% PC同比增长,预示了2021是个好年

E科讯

Spring Boot 过滤器

噜噜猫

Spring Boot

以太公约系统开发详情丨以太公约源码案例

系统开发咨询1357O98O718

以太公约系统开发介绍

年轻程序员不讲武德,做表竟然拖拉拽

雯雯写代码

程序员

双十二好物推荐:「mPaaS 安全加固」带你看看别人家的应用

蚂蚁集团移动开发平台 mPaaS

安全 mPaaS 应用

区块链技术在旅游业中的应用探索

CECBC

旅游

Java并发编程:任务执行器Executor接口

李尚智

Java并发

第八周课后练习

jizhi7

阿里P8大佬带你全面了解—MySQL锁:03.InnoDB行锁

比伯

Java MySQL 编程 架构 程序人生

Python最会变魔术的魔术方法,我觉得是它!

Python猫

Python进阶——什么是描述符?

Kaito

Python

跨越“数字鸿沟”,日本老年智能化服务的解法

脑极体

无可限量的数字经济

CECBC

数字经济

shell脚本的使用该熟练起来了,你说呢?(篇四)

良知犹存

shell脚本编写

金融科技 | 建设中台能力,助力开放生态

xcbeyond

金融科技 中台战略 中台架构

GaussDB(DWS)磁盘维护:vacuum full执行慢怎么办?

华为云开发者联盟

数据库 数据 DWS

排查指南 | 关于 mPaaS-iOS 小程序打不开问题的解决方案

蚂蚁集团移动开发平台 mPaaS

小程序 mPaaS

记一次神奇的MySQL死锁

废材姑娘

spring MySQ

架构探索:事务处理三

证明谁才是第一

架构之书:传道与《设计模式》

lidaobing

架构 设计模式

你心目中高级程序员的印象是什么样子的?

Java架构师迁哥

第八周-总结

jizhi7

访问者模式及其在Java Parser中的应用

maijun

第五周作业第1题

走走,停停……

API研发效能提升实战

Geek_40a463

研发效能 API研发

架构探索:事务处理总结

证明谁才是第一

学习笔记4

Qx

ISP芯片:如何让数字之眼“看清”真实世界?

脑极体

端计算Walle:2235亿次运算,为了无法计算的端智能价值(二)_语言 & 开发_淘系技术_InfoQ精选文章