写点什么

TensorFlow 豪赌:机器学习如何颠覆未来十年的软硬件?

  • 2020-03-04
  • 本文字数:3512 字

    阅读完需:约 12 分钟

TensorFlow 豪赌:机器学习如何颠覆未来十年的软硬件?

最近,Google Brain 员工,TensorFlow 产品经理 Zak Stone 在硅谷创业者社群 South Park Commons 上做了个讲座,谈到了 TensorFlow、XLA、Cloud TPU、TFX、TensorFlow Lite 等各种新工具、新潮流如何塑造着机器学习的未来。同时,他还暗示了一些还未向公众披露的 Exciting 的事儿。



作为一个平台来说,TensorFlow 算是一场豪赌:它兼顾了快速,灵活,还可用于生产。实验和执行之间的转换要足够快,才能保证工程生产力,静态图像计算通过 Python 等高级灵活的语言来表示,同时图编译允许对特定目标进行准确度优化。



作为一个开源项目,TensorFlow 极为成功,它从 2015 年 11 月发布至今在 Github 上已经获得了超过 20,000 个 Commit。Github 版的 TensorFlow 每周与 Google 内部镜像文件之间至少会进行一次双向同步,同时 TensorFlow 也收获了来自 Intel,Microsoft,IBM,Rstudio,Minds.ai 以及其他公司研发团队的大大小小的贡献。



为了更好地触及用户,能够在移动端上提高运行 TensorFlow 模型效率的 TensorFlow Lite 将会在今年晚些时候内嵌到设备中,而像是 XLA 这样的项目更具野心:XLA 使用深度学习来支持线性代数元的先时和实时编译,从而为任意的目标后端系统生成加速过的代码。XLA 的目标是在递阶优化上实现重大突破,不仅是在 GPU 架构上,而是要在任意能够平行放置线性代数元的架构上实现突破。



谷歌内部,在 CEO Sundar Pichai 要成为 “AI-First” 公司的号召下,TensorFlow 被应用到非常多的项目当中。


而加速研发基于机器学习软件的趋势不仅在 Google 身上发生,亚马逊,苹果,百度,Facebook,微软,Salesforce,Uber,Lyft 等几乎所有的主流科技企业,都雇佣了专业的研发团队来推动机器学习的工业化。而在这些公司中,深度学习的开发平台也是五花八门,其中包括来自 Facebook 的 PyTorch 和 Caffe2,来自 Microsoft 的 CNTK,来自 Apple 的 Core ML 以及来自 Amazon 的 MXNet 等。


未来十年,软件工程会变成什么样?


机器学习的崛起,意味着原来的 Clean Abstraction 和模块化设计正在被高维浮点张量和高效矩阵乘法所取代。


按这种趋势发展下去,软件工程行业将彻底改变。


Google 软件工程师 D. Sculley 曾写过一篇题为 “Machine Learning: The High-Interest Credit Card of Technical Debt” 的文章,他在其中列举出了机器学习系统促进低劣软件设计的种种可能,甚至会使这些低劣的设计成为必须。他提到,“这些系统的基本代码跟正常代码拥有相同的复杂度,但在系统层面上拥有更大的复杂度,从而可能引发潜在的风险。”


阅读 D. Sculley 的文章:https://research.google.com/pubs/pub43146.html


机器学习系统通过将所有系统输入紧密耦合,模糊了模型边界和抽象:理想的行为不变性不是来自软件逻辑,而是来自于驱动它们的特定外部数据。尽管存在通过静态分析和图连接来辨别代码可靠性的工具,但总体上,这些工具并没有办法用来分析数据的相关性。


D Sculley 等人在文章中讨论了几种系统设计中的劣势,很能与相关从业者产生共鸣:


  1. Glue Code(粘滞的代码)系统设计样式,“在这其中需要写大量的支持代码负责把数据传入、传出各种用途的安装包”;

  2. Pipeline jungles(乱七八糟的流水线),它会随时间有机地演变,数据准备系统“可能会变成由 Scape,Join 和 Sampling 步骤组成的一团乱麻,通常还伴随着中间文件的输出”;

  3. Configuration debt(庞大的编译代价),将会随着系统和生产线的研发而逐渐累积,集合了“各种编译选项,包括使用的特征有哪些,怎样筛选数据,特定学习算法的设置(范围很宽),潜在的预处理或者后处理,验证方法等等。”


