TensorFlow 这么厉害了么?

clipboard.png

最近科技圈似乎都没有什么大事儿,唯一让我朋友圈热闹了一下的就是一年一度的 TensorFlow Dev Summit,但今年也因为新冠肺炎疫情的问题,首次改为了线上直播的方式。

本来觉得线上发布会应该没什么意思,但看了下直播日程后发现似乎有一些“货”啊,于是分别看了直播(太困没看完)和第二天录播,整理了其中的部分亮点。

看完之后我最大的感受就是:TensorFlow 不再是一个简单的 library,而是谷歌全力打造的社区和一个生态。

TensorFlow 2.2

clipboard.png

从 2010 年开始,谷歌大脑创建了他们的第一代机器学习系统 DistBelief,建成之后迅速的在谷歌内部进行部署使用,包括 Google 搜索、广告、相册、地图、街景、翻译和 Youtube,几乎是召集了全公司之力来做大型测试。

在广泛应用之后,Google 觉得目前的代码库过于繁重,于是让Geoffrey Hinton 和 Jeff Dean 牵头带队,重构了 DistBelief 的代码库,从而使其变成了一个更快、更健壮的应用级别代码库,也就是 TensorFlow 的雏形。

2017 年 02 月,Tensorflow 正式发布了 1.0.0 版本,同时也标志着稳定版本的诞生。

随着版本的迭代和性能不断地提升,TensorFlow 现在已被公司、企业与创业公司广泛用于自动化工作任务和开发新系统,从 GitHub 上的数据我们也能看到,TensorFlow 项目在所有的机器学习、深度学习项目中一直排名第一。

clipboard.png

究其原因,虽然 TensorFlow 并非尽善尽美,但一方面是 Google 在业界的影响力和集团内部的大力支持,另一方面就是 TensorFlow 凭借谷歌的技术硬实力,确实在很多方面都拥有优异的表现,比如其在分布式训练支持、可扩展的生产和部署选项、多种设备(比如安卓)支持方面备受好评。

去年的这个时候,谷歌官方在 TensorFlow Dev Summit 上发布了 TensorFlow 2.0 的 Alpha 版本。7 个月之后推出了 TensorFlow 2.0 的正式版,一推出就让整个机器学习领域沸腾了:

Google 深度学习科学家以及 Keras 的作者表示,TensorFlow 2.0 是一个新时代的机器学习平台,这将改变了一切。

目前 GitHub 上排名第一的 NLP 机器学习课程 practicalAI 的作者以及苹果公司 AI 研究员 Goku Mohandas 也在推特上表示,他们正在从 PyTorch 转向 TensorFlow 2.0。

虽然不敢说迈进新时代,但至少 TensorFlow 2.0 改正了之前的错误,让 TensorFlow 变的更加易用。

这次大会上发布的 TensorFlow 2.2 虽然只是一个小版本,但他让人注目的并不是所谓的性能提升,更多的是其强调了生态的兼容性和核心库的稳定性。从这一点我们也能看到,Google 致力于打造「大社区」的目标和方向。

TensorFlow Lite

clipboard.png

2017 年 5 月,谷歌在 I/O 大会上宣布推出 TensorFlow Lite,这是一款 TensorFlow 用于移动设备和嵌入式设备的轻量级解决方案。

正如它的名字「Lite」一样,谷歌对这个产品的定位就是「精&简」。发布时的两个招牌亮点也体现了这一特点:

  • 跨平台:可以在许多不同平台上运行,安卓和iOS应用开发者都可以使用
  • 快速:针对移动设备进行了优化,包括快速初始化,显著提高的模型加载时间,并支持硬件加速

clipboard.png

也就是说,TensorFlow lite 的重点不是训练模型,而是降低门槛,让一些性能不太行的设备也能高效的运行机器学习模型。根据官方提供的资料显示,目前 TensorFlow 已经部署在数十亿个边缘设备中,随着移动设备的发展,这个项目自然也有着很大的前景。

这次大会上,官方也强调将针对各种移动设备开发一系列的工具包,进一步优化性能,并提升隐私安全。

