【大阪 / 横浜】インフラ / サーバーサイドエンジニア募集中!

【大阪 / 横浜】インフラ / サーバーサイドエンジニア募集中!

【導入実績 500社以上】AWS 構築・運用保守・監視サービス

【導入実績 500社以上】AWS 構築・運用保守・監視サービス

【CentOS 後継】AlmaLinux OS サーバー構築・移行サービス

【CentOS 後継】AlmaLinux OS サーバー構築・移行サービス

【WordPress 専用】クラウドサーバー『ウェブスピード』

【WordPress 専用】クラウドサーバー『ウェブスピード』

【格安】Webサイト セキュリティ自動診断「クイックスキャナー」

【格安】Webサイト セキュリティ自動診断「クイックスキャナー」

【予約システム開発】EDISONE カスタマイズ開発サービス

【予約システム開発】EDISONE カスタマイズ開発サービス

【100URLの登録が0円】Webサイト監視サービス『Appmill』

【100URLの登録が0円】Webサイト監視サービス『Appmill』

【200ヶ国以上に対応】グローバル eSIM「ビヨンドSIM」

【200ヶ国以上に対応】グローバル eSIM「ビヨンドSIM」

【中国法人に対応】中国クラウド / サーバー構築・運用保守

【中国法人に対応】中国クラウド / サーバー構築・運用保守

【YouTube】ビヨンド公式チャンネル「びよまるチャンネル」

【YouTube】ビヨンド公式チャンネル「びよまるチャンネル」

GCPのBigDataやMachineLearning向けトレーニング「CPB100」に参加しました

インフラエンジニアの伊藤です。

最近クラウドでぐんぐん伸びて来ている(と個人で思っている)のが
Google Cloud Platform(GCP)です。

2016年12月にGoogle Cloud OnBoardというGCPのセミナーに参加したのですが、
その時は1,000人以上の参加者がいたようです。

Google Cloud OnBoardに参加しました | 株式会社ビヨンド

ここまでの広がりを日本で見せているのは、東京リージョンの登場ではないでしょうか。
東京の Google Cloud リージョン  |  Google Cloud Platform

たしか2016年10月か11月ぐらいだっと思います。

と、前置きが長くなったのですが、今回タイトルにあるように、
GCPのトレーニング「CPB100」に参加してきました。
主にビッグデータや機械学習に関するトレーニングになります。


Google Cloud Platform 無料トレーニングツアー | 株式会社トップゲート

BigData(ビッグデータ)について


今回のセミナーでは具体的な操作などはしなかったのですが、概要などを色々教えていただきました。

Googleのビッグデータのサービスといえば、やはり「BigQuery」になります。
BigQuery- アナリティクス データ ウェアハウス  |  Google Cloud Platform

OnBoardでもお話されていたことももちろんありました。

BigQueryは、100億行の正規表現の置換を10秒弱ぐらいで完了させる性能があります。
で、BigQueryの内部でどういう動作になっているかというと、
データを分割してそれぞれHDDに保存して、クエリを走らした際にデータを取り出し、それぞれコンテナを作っているそうです。
どうしてもクエリを走らした際にはディスクI/Oがネックになるので、たくさんのコンテナに分割して高速な分析を可能にしています。

そういえばBigQueryはインデックスを貼らないで、フルスキャンするそうです。
データが大きすぎるためにインデックスを貼るほうが難しいそう。

Google Cloud OnBoardに参加しました | 株式会社ビヨンド

他のサービス

GCP AWS 概要
Cloud Dataflow Amazon Elastic Map Reduce バッチ処理などのマネージドサービス
Cloud Dataproc Amazon Elastic Map Reduce SparkやHadoopのマネージドサービス
Cloud Pub/Sub Amazon Simple Notification Service シンプルなメッセージングサービス

この辺りがあります。
わかりやすくAWSのサービスとの比較をつけておきました。

流れとしてはこんな感じですかね。

  1. Compute Engineでデータを処理別に振り分ける
  2. CloudStorageにデータが保存される
  3. Pub/SubでCloudStorageのデータを受け取って、しかるべきところに投げる
  4. DataflowやDataprocでデータを処理する
  5. またCloudStorageに処理したデータを保存する

簡単なデータであればComputeEngineで終わらせれますが、
そこが単一障害点となってしまいます。
マネージドサービスをどうやってうまいこと使うかが、「クラウドを上手に使う」ってことにつながると思います。

MachineLearning(機械学習)について


機械学習は、Googleを使っていると何気ないところに存在します。

例えばGMail。今はまだ英語限定の機能なのですが、
文脈から推測して返信候補を出してくれるようになっていて、それには機械学習が使われています。

