硬核干货——《中小企业 AI 实战指南》免费下载! 了解详情
写点什么

端计算 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:05745

评论

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

哈佛商业评论:面向未来的组织

石云升

读书笔记 11月日更

微博评论架构设计

天天向上

架构实战营

[Pulsar] Batch Messge的基本原理

Zike Yang

Apache Pulsar 11月日更

架构训练营 - 模块 5 作业

焦龙

架构训练营

Python Qt GUI设计:QDrag拖拽数据传输类(基础篇—18)

不脱发的程序猿

Python PyQt GUI设计 QDrag

阿里云徐立:面向容器和 Serverless Computing 的存储创新

阿里巴巴云原生

阿里云 Serverless 容器 云原生

技术管理知识写作系列

Melody

写作计划

linux比较两个目录的差异

入门小站

Linux

入驻快讯|欢迎AfterShip正式入驻 InfoQ 写作平台!

InfoQ写作社区官方

入驻快讯

《重学Java高并发》Sempahore的使用场景与常见误区

中间件兴趣圈

Java高并发 Sempahore

元宇宙对网络技术的挑战,什么样的网络才能承载元宇宙的野心?

CECBC

数字人民币试点呈现“全面开花”

CECBC

微信 ClickHouse 实时数仓的最佳实践

腾讯云大数据

Clickhouse 云数据仓库

DevOps反模式

俞凡

DevOps

Flink 实践教程-入门(8): 简单 ETL 作业

腾讯云大数据

flink 流计算 Oceanus

如何利用 “集群流控” 保障微服务的稳定性?

阿里巴巴云原生

阿里云 高可用 云原生 集群 AHAS

28 K8S之控制器基础

穿过生命散发芬芳

k8s 11月日更

为什么SOLID原则仍然是现代软件架构的基石

topsion

CleanCode SOLID

网络安全好就业吗?

喀拉峻

网络安全 安全 信息安全 渗透

如何设计业务高性能高可用计算架构

天天向上

架构实战营

没有一个人喜欢被改变 ——阅读《高绩效教练》有感

研发管理Jojo

倾听 敏捷教练 引导和教练

瞰见 | 刚刚,暴涨的 GitLab 给我们带来了怎样的开源思考?

OpenTEKr

狄安瞰源

复盘最近遇到的几个问题

李印

编码习惯 经验总结

中国的区块链技术该高压打击虚拟货币之下,中国的区块链技术该如何发展?

CECBC

记录

Melody

在线文本差集计算工具

入门小站

工具

独家交付秘籍,你确定不点开看看?

阿里巴巴云原生

阿里云 云原生 应用交付平台 ADP

选手机的一点建议

李印

手机 生活随想

【架构实战营】模块五作业

liu🍊

领导力学习课-总结

李印

个人成长 管理

phpstudy开启Apache服务显示80端口被占用

咿呀呀

PHPStudy

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