TensorFlow 基础信息:TensorFlow 的历史 0 个改进

DistBelief (第一代深度学习系统)#

从 2011 年开始,Google Brain 团队建立了 DistBelief,它是为深度神经网络构建的一个机器学习系统。接着 DistBelief 在 Alphabet (谷歌母公司) 各公司的研究和商业应用中迅速增长。随后 Google 指派包括 Jeff Dean 在内的计算机科学家,简化和重构了 DistBelief 的代码库,并将其转化为更快、更健壮的应用级库,最后形成了 TensorFlow。2009 年,由 Geoffrey Hinton 领导的团队就已经实现了广义反向传播和其他改进,使神经网络的生成精度大幅提高,例如在语音识别中的误差降低了 25%。

TensorFlow#

TensorFlow 是 Google Brain 的第二代系统。TensorFlow 版本 1.0.0 已经在 2017 年 2 月 11 日发布。虽然参考实现在单个设备上运行,但 TensorFlow 也可以在多个 CPU 和 GPU 上运行(具有可选的 CUDA 和 SYC​​L 扩展名,可在图形处理单元上进行通用计算)。TensorFlow 可以在 64 位的 Linux,macOs,Windows 和其它移动平台(包括 Android 和 Ios)上使用。

其灵活的架构允许在各种平台(CPU,GPU,TPU)以及从台式机到服务器集群再到移动和边缘设备之间轻松部署计算。

TensorFlow 的计算使用有状态的数据流图来表示。TensorFlow 的名字来源于这类神经网络对多维数组执行的操作,这些多维数组被称为张量。在 2016 年 6 月的 Google I/O 大会上,Jeff Dean 表示,GitHub 上有 1500 个仓库用到了 TensorFlow,其中只有 5 个来自谷歌。

2018 年 3 月,谷歌公布了用于 JavaScript 机器学习的 TensorFlow.js 1.0 版本,以及用于计算机图形深度学习的 TensorFlow Graphics。

2019 年 1 月,谷歌公布了 TensorFlow 2.0 版本。

张量处理器 (TPU)#

2016 年 5 月,Google 发布了张量处理器(TPU),这是一款专门为机器学习打造的集成电路(硬件芯片),并为 TensorFlow 量身定制。TPU 是一种可编程的 AI 加速器,设计用于提供低精度算术(例如 8 位)的高吞吐量运算,并且是面向使用或运行模型,而不是用于训练模型。Google 宣布,他们在内部的数据中心内运行 TPU 已经超过一年,并且发现使用 TPU 进行机器学习性能更好、能耗更低。

2017 年 5 月,Google 发布了第二代 TPU,可以应用到 Google 计算引擎。第二代 TPU 提供了高达 180 万亿次的性能,并且当组合成 64 个 TPU 集群时,可以提供高达 11.5 亿亿次的运算能力。

2018 年 5 月,Google 发布了第三代 TPU,可提供高达 420 万亿次的性能和 128GB HBM 显存。Cloud TPU v3 Pods 提供 100+ 亿亿次的性能和 32TB HBM 显存。

2018 年 2 月,Google 宣布他们在 Google Cloud 平台上推出了 TPU 的测试版。

Edge TPU (用于边缘计算)#

2018 年 7 月,Edge TPU 正式发布。Edge TPU 是 Google 的专用 ASIC 芯片,专为在边缘运行 TensorFlow Lite ML 模型而设计。

TensorFlow Lite (轻量级 TensorFlow)#

2017 年 5 月,Google 发布了专门针对移动开发的 TensorFlow Lite。2019 年 1 月,TensorFlow 团队发布了一个开发者预览版,这个 GPU 推理引擎在 Android 设备上支持 OpenGL ES 3.1 计算着色器(Compute Shaders),在 iOS 设备上支持 Metal 计算着色器。2019 年 5 月,Google 宣布,他们的 TensorFlow Lite Micro(也称 TensorFlow Lite for Microcontrollers)将和 ARM 的 uTensor 合并。

Pixel Visual Core (PVC)#

2017 年 10 月,谷歌发布了 Google Pixel 2,该手机搭载了他们的 Pixel Visual Core(PVC),这是一款针对移动设备,完全可编程的图像、视觉、AI 处理器。PVC 支持用于机器学习的 TensorFlow(以及用于图像处理的 Halide)。

本文为 Wiki 文章,邀您参与纠错、纰漏和优化