我参加了GCP的大数据和机器学习培训“CPB100”。

我叫伊藤,是一名基础设施工程师。
最近发展迅速的云服务之一(至少我个人是这么认为的)是
谷歌云平台(GCP)。
2016 年 12 月,我参加了 Google Cloud OnBoard 研讨会,
似乎有超过 1000 名参与者。
参与了 Google Cloud OnBoard | Beyond Inc
日本市场出现如此大规模扩张的原因很可能是东京地区的崛起。
(东京谷歌云区域 | 谷歌云平台)
我想大概是2016年10月或11月左右。
好了,说了这么多,正如标题所示,
我参加了GCP的“CPB100”培训。
这次培训主要涵盖大数据和机器学习。

Google Cloud Platform 免费培训之旅 | Topgate Co., Ltd
关于大数据

虽然我们在本次研讨会上没有进行任何具体操作,但我们获得了许多关于总体概况的信息。
提到谷歌的大数据服务,人们首先想到的就是“BigQuery”。BigQuery
- 分析数据仓库 | 谷歌云平台
当然,OnBoard 上也讨论过这个问题。
BigQuery 能够在不到 10 秒的时间内对 100 亿行数据执行正则表达式替换。
其内部工作原理是:将
数据拆分,把每个部分存储在硬盘上,在运行查询时检索数据,并为每个部分创建单独的容器。
由于磁盘 I/O 在运行查询时会成为瓶颈,因此将数据拆分到多个容器中可以实现高速分析。顺便一提,我听说 BigQuery 不创建索引,而是执行全表扫描。显然,
由于数据量太大,创建索引更加困难。
其他服务
| 地质公园 | AWS | 概述 |
|---|---|---|
| 云数据流 | Amazon Elastic Map Reduce | 托管服务,例如批量处理 |
| Cloud Dataproc | Amazon Elastic Map Reduce | 托管式 Spark 和 Hadoop 服务 |
| 云发布/订阅 | 亚马逊简单通知服务 | 一个简单的消息服务 |
以上是一些可选方案。
为了便于理解,我还将其与 AWS 服务进行了比较。
我猜流程大概是这样的。
- 使用 Compute Engine 按进程分发数据
- 数据存储在云存储中
- 使用 Pub/Sub 接收 CloudStorage 数据并将其发送到相应位置
- 使用 Dataflow 或 Dataproc 处理数据
- 此外,处理后的数据存储在云存储中。
简单的数据完全可以用 ComputeEngine 处理,但这
会造成单点故障。
我认为,了解如何有效利用托管服务是“充分利用云计算”的关键。
关于机器学习

当你日常使用谷歌时,机器学习就已经存在于你的生活中了。
以Gmail为例。虽然它目前仅提供英文版本,但
它利用机器学习技术,根据上下文提供回复建议。
此外,谷歌利用机器学习技术,成功将其数据中心的冷却能耗降低了 40%。
新闻报道——谷歌利用 DeepMind 的人工智能技术,将数据中心的冷却能耗降低了 40%:ITpro
各种 API
谷歌将其多年积累的技术以API的形式提供出来。
当然,谷歌翻译也使用了机器学习API(翻译API)。
例如,这个:
语音 API - 语音识别 | Google Cloud Platform
顾名思义,它能将你说的话转换成文字。
谷歌应用和YouTube也有这个功能,对吧?
虽然图像识别和字符识别技术已经存在,Google Cloud Next '17 大会但类似的功能似乎在
云视频智能 - 视频内容分析 | Google Cloud Platform
这是一个视频版的图像识别技术。目前处于公开测试阶段,所以如果您想试用,需要注册。
自己动手做
使用现有的 API,如果你将一张人像图片通过图像识别 API 进行处理,它可以识别“人”和“男性”之类的信息,但
无法识别“个人姓名”,对吗?
这是因为谷歌目前提供的应用程序接口(API)无法学习个人姓名。
这是一个相当知名的例子,它利用谷歌提供的机器学习库 TensorFlow,
将黄瓜分成“优质黄瓜”和“大黄瓜”等类别。
谷歌云平台日本官方博客:利用深度学习连接黄瓜种植户 - TensorFlow
大致来说,这就是你需要的写作流程。
你需要写很多细节内容。
- 准备训练数据,创建算法,并创建“训练好的模型”。
- 使用预训练模型
- 继续学习以提高准确性
然而,实现该算法相当困难。
这时TensorFlow就派上了用场。
TensorFlow 是一个用于实现深度学习的库。
正如我之前提到的,它由谷歌开发,然后作为 GCP 服务发布,后来又开源了。
提供 C++ 和 Python API。
此外,机器学习在训练阶段需要大量资源,
主要是GPU和CPU(例如,用于图像识别)。
因此,才有了“云机器学习引擎”。
由于机器学习仅在训练阶段需要资源,因此非常适合云端部署。
它能够充分利用GPU,并且大量专用于GPU的机器在后台运行。
预测分析 - 云机器学习引擎 | Google Cloud Platform
如果你对TensorFlow感兴趣,可以加入TensorFlow用户组,
我建议你参加他们的学习小组。
(TensorFlow用户组东京分部 - connpass)
然而,它却异常受欢迎,原本计划只有20人左右的学习小组,竟然有200人参加……!!
概括
还有很多话要说,但只有到场的人才能听到。
午餐是便当盒,味道很棒。
至于我当时应该拍张更诱人的照片,就不说了。

哦,GCP 经常被拿来与 AWS 比较,但接下来的部分让我想,“我明白了!”
AWS 以易于使用的格式向用户提供已在 AWS 上以开源形式提供的产品(例如 Memcached 和 Elasticsearch),而
GCP开发自己的产品,广泛使用它们,然后
给用户提供
例如,谷歌开发的 MapReduce 已经发展成为 Dremel,并以 GCP 的“BigQuery”之名发布,而 MapReduce 现在以 Hadoop 的名称作为开源软件提供。
GCP 基本上采取了与 AWS 相反的方法。
0
