了解 2022 TensorFlow 动态

2022 Google I/O 大会已经落下帷幕,在精彩纷呈的主题演讲中,TensorFlow 的最新进展也屡屡被提及。在本文中,我们将本届 Google I/O 大会主题演讲中涉及 TensorFlow 的重要内容进行了汇总,以供您参考。此外,您还可以观看 Google I/O 大会主题演讲视频 了解更多内容。

Google 谷歌致力于推动开发者更便捷地使用机器学习技术。TensorFlow 提供了多种 API,让开发者可以通过更少的代码以降低复杂度并简化工作量,更轻松地完成数据、模型及部署等方面的任务,构建更为优质的应用,并且能够通过同一个框架将其部署到各种不同的环境。在此基础上,开发者还能借助 TFX 等工具,持续更新、优化模型,为用户带来更佳的用户体验。在这些方面,已经有许多成功的范例。

例如 LinkedIn 在 JavaScript 中使用 TensorFlow 构建了相关模型来预测图片下载时间,从而向用户动态展示更合适的分辨率的图片,以此提升了数十亿次的用户访问体验,并获得了丰厚回报。我们已与 LinkedIn 合作开源了这一模型,开发者可以测试或将该模型部署于自己的应用。

我们将通过以下几个主题为您介绍本次 I/O 大会上关于 TensorFlow 进展与更新。

数据提取和预处理

高质量的数据有助于构建更优秀的机器学习模型,TensorFlow 提供了多种工具和资源,来帮助开发者获取、标记、预处理并提取高质量的数据,以满足高质量模型构建的要求。这些代码和工具都是开源的,您可以随需而用。

TensorFlow 数据集

我们和 TensorFlow 社区成员们共同贡献了只需要一两行代码即可访问并使用的数据集,帮助您快速构建和验证一个机器学习模型原型。例如,您希望构建一个具有高精度的、发现农作物病害预测模型,则可以先使用 TFDS 上的 cassava 数据集进行快速验证测试,而不需要自行以人工的方式花费大量时间收集和标记数据。

TFRecord format 和 tf.data APIs

我们构建了一套用于简化数据预处理以及减少模型构建时间的基础设施。针对数据预处理,TFRecord format 以及 tf.data API 能够使得诸多工作变得更加简单,如数据切片 (slicing)、数据分割 (splitting)、打乱数据 (shuffling)、数据分片 (sharding large datasets)、数据增强 (augmentation) 等。通过以上操作可以简化数据预处理,或是降低对大型数据集的依赖。例如,Beyond Imitation 团队就开源了一个使用 TensorFlow.js 构建的虚拟“舞伴”应用,只用了几兆的数据进行训练。

工具

为了帮助您更好的了解您的数据和模型,以及它们在不同情况下的“表现”,我们也推出了一系列工具。比如 Know Your Data 工具 (KYD),这一工具可以帮助开发者分析目前一些主流数据集中存在的数据偏差,以避免对模型训练结果产生影响。此外,我们还扩展了语言可解释性工具(Language Interpretability Tool,简称 LIT)的功能,如 TCAV,并增加了对表格和图像模型的初期支持,同时,开发者也可以更方便地通过 Colab 在云端使用 LIT 了。

模型训练

TensorFlow 为开发者提供了实用的 API 工具来帮助开发者开展机器学习模型的训练工作,例如下面即将为您介绍的主要针对移动或嵌入式应用程序开发的 TensorFlow Lite Model Maker 等。

TensorFlow Lite Model Maker 和 Task Library

Model Maker 旨在承担模型创建中的复杂任务,如数据处理、模型训练、评估、模型优化、转换等。开发者可以使用 其 API,通过少量代码即可创建生产级别的 TensorFlow Lite 模型。Model Maker 还可以利用迁移学习大大减少模型训练数据量,以缩短训练时间。TensorFlow Lite Task Library 则为开发者们提供了大量开箱即用的模型。

现在,TensorFlow Lite Model Maker 和 Task Library 提供了 API ,能够在设备本地进行大规模相似性搜索,并同时支持 iOS 与 Android。这一功能由 Google 的相似性搜索模型 ScaNN 提供支持,Searcher API 可以帮助开发者在几毫秒内从数百万个数据样本中找到相似的图像、文本或音频。这些搜索都在本地设备上进行,无需将用户数据发送到服务器,因此能够更好地保护用户隐私。

