手机里跑个 AI 模型 | 谷歌 Federated Learning 联盟学习

各位数据大咖,还记得自己的跑模型的心路历程么?我想大家都在经历着下面的一个或多个阶段:

  • 论文答辩前夕,把自己敲进去的三千多条数据放进SAS中,哗的一下模型出来了,兴奋不已,感觉前途一片光明;
  • 将数据库中几G的本地数据导入SAS中,点击运行,机器轰然作响,几秒的时间模型出来了,感觉自己离CEO又进了一步。
  • 在服务器上跑数据,一天过去,结果出来了,发现代码敲错了一个地方,CAO,再等一天吧。
  • 在分布式集群上跑数据,稍微酷炫一点的模型,就要耗时三五天,因为数据量实在太大了。

数据分析师在进阶,工具在进阶,但数据也在进阶!

传统机器学习方法,需要把训练数据集中于某一台机器或是单个数据中心里,为了满足逐渐增加的数据量级,还要不断加机器、不断建设基础设施。

现在,谷歌研发出一种训练 AI 的新模式,可以直接在用户的手机上训练并改进 AI 算法,数据都保存在终端手机里。更神奇的是,多台手机之间还能进行协作训练,共享预测模型。

它有一个很霸气的名字——Federated Learning,联盟学习!

工作原理

Federated Learning 的工作流程如下:

  • 手机下载现有模型
  • 用手机的本地数据来训练模型
  • 训练好后,迭代更新,并把更新的内容加密上传到云端
  • 与其他用户的更新进行整合,作为对共享模型的改进
  • 该过程不断被重复,改进后的共享模型也会不断的被下载到本地。

(模型训练循环图,图来源于googleblog)

模型优点

这样一种「联盟学习」的模式,有何优点?数说君根据谷歌的官方文章,给出如下总结:

  • 更智能的模型(smarter models)
  • 低延迟(lower latency) 谷歌开发了 Federated Averageing 算法,能大大降低延迟,具体可见「挑战与解决」。
  • 低功耗(less power consumption)
  • 保障用户隐私(ensuring privacy) Federated learning 不需要在云端存储用户数据。但为避免用户隐私泄露,谷歌更进一步还开发了一个名为 Secure Aggregation、使用加密技术的协议(见参考资料(2))。
  • 保障用户体验。 Federated Learning 在训练本地模型时,使用简化版的 TensorFlow,配合精心的程序调度,并确保训练模型只在手机在闲置、插着电、有 Wi-Fi 时才进行。因此,Federated Learning 不会影响手机的日常使用。

模型应用

目前,谷歌已经在谷歌输入法 Gboard 上测试该模型。

有个背景数说君要先介绍一下,Gboard 不仅是一个简单的输入法,它还在键盘上集成了 Google 搜索,在输入文字的同时拥有了强大的第二大脑。

当使用 Gboard 集成的 Google搜索 功能时,Google搜索 会显示推荐搜索项,此时手机会在将搜索内容储存在本地。Federated Learning 会对本地的这些数据进行处理训练, 以用来改进 Gboard 检索推荐模型。

挑战与解决

然而问题还是有的,谷歌承认实现 Federated Learning 还有一些技术上的挑战:

在典型的机器学习系统中,超大型数据集会被平均分割到云端的多个服务器上。像随机梯度下降(SGD)这样的优化算法很适合在此上面运行。因为这些反复迭代的算法,需要与训练数据集之间有低延迟、高流量的连接。 但在 Federated Learning 系统中,数据以非常不平均的方式分布在数百万的移动设备上。而且,智能手机的延迟更高、吞吐的流量更低,并且仅可在保证用户日常使用的前提下,断断续续地进行训练。

为解决这些问题,谷歌专门开发出了一套名为 Federated Averageing 的算法(见参考资料(3)),相比于原生 SGD 算法,该算法在训练深度神经网络时,只需要10%~1%的网络通信要求。

