GCPUG Tokushima #4 機械学習 Machine Learning 参加レポート

はじめに

2019年2月17日に開催されたGCPUG Tokushima #4 機械学習 Machine Learningに参加してきました。

この記事では学んだ内容について書いていきます。

Google Cloud Platform 演習

GCPUG Tokushima オーガナイザーの塩士さんによるGoogle Cloud Platform 演習です。

QWIKLABS(自学習サイト)を使ってGoogle Cloud PlatformでのVM構築とTensorFlowの利用をハンズオン形式で学びました。

GCPUG Tokushima側にご提供頂いた無料クーポンを使用する事で、QWIKLABSのGCPの学習コンテンツを無償で学ぶことが出来ました。 無料クーポンは、2019/02/01から始まったJapan Cloud Study Jamsに参加する事でもらえるとの事。

この演習を通して、基本操作は勿論、塩士さんオススメの機械学習の論文資料やTensorBoardについて知る事ができました。

” 30分でわかる ” GCPを使った 機械学習システムの構築

株式会社ビヨンド 大原さんによる発表です。

機械学習の基礎や全体像、設計のポイントを御説明頂いたうえで、それらに対してGCPの何のサービスを使えば良いのかを御説明頂きました。

分かりやすくまとめて頂いていたので、理解しやすかったです。

www.slideshare.net

あと、話の本筋とは離れていますが、GoogleAppEngine(GAE)とGoogle Cloud Functionsの違いにも触れられており、同じサーバーレス技術でも何がどういう判断基準で使い分けるのかも教わりました。

以下、簡単メモ。

  • 毎秒数100万アクセス規模になる場合はGAEを採用する事
  • Cloud Functionsはリアルタイム応答に向いていない

質問タイム

以下、質問タイムで発生した質問の内容と回答を簡単にまとめたものになります。

Q. BigTableとBigQueryの違いは何なのか?
A. BigTableはKVSデータベースで、BigQueryは分析基盤・DWH。同じデータベース系だと思われがちだが役割が全然違う。実践的な例で言うとアプリのデータベースとしてBigTableを使用し、BigTable内のデータをBigQueryにコピーして分析などを行う。BigQueryは更新系の機能が弱く、アプリ等のデータベースには向かない。

Q. モデルのバージョン管理・履歴はGCPで可能か?
A. Cloud ML Engineにて可能。最後に作成したモデルが従来よりも精度が落ちた場合、以前に作成したモデルを再度採用する事が可能。

TensorFlow Lite と Edge TPU:モバイルアプリをAIで賢くする方法

Google合同会社 佐藤さんによる発表です。

本題に入る前に、機械学習の勉強に関する良い情報を御提供して頂けました。

以下、簡単メモ。

  • 今から学習する場合、機械学習フレームワークはKerasがオススメ
    • TensorFlowは難しい
    • TensorFlow2.0からはKerasがAPIになる
  • 機械学習環境はGoogle Colaboratoryがオススメ
    • 無料
    • GPU, TPUが使用可能
    • Googleカスタマイズ版Jupyter Notebookが環境構築作業抜きで使用可能

本勉強会の内容ではありませんが、佐藤さんがtwitterColabとKerasでTPUを使ったサンプルを紹介していたので記載。 https://twitter.com/kazunori_279/status/1096148775251243008

その後は本題に入って、エッジデバイスにAIを導入する際の問題点やメリット、TensorFlow LiteやML Kit for Firebaseについて学習しました。

以下、簡単メモ。

  • 機械学習を使って作成したモデルのダウンロードが厳しい(モデルの容量が約100MB)
    • TensorFlow Liteを使用する事で解決可
  • モバイルML(Machine Learning)は情報の圧縮を可能にする(※)
  • TensorFlow Liteは推論だけ実行可能。学習は対応していない
  • TensorFlow LiteのモデルはTensorFlowで作ったモデルをLite用にコンバートして作るもの

※. 情報の圧縮例: モバイルカメラが捉えた「猫」を情報としてサーバーに送信する場合、通常だと画像を送信するが、モバイルMLを使用するとモバイル側で画像認識処理を実施して、catという猫を表す文字データだけ送信する事が可能になる

質問タイム

以下、質問タイムで発生した質問の内容と回答を簡単にまとめたものになります。

Q. Firebase ML KitはJavaScriptで使用可能にならないか?
A. 今のところ、使用可能になるという情報は無い。

Q. AndroidアプリでML Kitを使用する場合、apkに含めないといけないのか?
A. どちらでもよい。apkに含めておいても良いし、後でML Kitだけダウンロードさせる事も可能。

Q. TensorFlow.jsは学習に向いていないのか?
A. 向いていない

最後に

GCP系はあまり触っていなかったので、サービスの役割もきちんと分かっていませんでしたが、本イベントで大雑把ではありますが理解できました。参加して良かったと思います。

今後は、ビッグデータ機械学習系のサービスが強力だと思うので、その辺を触っていこうと思います。