即使在更小、更轻量化的项目中,工程师还会被以下这些问题困扰:


  1. 在实验中模型架构和权重的版本——尤其是当模型从不同体系借来了部分与训练模型,或者从其他模型借来了权重的时候。

  2. 数据来源和特征的版本;

  3. 在实验环境和实际生产环境之间的迁移(Domain Shift);

  4. 监测生产中推断的质量。


解决这些问题的一个可能方案是 TFX,它是一个 Google 内部研发的平台,用来在生产中分布和供应机器学习模型:


创造和管理一个可用于可靠地生产和部署机器学习模型的平台,需要在很多部件之间进行细致编排——这些部件包括基于训练数据生成模型的学习器、用于分析和验证数据和模型的模块、以及最终在生产工程中用于部署模型的基础架构。当数据随着时间变化且模型在连续更新时,平台的管理就变得非常难。


不幸的是,这些编排通常是在通过 Glue Code 和特定的脚本文件来有针对性的一一处理,导致了复制成本大、系统脆弱同时伴随着大量的技术隐患。


TFX 标准化了这些过程和部件,并把它们整合到单个平台上,从而简化了平台编译的过程,在确保平台可靠性、减少服务崩溃的基础上,将制作的时间从数月减少到了数周。



未来十年,硬件会变成什么样?


摩尔定律放缓,使得我们得以重新进入“架构的黄金年代”,见证各式各样芯片和指令集的飞速发展。


诸如英特尔旗下的 Nervana、英伟达、Cerebras 和 Google 等公司全都开始研发能够加速机器学习中线性代数运算的下一代硬件架构。且在默认情况下,每种架构都需要独特的、像 cuDNN 那样的底层、手动优化基元库。(cuDNN 全称是 CUDA Deep Neural Network library,是 NVIDIA 专门针对深度神经网络设计的一套 GPU 计算加速库。)


想打破这个趋势,需要同行们在 XLA 等更普适的编译器框架上下更多功夫。


Google 的 TPU(Tensor Processing Units)目前最有可能打破 GPU 的统治。每个 Cloud TPU 能提供高达每秒 180 万亿次的浮点运算,64GB 的超高带宽存储空间以及可串联的特性。跟之前超级计算机的架构不同,TPU 是从零开始设计,专门针对机器学习中常见的线性代数运算。


TPU 是与 TensorFlow 集成的,Google 提供收费云端服务(Cloud TPU),同时通过 TensorFlow Research Cloud(TFRC)项目,对想要提前使用 TPU 的机器学习专家进行补贴,提供 1000 个 Cloud TPU,希望他们能通过论文和开源软件来跟世界分享其研究成果。


才云有感

才云科技联合创始人、大数据科学家郑泽宇表示:人工智能最近已经成为了非常热门的话题。在国家层面,国务院几次发文表示要大力投入人工智能,争取能够在人工智能上实现对美国的超越。在公司层面,国内外各大公司,比如 Google、Facebook、Microsoft、Amazon、百度、阿里等各大都全部入局人工智能,其中百度更是豪赌人工智能,将整个公司的核心战略向人工智能转型。Google 也在前一年宣布了将人工智能作为其战略核心。


人工智能这个概念其实并不新,不过因为一项新的技术将人工智能推向了新的高潮。这个新的技术就是深度学习。为了抢占在深度学习技术上的绝对优势,各大厂商纷纷推出了开源的深度学习工具。比如 Google 的 TensorFlow,Facebook 的 Caffe,Microsoft 的 CNTK,Amazon 的 MXNet,百度的 PaddlePaddle。


然而,虽然在这些大公司中深度学习工具已经被广泛使用,但是要将这些工具和技术推广到更大的范围目前还是非常有难度的。要兼顾综合易用性、性能、通用型、稳定性和对机器学习流程支持的完备性并不是一件容易的事情,很多工具都只能支持其中几项,即使是目前最流行的 TensorFlow 也是如此。


虽然 TensorFlow 在通用性、稳定性和易用性上都做的不错,但是性能和对完整机器学习流程的支持都是问题。作为 TensorFlow 的推出者 Google 自然也意识到了这个问题,从 TensorFlow 1.0.0 开始,Google 推出了 XLA 来提高 TensorFlow 的效率,着也是目前 TensorFlow 最重要的方向之一。才云科技作为国内最早支持商用 TensorFlow 平台的公司也直接贡献到了 XLA 项目的研发。