由于上传速度一般都会比下载速度慢很多,为把上传速度再提升,谷歌为此还通过使用 random rotation 和 quantization 来压缩更新,把上传速度再减少100倍(见参考资料(4))。

另外,谷歌还专门设计了一个针对高维稀疏 convex 模型的算法 Federate Optimization,该算法特别擅长解决点击率预测等问题(见参考资料(5))。

未来,谷歌会不断拓展 Federated Learning 的功能,并希望能根据手机输入习惯改进语言模型;以及根据图片浏览数据改进图片排列等。

参考资料:

(1) Federated Learning: Collaborative Machine Learning without Centralized Training Data,https://research.googleblog.com/2017/04/federated-learning-collaborative.html

(2) Practical Secure Aggregation for Privacy Preserving Machine Learning,http://eprint.iacr.org/2017/281

(3) Communication-Efficient Learning of Deep Networks from Decentralized Data,https://arxiv.org/abs/1602.05629

(4) Federated Learning: Strategies for Improving Communication Efficiency, https://arxiv.org/abs/1610.05492

(5) Federated Optimization: Distributed Machine Learning for On-Device Intelligence,https://arxiv.org/abs/1610.02527

- END -

原文发布于微信公众号 - 数说工作室(shushuojun)

原文发表时间:2017-06-26

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏AI科技评论

多图见证模拟机器人的逆天成长:论进化策略在强化学习中的应用

AI 科技评论按:本文是 otoro.net 的系列技术博客之一,以通俗可视化的方法讲解了进化策略(Evolution Strategies)中的诸多概念。本篇...

41910
来自专栏AI传送门

股票预测,自动翻译,你想要的它都能做——RNN算法探索之旅(3)

1563
来自专栏FreeBuf

基于标记数据学习降低误报率的算法优化

无论是基于规则匹配的策略,还是基于复杂的安全分析模型,安全设备产生的告警都存在大量误报,这是一个相当普遍的问题。其中一个重要的原因是每个客户的应用场景和数据都多...

2828
来自专栏CreateAMind

谷歌机器学习白皮书全解析 43条黄金法则

from http://3g.163.com/touch/article.html?docid=CBMPFGTL00098GJ5&qd=pc_adaptatio...

1063
来自专栏目标检测和深度学习

厉害了,我用“深度学习”写了个老板探测器(附源码)

如果上班的时候想放松一下,或者直说想偷偷懒,看点和工作无关的网页,这时候万一老板突然出现在背后,会不会感到很难堪呢? 有的浏览器设置了boss按键,手快的人还可...

3417
来自专栏新智元

【IEEE Spectrum】神经网络视觉分类算法的意外弱点

【新智元导读】以往的对抗攻击需要进行复杂的数据处理,但最近华盛顿大学、密歇根大学、石溪大学和加州大学伯克利分校的一组研究人员发表了一篇文章,表明在物理世界中进行...

33713
来自专栏数据派THU

哪款安卓手机适合跑AI?移动端芯片性能评测论文出炉

苏黎世联邦理工学院曾经开发了一款 AI Benchmark 应用,用于测试不同安卓设备和芯片的深度学习性能。近期,他们联合谷歌、高通、华为、联发科以及 Arm ...

1193
来自专栏企鹅号快讯

看可口可乐如何玩转TensorFlow

“ 随着人工智能的高速发展,开发者们对于能够应对产品多样化挑战的学习框架TensorFlow,也有着很高的热情。除了各类科技产品,零售行业也同样将TensorF...

21510
来自专栏大数据挖掘DT机器学习

PageRank算法(2):PageRank原理剖析

一、PageRank算法的简单举例 Google PageRank算法的思想精华在于:将一个网页级别/重要性的排序问题转化成了一个公共参与、以群体民主投票的方式...

5636
来自专栏机器之心

哪款安卓手机适合跑AI?移动端芯片性能评测论文出炉

论文:AI Benchmark: Running Deep Neural Networks on Android Smartphones

4064

扫码关注云+社区