High&NewTech:2021 年Google谷歌 I/O 开发者大会 Kemal 等三人主题演讲分享《TensorFlow 在机器学习领域的进展》
High&NewTech:2021 年Google谷歌 I/O 开发者大会 Kemal 等三人主题演讲分享《TensorFlow 在机器学习领域的进展》
作者简介:一个处女座的程序猿,国内互联网圈内知名博主、人工智能领域优秀创作者,全球最大中文 IT 社区 CSDN 博客专家、中国开源社区专家、华为社区专家、掘金社区专家、51CTO 社区专家、CSDN 开发者生态联盟成员,曾受邀采访和评审十多次。在 CSDN 平台所获荣誉尤其辉煌,先后荣获 2018 年 CSDN 博客之星全国前四强、2019 年 CSDN 博客之星全国前六强、2020 年 CSDN 博客之星全国前六强;2020 年周排名全年保持全国第一,博客文章浏览量 2400 万,仅在国内的 CSDN 平台就拥有 50 多万粉丝。国内各大互联网平台累计粉丝 100 多万。
导读: 2021 年线上 I/O 直播大会上,Google 的 Kemal 等人进行了本次主题演讲分享,主要讲解了 TensorFlow 在机器学习领域的一些最新进展,比如使用 TensorFlow.js 构建下一代 Web 应用机器学习;使用 Model Maker 轻松实现跨平台计算机视觉,轻松将 TF Lite 模型部署到网页;使用 TensorFlow Cloud 训练云端 TensorFlow 模型等。
TensorFlow 的发展历程
TensorFlow 开源距今,差不多快五年的时间了,到目前为止,TensorFlow 下载量已经超过 2 亿次,教程和指南浏览量达到 5200 万次,博客上文章阅读量超过 900 万次,YouTube 上的浏览量已经达到 1000 万,TensorFlow 已经发展成为开发者们的一个庞大的工具和框架生态系统。
TensorFlow 实战
Sequential API 非常容易使用。从数据到部署,这是一套跨越开发者工作流的工具,这也可以理解为是一种端到端处理这些工作流的平台。
1、构建神经网络
构建神经网络,此处仅需要使用几行代码!
2、构建生成对抗性网络
Keras 可以帮助我们使用相同的编码技巧实现这些高级用例,但这并非唯一,也可以使用Numpy 构建,在 TensorFlow 2.5 版本中,TF.NumPy 结合了 Numpy API 的简单特性,同时可以使用 GPU 和 TPU 仅需加速,这些都可以在 Colab 这样工具的 web 中免费使用。
TensorFlow 其实是一个生态系统,它的目标是使 ML 在每个阶段中,都变得更加容易。从创建模型、分析模型,部署、运行,它是跨越整个生命周期的工具,保持可靠的 AI 前沿技术。
(1)、创建模型
TensorFlow Hub 为您提供超过 10000 个预先训练好的模型存储库,可以重复使用和构建这些模型,可以在浏览器中测试这些模型。比如,这里有个训练好的识别鸟的模型,此时可以直接在浏览器中拖动图片来测试模型,然后会显示出这是一种什么鸟。
(2)、理解数据—Know Your Data
新的数据集探索工具— Know Your Data,它是一款基于 web 的工具,可以帮助理解丰富的数据集,如图像、文本,可以初步发现潜在的偏差或者不平衡。
Know Your Data (KYD) 是一个新工具,可帮助 ML 研究人员和产品团队了解丰富的数据集(图像和文本),以改善数据和模型质量,同时显示并缓解公平性和偏向性问题。
(3)、训练模型
下一步要进行加载数据、定义特征和标签。其实 TensorFlow Lite Model Maker 可以自动化实现以上功能,从而简化使用定义数据训练和重新训练模型的过程。
如果需要迁移学习,借助 Model Maker,就只需要几行代码即可!
(4)、部署模型
在移动端部署模型,可以使用 TensorFlow Lite;在 Web 端部署模型,可以使用 TensorFlow.js。
TensorFlow Cloud 可以实现云端部署模型,可以将训练工作发送到可扩容的云基础设施上运行,而无需离开终端。它作为 python 的包,为从本地调试到分布式训练和 TensorFlow Cloud 上参数调优的无缝转换提供 API。
比如,基于 CIFAR 数据集上的简单图像分类模型的代码示例,通常使用 Keras model.compile 和 model.fit。如果想要在更大的数据集上运行相同的代码,在云上 AI Platform 仅需要添加几行代码,就可以无缝地训练模型。如果训练时想要分布在多个加速器上快速得到结果,只需要配置加速器、工作数量和分发策略即可,超过 10 个 T4 GPU 自动设置。
(5)、分析并优化模型
分析模型的工具主要有两个,分别是 TensorBoard 和 TensorFlow Profiler。TensorBoard 是理解实验的可视化工具包,可跟踪度量、可视化模型,探索模型参数、嵌入等等。TensorFlow Profiler 主要是分析 TensorFlow 代码的执行情况。
优化模型的工具是 Model Optimization Toolkit,它是一套工具和技术,用于优化模型以使其运行的更小和更快,比如量化和剪枝,精度损失非常小。
另一个工具是 TensorFlow Lite,用于在移动端部署 TensorFlow 模型。它现在包含了对 Systrace 内置支持,并与 Andriod Studio 中的 Perfetto 无缝集成。
3、TensorFlow Lite
TensorFlow Lite 是一个开源的机器学习框架,用于在设备上实现模型推理,目前有超过 40 亿台设备使用了该技术,使用 TensorFlow Lite Micro 接触数十亿微控制器和嵌入式系统。
适用于微控制器的TensorFlow Lite 帮助您在只有数 K 字节内存的微控制器和其他设备上运行 ML 模型。现在,您可以购买通过蓝牙连接浏览器的预存储 Arduino 开发板。您可以使用这些开发板来尝试新的 Experiments With Google,以便您做出手势,甚至创建自己的分类器,并运行自定义 TensorFlow 模型。如果开发者乐于挑战,我们也在挑战运行新的适用于微处理器的 TensorFlow Lite 。
TensorFlow.js 是一个 JavaScript 机器学习库,可以让开发者在浏览器以及 Node.js 后端部署机器学习,它以每年三倍的速度强劲增长。
开发者可使用 TensorFlow.js 在 web 端部署机器学习,基于微控制器及嵌入式系统的机器学习具有巨大的变革潜力。
4、TensorFlow Extended1.0
TFX 1.0,是企业级正式版 ML。它适合在企业规模上生产 ML。Google 创建 TFX 的原因在于我们需要针对 ML 产品和服务构建强大的框架,然后将其开源,以供其他人使用。其中包括对训练模型的支持,相关模型可用于移动应用和 Web 应用,以及基于服务器的应用。与许多合作伙伴成功推出 Beta 版后,Google宣布推出 TFX 1.0,已为企业级正式版 ML 做好准备。
TFX1.0 超越了 TesnsorFlow,包含您可能用于训练模型的其他框架。它包含生产框架所需要的一切,如企业级支持、安全补丁、错误修复等,以及有保证性的向后兼容性。它还有一个稳定的发布节奏,以及对在 Google Cloud 上良好运行的强大支持,还有对移动端、Web 端和NLP 应用的支持。
5、Vertex AI 平台:Google Cloud 上的托管式 ML 新平台
ML 模型只有在您将其实际投入生产时才具有价值。如您所知,有效且大规模地实现生产化可能具有挑战性。正因如此,Google Cloud 发布了 Vertex AI。这是一个新的托管式机器学习平台,能够帮助您更快地进行实验和 AI 模型的部署。
Vertex AI 的工具涉及开发者工作流的各个阶段,从为数据加标签到使用Notebook和模型,再到预测工具和持续监控,全都整合在一个界面中。尽管您可能已经熟悉其中许多内容,但 Vertex AI 真正与众不同的是它引入了新的 MLOps 功能。现在,您可以使用我们的 MLOps 工具(例如 Vertex Pipeline和 Vertex Feature Store)放心地管理模型,让模型的维护和重复迭代变得不那么复杂。
Vertex AI 是一个管理式机器学习平台,可帮助加快AI模型的实验和部署,使工作流的每个阶段都变得更加容易,Vertex AI 拥有高效地部署 AI 所需的一切,包括Notebook, 数据标注,特征管理,内置Tensorboard,托管式训练服务,模型的预测、连续监控等。
这里特别强调Vertex AI引入的新的 MLOps 功能,可以使用这个套件放心的管理模型,这套工具消除了复杂的用户自定义模型维护的复杂性,提高了可靠性和可重复性,并且可以团队式的跟踪和管理实验。它还可以监视特征质量,并避免导致训练服务偏斜的常见原因(比如数据分布倾斜),从而实现可靠的 ML 生产部署。
Vertex Piplines 是可重复使用的训练流水线,可帮助数据科学家共享组件并快速迭代。Vertex Piplines 是用 python SDK 构建的,所以可以轻松的编写 Kubeflow 流水线和 TFX 流水线。它可以自动跟踪所有元数据,此元数据可以在调试中发挥关键作用。
Vertex AI 还提供了使用 AutoML 自动化模型训练的灵活性,即可以使用表格、文本、图像或者视频数据,通过自定义模型训练和可解释性AI更快地构建复杂的模型。此外,Vertex AI 集成了广泛使用的开源框架,如 Scikit-Learn 和 TensorFlow,除了使用AutoML,用户的任何 ML 框架也都可以通过我们的自定义容器来支持训练和预测。
TensorFlow Forum 论坛
TensorFlow 论坛上,在这里,可以学习如何使用 TensorFlow 将 ML 应用在项目中。
关注 TensorFlow 公众号【TensorFlow_official】,回复“CSDN TensorFlow”,获取更多资讯。点击,进入tensorflow.google官网。