見出し画像

書籍「GCPの教科書III【Cloud AIプロダクト編】」の紹介

#PR

概要

これまで「GCPの教科書」シリーズを執筆しているクラウドエース株式会社による3冊目の本となる。同シリーズはGoogle Cloud Platform(以下GCP)に詳しいクラウドエース社のエンジニア達が執筆している。1冊目はGCPの基本として機能・操作法や他のクラウドとの比較などを解説した本で、2冊目は「コンテナ開発編」として、KubernetesやGKEなどを解説している。どちらも高い評価を得ており、本書も信頼できる仕上がりとなっている。

今回の3冊目ではGCPが提供するAIプロダクトについて、解説した本となる。AIプロダクトはどんどんサービスの種類が増えており、なんのためにどんなサービスを使うべきか、目的や用途やレベル感によってどれを選ぶべきかで迷いやすい。この課題に対して本書では、AIプロダクトを目的・機能別に紹介することでわかりやすくしている点が特徴となる。

対象読者

機械学習でどんなことができるのかを知りたい方は、GCPが提供するプロダクトを使うことで理解が深まる。また、用意された学習済みモデルだけでなく、自分で用意したデータを学習させたカスタム機械学習モデルを利用したり、自分で作成した機械学習モデルを利用したい人にもおすすめしたい。対してGCPの基礎やプログラミング言語や開発環境に関する説明は省略されているので、ITエンジニアとしてシステム開発における一定の知見がある読者が対象となる。「クラウド=ノンプログラミング(プログラミング不要)」というイメージもあるが、本書の理解には一定のプログラミングスキルが必要となる。はじめてクラウドを使う人は「GCPの教科書」から入るのが良いし、コンテナベースの環境開発を構築するには「GCPの教科書Ⅱ」を参照しよう。
さて、ところで ITエンジニアの多くが持つ課題として「クラウドでAIはどこまで使えるのだろ?」というものが普遍的に存在する。この点において1から開発を行ったり、見積もりを依頼するなどの手間を掛けていると、いつまでもAI導入活用は進まない。そこで本書を使って手軽にクラウドによる試作品を作り、実務に耐えうるかのレベル感を探るのが良い。また、スキルごとの活用法としては、ITエンジニアとしてクラウド未経験であれば1冊目の「GCPの教科書」から学び、クラウドやAI開発に一定の経験があれば、GCP独自の作法を学べる本書から読むことを勧めたい。IT関連の技術書は内容だけでなく、自分にあった本を選ぶ方法も重要とある。本書を含めたGCPの教科書シリーズは内容がきちんと担保されているので、その上でスキルや目的に合ったものを選んで欲しい。

読むべき理由とGCPのメリット

GCPを活用すべき理由として、Googleによる高性能な学習済みモデルを使えるメリットがある。機械学習モデルを1から開発するよりも遥かにコストが低く、一定の精度もある。必要に応じてデータの学習やモデル開発もできるので、幅広い用途に対応できる。「AIプロダクト」と言っても、分析対象となるのは画像、音声、文章、データベースのデータなど多岐にわたる。業務でAIを活用したりデータを分析する用として一通り抑えながら、目的や用途に沿って選べる。さらに詳細な操作手順が掲載されており、豊富なサンプルコードもGitHubで公開されているので自由に使える。本書があれば、エンジニアが気になる機能をすぐ試せるので、この手軽さはまさにクラウドのメリットと言える。

クラウドにおいては、同業他社のサービスも展開されているが、GCPはGoogle自身で開発・運用したものがベースとなっている。実績としては申し分ないし、BigQueryやAutoMLなど同社のサービスとの連携も容易となる。AI導入活用において必要なサービスもそろっており、必要に応じて他社クラウドとの共同利用を検討すれば良い。

各章について

GCPの教科書Ⅲは9章構成となっており、ここで大まかな内容について紹介する。


・第1章 GCPのAIについて
GCPの特徴や提供するサービスの内容などに触れている。また、前述のプロダクト選択におけるフローチャートもあるので、最初から全部読まずとも自分に必要な章を確認できる。この点は無駄のない設計としてありがたい。