在新增的 TF lite 扩展库方面,则是新增更多图像和语言 API,加入了 Android Studio 集成,并完善代码生成等功能。报告里还发布了 Core ML Delegation ,可通过苹果神经芯片的核心 ML 代理,在苹果的终端设备上,加速其浮点运算速度。

TensorBoard.dev

clipboard.png

2015 年谷歌开源 TensorFlow 的时候,里面自带了一套帮助检测、理解和运行模型的可视化工具 TensorBoard。

作为 TensorFlow 的可视化工具包,支持追踪实验指标、可视化模型、分析 ML 程序、可视化超参数调优实验等等,研究人员和工程师通常用 TensorBoard 来进行可视化和理解 ML 实验。

因为机器学习通常需要多人协作,TensorBoard.dev 作为一项托管服务,只需上传 TensorBoard 日志就能生成一个共享链接,项目成员都可以查看,并且无需前置的安装或者设置。

除此之外,这次大会中谷歌也提到希望开发人员能够尝试使用 TensorBoard.dev 的其他功能,但这次推出的仍只是预览版,不知道完整版会带来哪些变动。

TensorFlow Quantum(TFQ)

clipboard.png

“自然界并不像经典物理学描述的那样,真见鬼。要想模拟自然,最好是用量子力学。” —— 物理学家理查德·费曼(Richard Feynman)

对我来说,这是本次会议的另一个重头戏。

TFQ 提供了必要的工具,可将量子计算和机器学习研究界聚集在一起,以控制和建模自然或人工量子系统,例如有噪声的中规模量子(Noisy Intermediate Scale Quantum,NISQ)处理器,具有约 50-100 量子位。

随着量子计算发展的最新进展,新的量子机器学习模型的开发可能会对全球最严峻的问题产生深远影响,从而在医药、材料、传感和通信领域取得突破。然而,我们至今仍缺乏研究工具,来发现有用的量子机器学习模型,即既可以处理量子数据又能在当今可用的量子计算机上执行的模型。

研究人员可使用 TFQ 在单个计算图中以张量的形式构建量子数据集、量子模型和经典控制参数。导致经典概率事件的量子测量结果是通过 TensorFlow 算子实现的。

大会上也提出,谷歌目前已将 TensorFlow Quantum 用于量子-经典混合卷积神经网络、量子控制机器学习、量子神经网络逐层学习、量子动力学学习和混合量子态的生成式建模,并学着通过经典循环神经网络学习量子神经网络。

TensorFlow Quantum 目前主要用于在经典量子电路模拟器上执行量子电路。放眼未来,TFQ 将能在 Cirq 支持的实际量子处理器(包括 Google 自有的处理器 Sycamore)上执行量子电路。

扩展资料

TensorFlow 2.2.0 :
https://github.com/tensorflow...

TensorFlow Lite 代码:
https://github.com/tensorflow...

模型的模式文件:
https://github.com/tensorflow...

TensorFlow Quantum 网站:
https://tensorflow.google.cn/...

TensorFlow Quantum 白皮书:
https://arxiv.org/abs/2003.02989


2004 年,Google 创始人 Larry Page 和 Sergey Brin 曾预言道:“计算机将会被植入人类大脑,搜索会成为一种自主进行的行为。”

16 年之后的今天,我们虽然没能把计算机植入大脑,但我们让计算机变的越来越智能、越来越像一个“大脑”。各式各样的工具和产品让我们的科研与开发变的更简单、高效、智能。

TensorFlow 作为谷歌战略布局中的重要一步,相信目标也是尽快实现技术智能化,推动社会的发展。虽然谷歌近几年偶尔会曝出丑闻,再加上各种政治市场因素的影响,在开发者心中不再是那片“圣地”,但我们不能否定谷歌在技术领域作出的贡献与推动。

2020,世界很不容易。

希望我们能借助科技的力量在世界崩塌前力挽狂澜。

clipboard.png

阅读 7.4k

推荐阅读

SegmentFault 思否对开发者行业的洞见、观察与报道

17396 人关注
109 篇文章
专栏主页
目录