自从十年前吴恩达、Quoc Le 等人发表「识别猫」论文,引发技术革命之后,Google 一直引领着机器学习的风向,这家公司举办的开发者大会总会受到人们额外的关注。
9 月 14 日到 15 日,Google 开发者大会在上海举行。在这场活动中,Google 围绕自身在科技领域的最新技术,介绍了跨平台技术、隐私保护、机器学习、XR 等技术,以及与很多合作伙伴的最新落地成果。
在机器学习领域里,TensorFlow 作为最流行的框架一直被人们所熟知,最近它刚刚进化到 2.10 版。在开发者大会上,Google 介绍了开源机器学习生态体系 Tensor Projects 的概念。
机器学习是一个利用已知数据来训练推理模型的过程,经过训练的模型可以在前所未见的数据上作出有效预测,完成从图像识别、语音到自然语言处理等多种任务。打造领先的机器学习框架的过程正是为了做到这一点。谷歌希望通过 TensorFlow 框架提供的能力,为世界带来更多启发和灵感。
在 2016 年,谷歌开源了 TensorFlow,那时的业界情况和目前大不相同——当时真正称得上掌握机器学习技术的人大约只有几千人,而今天这个数字已经增长到了上百万,未来还会更多。
在 Tensor Projects 的用户中,既有专注于科技领域的,也有把机器学习作为辅助工具攻克其他领域研究的,不过在很多情况下,这些受众都有相似的需求。随着机器学习人才数量的增加,开发工具也需要向前发展。
「在 2021 年全球有 2430 万名软件开发者,这一数字在 2030 年预计将达到 4500 万人,」谷歌 TensorFlow 技术推广工程师魏巍说道。「其中大多数人并不会以机器学习为全职工作,大约有 1/4 会在开发过程中使用机器学习,一部分核心工作包括训练、部署和管理机器学习模型。他们会打造出很多现在无法想象的实用功能,比如在手机上给照片智能抹除不想要内容的功能。」
机器学习也在不断发展,前沿的研究最近又为我们带来了 AlphaFold 等重大突破。为了促进这些目标,这些年谷歌一直在致力于打造机器学习框架、库、基础设施、反例和教程,也掌握了从零开始打造机器学习应用的丰富经验。
如今,TensorFlow 技术本身已经包含数据、建模、部署到维护的全流程,在这之下还有专用的加速基础设施可以优化整个生命周期,实现了从业余爱好者到研究人员都适用的免费开源产品生态。
Tensor Projects 作为谷歌机器学习的生态,其中包含了不同的技术产品。例如,在构建模型的时候,Keras 可以帮你用简洁的方法构建模型,它被认为是更适用于初学者的开发工具。Google 表示,现在人们使用 TensorFlow Light Model Maker 可以解决创造移动端模型时面临的很多复杂任务。
「制作 App 或网站时你需要集成模型,我们打造了 task 库帮助人们使用模型。Model Maker 和 Task 库目前都已经支持端侧大规模近邻搜索,可以在几毫秒内在百万数据中找出近似的图片、文字或音频,所有的一切都可以发生在手机上。」魏巍表示。
JAX 是 Google Research 团队开发的高性能机器学习库,拥有和 NumPy 相似的 API 接口,并使用 XLA 编译器来进行模型加速。很多研究者对其寄予厚望,希望它可以取代 TensorFlow 成为新一代流行深度学习框架。
在谷歌,JAX 被定义为前沿研究使用的机器学习框架,TensorFlow 则是应用时使用的框架。据介绍,DeepMind 就曾使用 JAX 开发了 AlphaFold 来解决蛋白质折叠问题,从而精准预测蛋白质结构。
JAX 针对谷歌的基础设施专门优化了数学计算,目前这套基础设施已经开放给了所有开发者使用。开发者们可以在 TensorFlow 上简单修改几行代码,即可接入谷歌 TPU 的算力。
Google 也发展了算法部署的工具。如今在模型部署时,你可以使用 TensorFlow Extended (TFX)把模型部署到所有位置:从云端到网页服务器、浏览器、嵌入式系统等等。但与此同时,我们需要修复 bug,处理新的数据,保证模型输出负责任的结果。TensorFlow Extended (TFX)让模型的持续训练成为了可能:它可以帮助你更深入地理解模型性能,你可以用 TFX 训练多端模型,随时接入 Colab。
最近一段时间,人们对于可信机器学习重视程度越来越高,当你打造负责任的机器学习模型时,模型卡片可以提供透明度,现在 TFX 也可以自动生成模型卡片了。
TFX 上一个受欢迎的组件是 TensorFlow Serving,它可以帮助把模型部署到服务器上,然后远程调用。谷歌最近已经发布了四个新的 Learning Pathways,帮助大家学习如何从安卓、Flutter、Web 端来调用 TensorFlow 的接口,完成模型推理。
谷歌也发布了两个新的 Colab 来帮助开发者学习 TensorFlow Recommenders 和 TensorFlow Agents 来打造基于机器学习的全栈跨平台 App,
目前,TensorFlow Lite 运行库已经被集成进 Google Play Service,这意味着用户可以一直使用最新版本的 TensorFlow Lite。很多应用目前已经在使用 Google Service 中的 TensorFlow Lite,每个月有超过 4 亿用户,完成 200 亿次推理。
Google 也在帮助更多开发者,降低机器学习的应用门槛。
谷歌提出了 MediaPipe,希望能为开发者提供高度可定制化的设备端机器学习解决方案。其技术已在 Google Meet 在线会议的背景模糊,Nest 的人员移动检测、包裹递送通知、收拾识别,YouTube 的虚拟试妆等功能上得到了应用。支持多模型,多硬件加速,跨平台的机器学习任务。
在大会现场,Google 向我们展示了 MediaPipe 在骨骼绑定、动作和手势识别等计算机视觉任务上的能力,只需本地 GPU 和摄像头,算法就可以实时探测出面前人们的各种动作。
MediaPipe 将复杂的机器学习流水线都封装成为 Task,方便开发者用最简单的方式定制模型。在未来,设备端机器学习技术的调用将简化到仅需几行代码,甚至无需代码。谷歌下一步的计划,是把 MediaPipe 从视觉拓展到语音识别和自然语言处理领域。
在机器学习社区里,谷歌的官方机器学习教程一直被受到欢迎,继推出《TensorFlow 入门实操课程》后,TensorFlow 团队最近携手网易有道在 Mooc 平台上面向对部署领域感兴趣的开发者推出了专题课程:《 TensorFlow 入门课程 - 部署篇 》,同时也推出了中文版的《开发者在线课程》。
Google 提供的工具为人们提供了丰富的选择,不论科研还是生产,在做下个机器学习项目时,你肯定还会先试一下用 TensorFlow 该怎么做。