・第2章 機械学習API
事前学習済みの機械学習モデルをAPIで呼び出すサービスについて、解説されている。実行環境やアカウント作成など最初に必要な手順から解説されており、画像・音声・テキストなど各用途に応じてサンプルコードも添えながら動作結果などを紹介している。

・第3章 AutoML概要
GCPの特徴でもあるAutoMLについて解説している。AutoMLはデータを用意するだけで一定程度の高精度なモデルを作成する機能であり、手間やコストを削減できるメリットがある。APIと同様に画像・テキスト・テーブルデータなどの機能ごとに分かれて解説されており、APIとの違いについても説明している。

・第4章 AutoML(視覚系)
AutoMLはノンプログラミングで機械学習モデルを開発する機能である。プログラミングなしでも精度が低いわけではなく、Googleによる機械学習アルゴリズムで一定の精度を出せるメリットもある。画像分類モデルなどをプログラミングが苦手な人でも作れるメリットは大きく、業務現場でAutoMLを使える人が一人いるだけでも効率化など活躍できるだろう。分類以外にも物体検出の出来るので、異常検知や予知保全にも展開できる。今後需要が増えるであろう動画にも対応しており、用途の幅が広がることが期待できる。

・第5章 AutoML(言語系)
テキスト分類など、文章における機械学習モデルの開発ができる。学習データの準備から、ネガティブ・ポジティブといった感情分析、独自の翻訳モデルなど実用的な用途を行える。日本語だけでなく英語や中国語などの多言語対応なので、外国に事業を展開している企業において、新たな使い道も期待できるだろう。

・第6章 AutoML(テーブルデータ・Edge)
一般的なRDB(OracleやMySQLなどのリレーショナルデータベース)に格納された整数や文字列などの構造化データにおける機械学習モデルを開発できる。もちろんBigQueryなどGCP上に格納されたデータに対しても同様である。必要なデータを整備する前処理を行い、予測モデルを作成する流れを紹介している。また、Edge(個々の端末)上での画像分類モデルも作成できるが、クラウドとは異なり様々な制約が課される。本書ではデータの準備・学習・評価はクラウド上で行い、Edgeではモデルを予想に使う形式として作成手順が解説されている。

・第7章 BigQuery ML
データウェアハウスであるBigQuery上でSQLを利用して、機械学習モデルを開発できる。既存のSQLツールやスキルがあれば良いので、プログラミングや機械学習に不慣れなユーザーでも機械学習モデルを作成できる点が強みでもある。サポートされるモデルは、回帰、分類、クラスタリング、レコメンデーション、時系列予測、TensorFlowベースのDeep Neural Network、XGBoostベースの分類と回帰モデルなど一通り実装されている。データの準備からモデルの作成と予測まで解説されており、BigQueryを利用するユーザーはここから読み始めても良いだろう。

・第8章 AI Platform I(Part 1) ~準備・基礎編
ここまでの解説とは異なり、1から機械学習プロジェクトを進める際に利用するのがAI Platformである。データの準備や探索、カスタムモデルの作成やデプロイなど、GCP上で個々の作業を行う場合の解説となっている。一定の精度で十分な機械学習モデルであれば、7章までに紹介した機能を使えば良いが、より高い精度などが求められる場合は1から作る場面もある。しかしながら開発環境まで準備するのは手間や費用もかかるため、こうした既存の環境を活用するのが現実的である。PoCモデルとして試作品を作って終わりではなく、運用段階まで持ち込み安定かつ継続的に機械学習モデルを使うことが求められるため、こうした環境づくりも重要となる。開発環境となるjupyterLab、アノテーションデータ作成支援のAIPlatformDataLabelingServiceが紹介されている。その上でAIPlatformにおける機械学習モデル開発の流れとして、前処理、学習、デプロイ、予測という一連の作業をサンプルコードを交えながら解説している。1から開発というと敷居の高さもあるが、書籍で伴走しながら経験することは良い経験になるだろう。