另一方面,Google 最近在 SIGKDD 上发表了论文名为《FX: A TensorFlow-Based Production-Scale Machine Learning Platform》的论文,正式对外宣布了利用 TensorFlow 为核心构建一整套系统来支持完备的深度学习系统。这一思想和才云科技也不谋而合。我们相信综合了易用性、性能、通用型、稳定性和对机器学习流程支持的完备性的一套完整深度学习系统将更够帮助更多的企业向智能化转型,真正掌握对人工智能的研发能力。

小结

像 TensorFlow 这样的图计算和深度学习库是未来计算行业发展背后的主要驱动力,这推动我们去重新审视系统架构,从硬件到编译器再到更高级的程序语言和设计规范。


于是,繁重的工作摆在了软件架构师,工程师、研究人员等从业者面前,但同时这过程也很令人兴奋。就像 Zak 在演讲中所总结的一样:


我读研究生的时候,这些惊艳的应用大都还不可能实现——当人们对机器学习技术习以为常,然后开始做一些我们现在预见不到的事情,会是什么样呢?第一批 TensorFlow 原生的产品会是什么样?


本文转载自才云 Caicloud 公众号。


原文链接:https://mp.weixin.qq.com/s/f3yxubX_Ggz7txMlcDLpdQ


2020-03-04 20:52763

评论

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

从“捐赠”到“接受捐赠”,这背后是openEuler的两次蜕变

Geek_2d6073

sougou的workflow的10个技术点

linux大本营

workflow 异步框架 C++

5.10版本的linux内核pgtable_init函数解析

linux大本营

Linux内核

Wallys/QSDK/IPQ4019 and IPQ4029 chipsets support 20 km remote transmission

Cindy-wallys

IPQ4019 ipq4029

软件测试/测试开发丨uiautomator2 自动化测试工具使用

测试人

软件测试 自动化测试 测试开发 uiautomator

测试Java初学者建议

FunTester

用c++写一段快速排序算法

linux大本营

排序算法 数据结构与算法 C++

强强联手:机器学习与运筹学

鼎道智联

算法

DataX助力Oracle数据库迁移

白粥

数据迁移 DataX

如何系统地学习Spring Boot?

博文视点Broadview

为什么老有人想让我们“程序员”失业? | 社区征文

不叫猫先生

人工智能 程序人生 ChatGPT 三周年征文

linuxc获取文件内容

linux大本营

Linux

用AI赋能基础教育,小度人工智能青竹公开课现已走进6所知名小学

科技热闻

5.10版本的linux内核create_boot_cache函数解析

linux大本营

Linux内核

洞见数字时代的创新原力,数云原力大会暨 2023TECH 第五届数字中国技术年会开幕

通明湖

iOS MachineLearning 系列(5)—— 视频中的物体运动追踪

珲少

PVP2多屏幕演示投放软件:PVP2 ProVideoPlayer2 中文版

真大的脸盆

Mac Mac 软件 视频播放器 视频播放

用友自主研发企业商用版TimensionDB时序数据库重磅发布!

用友BIP

数据库 用友iuap 用友技术大会 升级企业数智化底座

招商基金数字化转型下的研发管理|标杆案例

万事ONES

攻防大牛在身边,2023首届阿里云CTF 大赛冠军揭晓

Lily

耗时72天!终于把GitHub上热度最高的Java面试八股文整理出来了,涵盖多家大厂面试真题

架构师之道

Java 面试

awk常量和标识符

linux大本营

脚本 awk

5.10版本的linux内核setup_kmalloc_cache_index_table函数解析

linux大本营

内存管理 内存泄漏 Linux内核

HSM加密机集群&监控方案

白粥

监控 集群 加密机

在 Kubernetes 中实施零信任的七条准则

NGINX开源社区

nginx Kubernetes

软件测试/测试开发丨Linux 常用高频命令

测试人

Linux 软件测试 自动化测试 测试开发

设计模式天花板,详解23种设计模式+7大设计原则

小小怪下士

Java 程序员 设计模式

c++生成pdf

linux大本营

C++ libHaru

c语言把8个char类型的值(char中存放的是16进制值)转换成一个int类型代码

linux大本营

C语言 char int

升级企业数智化底座是数智化2.0阶段的“最优解”

用友BIP

用友iuap 用友技术大会 数智化底座 数智化2.0阶段

TensorFlow 豪赌:机器学习如何颠覆未来十年的软硬件?_文化 & 方法_才云科技_InfoQ精选文章