写点什么

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

评论

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

Nginx常见典型故障|Linux干货

赖猫

c++ nginx Linux

《数据分析》PDF免费下载

计算机与AI

数据分析

夜莺二次开发指南-监控系统(2)

ning

滴滴夜莺 夜莺监控

TypeScript | 第三章:函数、泛型和枚举

梁龙先森

typescript 编程 大前端 七日更

Serverless 落地之痛怎么解?

阿里巴巴中间件

Serverless

代码零改动Serverless架构升级?这家在线编程教育企业是这么做的

阿里巴巴中间件

Python Serverless

“社恐”独处好去处:无人自习室,一个人的“世外桃源”

IoT云工坊

物联网 无人自习室 智能门禁 智能灯控 线上预约

wildfly 21的domain配置

程序那些事

程序那些事 wildfly wildfly21 配置管理 domain模式

12张图带你彻底理解分布式事务!!

冰河

分布式事务 BASE理论 TCC ACID CAP理论

低代码与零代码工具的这些特征,弥补了所有人和IT之间的差距!

J2PaaS低代码平台

程序员 互联网 开发者 软件开发 开发工具

Spring Cloud 2020.0.0正式发布,再见了Netflix

YourBatman

Spring Cloud Spring Boot netflix 2020.0.0

最有技术含量的面试

escray

面试 面经 七日更 十日谈

数据为墨,智能作笔:画一卷新姑苏繁华图

脑极体

如何成为架构师?

xcbeyond

个人成长 架构师 七日更

世界之书:《禅与摩托车维修艺术》与发现良质

lidaobing

禅与摩托车维修艺术 28天写作

彩色的线,数据的诗,你好——贵州鲲鹏!

脑极体

SQL优化最干货总结-MySQL「2020年终总结版」

Java架构师迁哥

[git使用技巧] git提交忽略不必要的文件或文件夹

xcbeyond

git 七日更

附PPT丨AWS基于数据湖构建云上的数据分析架构

dbaplus社群

数据湖 AWS

语音助手中的复杂语义表达方法

DataFunTalk

AI nlp

夜莺二次开发指南-监控系统(1)

ning

滴滴夜莺 夜莺监控

生产环境全链路压测建设历程 18:某快递 A 股上市公司的生产压测案例之中篇

数列科技杨德华

全链路压测 七日更

用大白话给你解释Zookeeper的选举机制

爱笑的架构师

zookeeper ZooKeeper原理 七日更

业务中台建设 - 配置化

孝鹏

中台 微服务 配置化开发

单点破局思维|技术人应知的创新思维模型(8)

Alan

个人成长 技术人应知的创新思维模型 七日更 28天写作

Shell简介

入门小站

Shell

手写线程池,对照学习ThreadPoolExecutor线程池实现原理!

小傅哥

Java 小傅哥 线程池 七日更 ThreadPoolExecutor

30G 上亿数据的超大文件,如何快速导入生产环境?

楼下小黑哥

Java MySQL 并发编程 线程池

JDK 16 即将发布,新特性速览!

xcbeyond

Java 七日更

揭秘大流量场景下发布如丝般顺滑背后的原因

阿里巴巴中间件

阿里巴巴

Go中的Channel背后的设计哲学

soolaugust

Go Concurrency Patterns 七日更 CSP Go 语言

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