・第9章 AI Platform II(Part 2) ~パイプライン活用編
機械学習パイプラインとして、データの入力から訓練(予測)という一連のステップをバッチ処理にしたものを構築する。機械学習プロジェクトにおいてモデル開発は重要視されがちだが、モデルのコードは全体の5%ほどに過ぎない。他のタスクも重要であり、理想形とされるMLOpsと呼ばれるコンセプトの体現を目指すため、ノウハウを積み重ねることも必要となる。本書ではKubeflow Pipelineを用いてパイプラインを作成し、AIPlatformPipelinesで実行する流れを解説している。

また、本書では補足説明としてコラムが差し込まれており、学習の妨げず理解を深めるアクセントになっている。GCPにおける機能説明だけでなく、機械学習開発プロジェクトを経験する中で得られた知見があることで、本書の信用につながっていると言える。

なぜ本書が良いのか?

ここまで本書を読むべき背景や紹介された内容を解説してきた。ここまで読んだ上で、GCPによる開発ノウハウを持つクラウドエース株式会社のエンジニア陣による執筆体制と、同種の書籍を2冊書いた経験もあって本書における一定の信頼も得られたと想定できる。クラウド・AIの書籍も他にもあるが、理論や開発において1から行うのは難易度が高い。本書はクラウドにおける手軽さを優先して、「まずは触れて使ってみる」という観点で、この1冊があれば一通り理解できる構成になっている。一定の精度を持つAIを手間を掛けずに導入活用するという現実的な視点において、クラウドを利用するのは最適な方法とも言える。最初はAPIやAutoMLなど「既成のAI」で理解を深めて、徐々にAIPlatformのような自前の開発体制に移行していく形でも良い。また、共著本におけるデメリットとして、複数人による執筆で整合性が取れない点や表記のばらつきなどで読みにくくなる点が挙げられるが、本書は全体のトーン&マナー(トンマナ)が統一されており読みやすく仕上がっている。こうした強みも、シリーズを通して3冊執筆する中で培われたノウハウと推察できる。

読んだあとに何をすべきか?

各プロダクトのおける理論や仕組みをもっと掘り下げて知りたい人は、1から理論などを学べる技術書に挑戦してはいかがだろうか。AI・機械学習に用いられる統計や数学を解説した本は数多く出版されている。昨今ではモデルにおける信頼性として説明可能なAIや、AIソフトウェアのテストについても注目されているので、信頼性を高める意味でこれらの分野における学習も重要となる。また、機械学習においてはデータの前処理も重要であり、本書では一部の紹介に留まっていたので専門書を改めて読んでもいいだろう。他のサービス(AWS・Azure)との比較検討や、本書は9章で紹介したデータパイプラインなど含む開発環境やMLOpsによる開発および運用体制と言った点も重要である。主に個人単位による開発を進めるなら本書で十分だが、より精度を高めたりチームおける開発や運用の実現には、さらに別の本による学習が必要となる点は補足しておきたい。

まとめ

エンジニアが「まずはクラウド上でAIを扱ってみたい」と考えて、実績や事例が事例なGCPで実践してみるのは、メリットも大きいこと。本書ではAIプロダクトそのものの基本的な仕組みやサービスが解説されており、提供されたサンプルコードなどから実際に試すこともできる。著者(クラウドエース株式会社)としての信頼と実績があるので、3冊のシリーズを通して読んでクラウドにおける理解を深めれば、エンジニアとしても大きなスキルアップが期待できる。クラウドは常にアップデートが繰り返されており、サービスの種類を把握したり、ドキュメントや資料を調べる(特に日本語の情報は遅れもある)のは一苦労となる。こうした手間も本書があれば解決するので、効率よく学べるという点でも有用である。エンジニアがクラウドを使いこなすための最初の一歩として、本書をオススメしたい。

ご購入はこちらから(アフィリエイトはありません)

note記事が気に入ったら、Twitterアカウントをフォローしてください! Twitter : https://twitter.com/maskedanl