Google 的战略是 AI First,机器学习是 Google 在人工智能领域的工作重心。
我们打开 GCP(Google Cloud Platform)的网站(cloud.google.com),会发现,AI 和机器学习服务排列在产品介绍页的第一位。在 AI 领域,从深度学习框架 TensorFlow,以 Google 最先进的迁移学习技术和神经架构搜索技术为基础的 AutoML,自然语言处理预训练模型 BERT,自然语言处理、视觉、翻译等 API……Google 一直在人工智能领域引领技术的发展,同时不断完善技术布局。
现在,Google 的 AI 和机器学习能力正在 GCP 上被客户更方便地使用,那么在 IaaS、PaaS、SaaS 层面又是怎样提供 AI 和机器学习服务的呢?
本篇文章来自于 2019 Arch Summit 全球架构师峰会北京站上,Google Cloud 技术工程师王顺的分享,解析 GCP 上机器学习平台特点。
(GCP 上的机器学习平台)
在基础架构 IaaS 层面,GCP 平台有虚拟机、TPU、GPU,在 PaaS 层面,AI Hub 一站式平台可以帮助你管理和运维复杂的机器学习环境,教你如何做平台化,在 SaaS 层面,Cloud API 基础组件,有 AutoML 定制化模型同时包括视觉、语言、对话、结构化数据等层面各种 API。
Cloud TPU 是 GCP 用户的专有选项
2016 年 5 月,Google 发布了机器学习专属芯片 TPU,2017 年又推出了第二代产品 Cloud TPU。第一代产品仅能够处理推理任务,第二代 TPU 增加了可用于机器学习模型训练的功能。Google 搜索、街景、Google 照片和 Google 翻译等服务现在都有一个共同点:他们都使用了 TPU 来加速其幕后的神经网络计算。
那么,什么是 TPU?
官方博客介绍:Cloud TPU 是 Google 设计的一系列硬件加速器,经过优化,可加速和扩展使用 TensorFlow 编程的特定 ML 工作负载。每个云端 TPU 由四个定制 ASIC(硬件编程芯片)构成,可将高达 180 teraflops 的浮点性能和 64 GB 高带宽内存打包到单个板上。
更通俗的说,TPU(Tensor Processing Unit 张量处理器)是 Google 为机器学习定制的专用芯片(ASIC),专为 Google 的深度学习框架 TensorFlow 设计。而著名的 AlphaGo AI 背后的“大脑”就是它。
(8 核 -64GB 高带宽内存 Cloud TPUv2)
为什么说 Cloud TPU 是 GCP 用户的专有选项呢?
在软件方面,已经使用 Google 的深度学习框架 TensorFlow 的开发人员,无需对其代码进行更改即可使用此服务。TPU 为 TensorFlow 特地优化过,TensorFlow 在 TPU 上会有更好地运行效果,换言之,想要用 TPU 的人可能就不会选择其他的深度学习框架。
在硬件方面,将 TPU 与英特尔和英伟达的芯片相比的话,Google 曾经宣称“我们发现 TPU 的性能比现在的 CPU 和 GPU 高出 15-30 倍,每瓦特性能高出 30-80 倍。这些优势帮助 Google 的许多服务以规模和成本实现了最先进的神经网络”。Google Cloud 技术工程师王顺也拿图片模型训练举例:Cloud TPU 最后训练结果可以达到 4000 张每秒,对比英伟达的芯片大概是 600 张每秒。
在 IaaS 层面,TPU 正在超过 GPU 成为深度学习的首选处理器,其核心是 MXU 矩阵乘法单元,跟 CPU、GPU 运算比较,通过限制寄存器、控制和操作的灵活性,以换取效率和更高的操作密度。
在对数据的处理上,TPU 采用低精度(8 位)计算,以降低每步操作使用的晶体管数量,这对于深度学习的准确度来说影响很小,却可以大幅降低功耗、加快运算速度,TPU 第二代开始自定义 bfloat16 浮点格式(非 IEEE 标准)。
在机器学习流水线上,平台能解决什么问题?
通常真正做机器学习训练的环节,只占机器学习完整生命周期很小一部分,据统计大概 10% 左右。在整个机器学习流水线上,如何将机器学习代码以及踩坑经验 Nodebook 进行很好地整理归类,更方便地在公司内部进行共享、搜索和使用。管理、运维复杂的机器学习的环境往往是 AI 公司遇到的挑战之一。
对于客户来说还常常遇到维护针对深度学习优化的堆栈困难且耗时地问题,以及想要查找相关的样本和组件,访问高质量、随时可用的数据集这些需求,如何让内部数据的查找变得更加方便呢?
GCP AI Hub 也许能解决这些问题,它是一站式的平台,通过 AI Hub 可以快速搜索到特定的关键字,找到对应的 Nodebook,或者一个完整的 Pipeline,通过分享这个文件可以重新导回原来全生命周期的流水线。如果是一个模型,可以做推理直接部署成一个 Service,或者进一步进行训练模型做强化训练和学习。
AI Hub 的特点:
发现:快速发现即插即用的 AI 管道和 Google 团队以及合作伙伴和客户构建的其他内容;
使用:通过 Kubeflow 在 GCP 上一键式部署 AI 管道,作为 AI + Hybrid 的首选平台;
分享:在内部和公开场合通过共享可部署的 AI 管道和其他资源来促进重复利用。
GCP 上的 API 服务
Google 的 AI 和机器学习服务除了底层基础设施和平台的服务,最上层的 API 服务应用场景更为广泛。
在计算机视觉领域有自动检测对象、人脸面部表情识别、文字识别、鉴黄等 API 可直接调用,在视频内容识别上,可以检测视频场景的变化,以及预定义的 2 万多种对象,也可以通过提取视频里的源数据,对视频做结构化管理。
在自然语言处理领域,比如在一些电商产品下面的评论区,可以通过 API 了解一段评论文本整体的情感态度,以及对多语言的支持和语义的分析。以及 STT(语音转文字 API)、TTS (文字转语音 API),可以识别超过 120 种语言和变体以及语义解析。
翻译 API 预训练模型支持 100 多种语言(从南非荷兰语到祖鲁语),借助 AutoML Translation,可以构建支持 50 多个语言的自定义模型。
Google Cloud 将所有这些工具和服务整合到机器学习平台中,在 GCP 上为客户提供服务。同时结合基于全球的基础设施,大量的数据和强大的计算能力,让 AI 和机器学习更大程度发挥强项,云上 AI 也让机器学习推动云计算的下一波浪潮。
分享嘉宾
王顺,Google Cloud 技术工程师,专注于 Google Cloud 上大规模分布式数据计算和机器学习技术方案和最佳实践,在深度学习的模型训练及后续预测产品的部署开发和大数据分析等领域有多年的实践经验,曾担任人工智能独角兽旷视科技主任架构师。
同期推荐
2019 Arch Summit 全球架构师峰会北京站,围绕《企业出海:云,数据》主题,基于 Google Cloud 4 位布道师的主题分享,我们整理了关于 Google Cloud 全球的基础设施、强大的数据服务、混合云多云以及容器编排、AI 和机器学习平台等层面的应用,也提到了美图海外和木瓜移动的使用案例,关注以下文章,更完整地了解 Google Cloud 以及 GCP 平台。
Google Cloud 内容专区已在 InfoQ 官网上线,Google Cloud 技术专家的独家技术文档,最新动态、精彩活动……等待大家的关注和互动,点击「这里」了解吧。
评论