Colab

考虑到机器学习训练过程中较高昂的硬件花费,我们向开发者们提供了 Colab 工具。Colab 是一款基于 Web 的机器学习 IDE,开发者可以使用 Colab 获取一定时长的高性能 CPU 和 GPU 资源供模型开发和训练使用。开发者们,尤其是从事机器学习研究的学者们,往往可以借助 Colab 更高效地学习,从而节省大量硬件开销。

上述这些工具不仅仅局限于入门级的学习和使用,业界的大型模型也可以借助它们获得巨大提升。比如企业可以对现有代码进行很小的改动就能支持分布式训练,更能使用 TPU 实现效率的巨幅提升。

模型部署

训练产生的模型可以根据需要部署到不同场景,可以是移动应用,可以是 Web 服务、浏览器、嵌入式系统,甚至可以是更精巧的微控制器中。

TensorFlow Serving

机器学习模型训练完成后,开发者可以借助 TensorFlow Serving 针对各种平台部署模型,并进行远程推理。在本次 I/O 大会上,Google 面向 Android、iOS、Flutter 以及 Web 开发者推出了相应的学习路径。开发者可以了解如何使用 TensorFlow Serving 这一 API。

通过 Google Play 服务使用 TensorFlow Lite

移动开发者普遍希望能够改善向移动应用中部署和更新 TensorFlow Lite 的流程,因为此前开发者需要自行打包 TensorFlow Lite 的 SDK 安装包,不仅维护复杂,而且安装包也变得臃肿。现在,TensorFlow Lite 将通过 Google Play 服务部署到数十亿台设备,并获得定期更新。用户可以实时获取最新版本的 TensorFlow Lite,开发者的 APK 安装包也会变小许多。多个 Google 团队已经在产品里用上了 Google Play 服务内置的 TensorFlow Lite,每月为超过 4 亿活跃用户提供服务,每天进行超过 200 亿次推理。目前,开发者可以通过公开测试版本的 API 使用内置的 TensorFlow Lite。

监测与维护

新数据的引入、错误修复、性能提升等要素要求我们必须持续不断地训练和部署模型。为此,我们提供了一系列工具,帮助开发者可以更便捷地实现模型持续部署工作,TFX 就是其中重要工具之一。

TensorFlow Extended (TFX)

借助 TFX,开发者可以轻松搭建机器学习的流程与基础设施,灵活地将机器学习模型部署到生产环境之中,并开展模型更新、错误修复、解决机器学习相关问题等工作。

Model Card Generator TFX

开发者们可以使用 TFX 提供的 Model Card Generator 来生成 Model Card 模板。Model Card 可以用于生成更易于优化的模型训练目标。

2022 年 Google I/O 大会的分享精彩纷呈,除了以上精彩内容外,如需了解更多详细内容,请您观看开篇提及的大会主题演讲视频。

参与课程与认证提升 TensorFlow 技能

除了 2022 Google I/O 大会的精彩内容之外,您还可以通过参与其他相关课程学习及认证,强化对机器学习与 TensorFlow 的理解,提升开发技能。

TensorFlow 开发者认证计划

TensorFlow 开发者认证计划 专为希望通过使用 TensorFlow 构建和训练基本模型来展示实用机器学习技能的学生、开发者和数据科学家而设计,计划中包含由 TensorFlow 团队开发的知识评测考试。通过考试的开发者,有机会荣获官方颁发的 TensorFlow 开发者证书和徽章,赢得 TensorFlow 全球社区中其他人员的认可,并为自己的职业生涯提供助力。

《TensorFlow 入门实操课程》

《TensorFlow 入门实操课程》是由 TensorFlow 官方团队与高校专业老师们一起合作联合推出的中文版课程,学习本课程可以帮助您了解机器学习的设计思路和基本方法,体验 TensorFlow 的最佳实践模式,还将有机会进行线上实操练习训练,能更快地学以致用。您可以前往中国大学 MOOC 平台上进行学习,课程结束后您将掌握有关机器学习工作原理的基础知识,从而为更深入的学习做好准备。

如要进一步了解 TensorFlow,您可以访问 tensorflow.google.cn

中文:TensorFlow 公众号