Computer, respond to this email: Introducing Smart Reply in Inbox by Gmail

また、Googleのデータセンターの冷却電力を機械学習で調整し、40%削減に成功しています。
ニュース - Googleがデータセンター冷却電力を40%削減、DeepMindのAIを活用:ITpro

いろんなAPI

Googleが今まで培って来たものをAPIとして提供してくれています。
Google翻訳ももちろん機械学習のAPI(Traslation API)を使っています。

例えばこれ。
Speech API - 音声認識  |  Google Cloud Platform

そのままですが、しゃべったものを文章に起こしてくれます。
GoogleのアプリやYoutubeでもこの機能はありますよね。

画像認識や文字認識はありますが、Google Cloud Next ’17では、こんなものが発表されたようです。
Cloud Video Intelligence - Video Content Analysis  |  Google Cloud Platform

ビデオ版画像認識ですね。パブリックベータなので、試したかったら申し込みが現段階では必要です。

自分で作る

既存のAPIであれば、人の画像を画像認識APIで通すと、「人」「男性」といった認識まではできますが、
「個人名」などはわからないですよね。

それは、既にGoogleが提供しているAPIでは個人名までは学習されていないからです。

結構有名な事例なのですが、TensorFlowというGoogleが提供する機械学習のライブラリがあるのですが、
それを使って「いいきゅうり」とか「大きなきゅうり」を振り分けた事例です。
Google Cloud Platform Japan 公式ブログ: キュウリ農家とディープラーニングをつなぐ TensorFlow

ざっくりというと、こんな流れが必要となります。
かなりゴリゴリと書いていかないといけないです。

  1. 学習用のデータを用意して、アルゴリズムを作成して、「学習済みのモデル」を作成する
  2. 学習済みのモデルを使う
  3. どんどん学習させて精度を高める

ただし、アルゴリズムを実装するにはかなり大変です。
そこをTensorFlowの登場になります。

TensorFlowはDeepLeraningの実装するためのライブラリ。
先ほども言った通り、「Googleが開発したものをGCPのサービスとして登場し、オープンソース化したもの」です。

C++とPythonのAPIが用意されています。

また、MachineLearningは学習するときに非常に高いリソース量が必要になります。
主にGPU、CPUなどですね。(画像認識とかするので)
そのための「Cloud Machine Learning Engine」が用意されています。
Machine Learningでリソースが必要なのは「学習するときだけ」なので、クラウドに非常に向いています。
GPUが使えるようになっていて、GPU特化のマシンが裏で大量に立ち上がる、という動きです。

Predictive Analytics - Cloud Machine Learning Engine  |  Google Cloud Platform

TensorFlowについて気になるかたは、TensorFlow User Groupがあるので、
そこでの勉強会に参加してみるのもいいと思います。
TensorFlow User Group Tokyo - connpass

ただし、すげー人気で、20人ぐらいの勉強会に対して200人の参加だったり...!!です。

まとめ

ここ以上の色々なお話がありましたが、それは参加した方のみということで。。

お昼はお弁当が提供されましたよ。うまかった。
もっとうまそうに写真撮れよって話はなしで。

あ、AWSとよく比較されるGCPですが、話を聞いててなるほどと思ったのが、以下の部分。

AWSでは、「既にオープンソースとして提供されているプロダクト(例:MemcachedとかElasticSearchとか)をAWS上に乗せてユーザーに使いやすい状態で提供」してくれますが、
GCPでは「自分たちで開発したプロダクトを使い込んで、
そのプロダクトをユーザー向けにGCPのサービスとして提供」
をしてくれます。

例えばGoogleが開発したMapReduceはDremelと進化を遂げてGCPの「BigQuery」としてリリースされていますし、MapReduceはHadoopとして今はオープンソースで使えるようになっています。

GCPは基本的にはAWSとは逆のアプローチなんですね。

この記事がお役に立てば【 いいね 】のご協力をお願いいたします!
0
読み込み中...
0 票, 平均: 0.00 / 10
396
X facebook はてなブックマーク pocket
【2024.6.30 CentOS サポート終了】CentOS サーバー移行ソリューション

【2024.6.30 CentOS サポート終了】CentOS サーバー移行ソリューション

【2025.6.30 Amazon Linux 2 サポート終了】Amazon Linux サーバー移行ソリューション

【2025.6.30 Amazon Linux 2 サポート終了】Amazon Linux サーバー移行ソリューション

【大阪 / 横浜】インフラエンジニア・サーバーサイドエンジニア 積極採用中!

【大阪 / 横浜】インフラエンジニア・サーバーサイドエンジニア 積極採用中!

この記事をかいた人

About the author