640?wx_fmt=png

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

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

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

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

640?wx_fmt=gif

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

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

发布会主角 Coral

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

640?wx_fmt=png

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

640?wx_fmt=png

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

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

640?wx_fmt=png

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

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

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

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

640?wx_fmt=gif

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

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

640?wx_fmt=gif

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

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

640?wx_fmt=png

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

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

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

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

640?wx_fmt=png

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

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

TF 2.0 Alpha

640?wx_fmt=png

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

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

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

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

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

640?wx_fmt=png

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

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

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

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

快速上手

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

https://www.tensorflow.org/alpha

640?wx_fmt=png

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

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

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

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

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

还有新课

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

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

640?wx_fmt=png

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

课程分四周。

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

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

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

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

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

640?wx_fmt=png

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

640?wx_fmt=jpeg

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

给手机用的 TF Lite

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

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

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

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

640?wx_fmt=png

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

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

640?wx_fmt=png

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

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

640?wx_fmt=png

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

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

640?wx_fmt=png

其他

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

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

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