编者按:本文来自于微信公众号 “量子位”(ID:QbitAI), 动点科技经授权发布。

今天凌晨,谷歌一年一度的 TensorFlow 开发者大会在加州举行。明明应该是一场软件盛会,却被生生开出了硬件发布会的味道。

谷歌在会上发布了两款 AI 硬件:售价仅千元搭载着 TPU 的开发板;可以为 Linux 机器学习推理加速的计算棒。它俩取代软件成了本次发布会的主角。

当然还有照例升级的 TensorFlow 2.0 Alpha 版,版本号提升的同时,Logo 也变成时下流行的扁平化设计。

在移动设备运行 AI 模型越来越主流的今天,用于部署在边缘设备上的 TensorFlow Lite 终于迎来了 1.0 版。

下面就让我们一起来回顾这场发布会的亮点吧。

发布会主角 Coral

Coral 开发板(Coral Dev Board)是一款售价 150 美元(折合人民币约 1000 元)的小型计算机,具有可拆卸的模块化系统和一个定制的 TPU 芯片,类似于树莓派。

Coral 中的 Edge-TPU 尺寸大约只有一枚硬币的 1/4,拥有 1GB 的 LPDDR4 内存和 8GB 的 eMMC 存储,安装 Mendel 版 Linux 或者 Android,可以进行本地的离线运算。

它不训练机器学习模型,而只是用 TensorFlow Lite 进行推理预测,因此比全栈框架更节能。

Coral 能够以每秒 30 帧的速度在高分辨率视频上运行深度前馈神经网络,或者以每秒超过 100 帧的速度运行 MobileNet V2 这样的单一模型。

这位妹子现场用 Coral 展示了一个有趣的图像分类应用。只需要开发板加摄像头,再加几个按钮而已。

右边的四个按钮,各自代表一个类别。

给 AI 看一只橘子,连按十几下黄色按钮。

再看到橘子的时候,黄灯就会亮起。

再给 AI 看 TF 的标志,也是橙色的,连按十几下红色按钮。

然后,再看到标志的时候,红灯就会亮起。

这时候,就算再把橘子放到摄像头前,AI 也不会被迷惑,毫不犹豫地点亮黄灯。

同时,谷歌还发布了一款 Coral USB 加速器,体内同样包含一颗 Edge TPU,可以在任何 64 位 ARM 或 x86 平台的 Debian Linux 上运行。

Coral USB 加速器售价 75 美元,可以加速树莓派和 Linux 系统的机器学习推理。

谷歌不是第一个发布此类产品的厂商,英特尔早在几年前就发布过 USB 神经网络加速计算棒,但是神经计算棒只支持 Caffe,而 Coral 支持 Caffe、TensorFlow 和 ONNX。

由于 PyTorch 能转成 ONNX,所以 Coral 实际上也能支持 PyTorch。

连竞争对手 Facebook 的大神 Yann LeCun,也在推特上给出一个好评:“Nice feature rundown at Hackaday”。

此外还有一款售价 25 美元、500 万像素的相机配件。

前两款硬件已经可以去官网订购,和查看详细技术文档:
https://coral.withgoogle.com/

TF 2.0 Alpha

TensorFlow 团队表达了对 Keras 更深的爱。

用 tf.keras 高层 API,可以有效简化 TF 的使用。

团队说,从前 tf.keras 的设定用来做小模型的,要扩大规模怎么办?

估计器 (Estimators) 就是强大的工具。

在 2.0 里,tf.keras 已经整合了 Estimators 的能量:

如此,便不用在一个简单 API 和一个可扩展 API 之间,再做多余的选择。

死磕 Keras,扔掉其他 API,就是为了减少重复。

除此之外,就是 Eager Execution 变成了默认设定。有了它,除了执行起来更加快捷,debug 也容易一些:

“可以使用 Python 调试程序检查变量、层及梯度等对象。”

快速上手

如果想要丝滑入门 TF 2.0 的 Alpha 版,可前往 TensorFlow 新鲜设计的友好网站,那里有教程和指南:

https://www.tensorflow.org/alpha

团队温馨建议,先观察一下 “Hello World” 示例,分为初学者版和老司机版:

初学者版,用的是 Keras Sequential API,最简单的入门大法;

老司机版,展示了怎样用命令式来写正向传播、怎样用 GradientTape 来写自定义训练 loop,以及怎样用 tf.function 一行代码自动编译。

然后,再去读 Effective TensorFlow 2.0 等等指南。

不止这些,还有 AutoGraph 指南,代码升级指南,以及其他 Keras 相关指南,一应俱全。

还有新课

随着 TF 2.0 Alpha 版一同发布的,还有两门深度学习课程,零基础可食用。

其中一门,吴恩达老师参与了课程开发,叫做针对人工智能、机器学习和深度学习的 TensorFlow 入门:

这是一套实践课程,会教你在 TensorFlow 里面搭建神经网络、训练自己的计算机视觉网络,再利用卷积来改善网络。

课程分四周。

第一周,了解一种编程新范式。

第二周,入门计算机视觉。

第三周,用 CNN 增强计算机视觉。

第四周,给网络喂食真实世界的图像。

另一门,是优达学城的免费课,叫做针对深度学习的 TensorFlow 入门。

第一节课还在了解课程大纲,第三节课就已经要训练自己的模型了:

现在,前四节课已经上线。第五节待续中。

给手机用的 TF Lite

介绍完 TF 2.0 后,谷歌 TensorFlow Lite 的工程师 Raziel Alvarez 上台,TF Lite 1.0 版正式上线。

TensorFlow Lite 是一个为移动和嵌入式设备提供的跨平台解决方案。谷歌希望让 TensorFlow 能够运行在更多设备上。

除了 PC 和服务器以外,我们的生活中还有像手机、智能音箱、智能手表等设备需要用到机器学习模型,而它们都是无法运行 TensorFlow 的。

要让这些设备运行 TensorFlow 需要面临以下挑战:计算力不足、存储空间有限、电池限制。

必须要有个轻量级(Lite)框架能将机器学习模型部署在移动和 IoT 设备上的。

TensorFlow Lite 就是为此而诞生,它于 2017 年 5 月在谷歌 I/O 开发者大会上首次推出,目前它已经部署到超过 20 亿台设备中,主要是通过以下一些软件,包括谷歌官方应用和两家来自中国的应用——爱奇艺、网易。

接着谷歌邀请了来自中国的网易机器学习工程师 Lin Huijie 介绍了 TensorFlow Lite 在 “有道” 中的应用。

Lin Huijie 说,网易用它实现了 30~40% 的图片翻译加速。

谷歌表示为移动设备部署 TF Lite 非常方便,只需用 TensorFlow 打包好模型,再用 TF Lite 转换器将之转化为 TF Lite 模型。

经过 TF Lite 的优化后,设备在 CPU 上的性能达到原来的 1.9 倍,在 Edge TPU 上的性能最高提升了 62 倍。

其他

除了以上几款硬件和软件外,谷歌今天还发布了 TensorFlow Federated,和 TensorFlow Privacy。

TensorFlow Federated 是一个开源框架,用来训练来自不同位置数据的 AI 模型。TensorFlow Privacy 能让开发人员更容易训练具有强大隐私保障的 AI 模型。

另外在发布会上亮相的有:TensorFlow.js 1.0;Swift for TensorFlow 0.2。