写点什么

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:52828

评论

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

通义灵码获得国产 AI 编码工具最高成绩丨阿里云云原生 8 月产品月报

阿里巴巴云原生

阿里云 云原生 通义灵码

openGemini 社区人才培养计划:助力成长,培养新一代云原生数据库人才

华为云开源

时序数据库 开源社区 openGemini 华为云开源

哈银消金以普惠金融服务助力假期经济

极客天地

按图搜索的实时性:阿里巴巴拍立淘API返回值的快速响

技术冰糖葫芦

api 网关 API Gateway API 文档 API 测试 pinduoduo API

利用观测云实现云资源FinOps优化

观测云

云服务 FinOps

Kotlin协程的取消机制:深入理解和优雅实现

伤感汤姆布利柏

搭建Jellyfin、Plex、Emby媒体服务,贝锐花生壳轻松内网穿透远程访问

贝锐

NAS 群晖 #docker

【YashanDB知识库】执行sql语句时报YAS-04401 data type - expected, but BLOB got异常

YashanDB

yashandb 崖山数据库 yashandb知识库

高效数据移动指南 | 如何快速实现数据库 MySQL 到 MongoDB 的数据同步?

tapdata

MySQL mongodb mysql数据同步 mongodb数据同步工具 mysql同步到mongodb

去美元化浪潮下:加密货币的机遇与挑战

区块链软件开发推广运营

交易所开发 链游开发 NFT开发 公链开发 代币开发

通义灵码企业代码补全增强使用实践

阿里巴巴云原生

阿里云 云原生 通义灵码

通义灵码企业代码补全增强使用实践

阿里云云效

阿里云 云原生 通义灵码

实现多线程的方式有哪些?

秃头小帅oi

皮阿诺七星服务,提升家居定制新体验

新消费日报

BTC ETF资金流入暴涨400%,市场下一步将如何发展?

区块链软件开发推广运营

交易所开发 dapp开发 链游开发 公链开发 代币开发

“软件驱动未来·数字闪耀金陵”2024南京软博会,官宣定档!

AIOTE智博会

软件博览会 软件展会 软博会 南京软博会

国科云域名解析课堂:一个域名可以解析到多个IP地址吗?

国科云

从孤岛到协同,集成式财务规划的未来

智达方通

业财融合 全面预算管理 财务管理 财务预算

掌握 C++17:结构化绑定与拷贝消除的妙用

不在线第一只蜗牛

c++

摊牌了!一文教会你轻松上手豆包MarsCode 编程助手!

Trae

人工智能 AI 代码 教程 分享工具

构建智能电商系统:京东商品详情API返回值是关键

技术冰糖葫芦

api 网关 API Gateway API 文档 pinduoduo API

软件测试学习笔记丨Charles 实战

测试人

软件测试

Flink全新周边正式上线!议题征集正在进行中!

Apache Flink

大数据 flink 实时计算 Apache Flink FFA

从低代码到AI赋能,企业科技创新的下一个风口

天津汇柏科技有限公司

低代码 AI 人工智能

数字化转型背景下低代码开发模式变革的研究

不在线第一只蜗牛

低代码 数字化

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