AI Platform で独自の ML レシピを手早く作成
Google Cloud Japan Team
※この投稿は米国時間 2021 年 4 月 8 日に、Google Cloud blog に投稿されたものの抄訳です。
お菓子と機械学習(ML)がお好きな方に朗報です。最近、私の同僚の Sara Robinson と Dale Markowitz がコラボレーションし、ブレッキー(パン風クッキー)などの美味しいパンや焼き菓子の新レシピを生み出したのを覚えている方もいらっしゃるかと思います。これはすべて、表形式のデータに基づく機械学習モデルをコードなしで作成する AutoML Tables で彼らが構築した、パンや焼き菓子の ML モデルによるものです。
その後まもなく、有名な菓子メーカーの Mars Wrigley から Sara と Cloud AI に対し、人気のチョコレート菓子のモルティーザーズと AI キッチンのコラボレーションの打診がありました。Sara は、クッキー、ケーキ、スコーン、トレイベイク、およびそれらを合体させたレシピを生成する新しい ML モデルをトレーニングしました。モデルのトレーニングと焼き菓子の実験を始めてから何時間も経ったとき、Sara は、AI によって最適化されたケーキとクッキーのレシピにモルティーザーズを取り入れて、まったく新しいデザートを作りました。それには、イギリスの昔ながらの食品、マーマイトも含まれていました。
細かく説明すると、Sara はモデルの構築とカスタマイズにいくつかのツールを使用しました。
AI Platform Notebooks(特徴量エンジニアリングとモデル開発用の Jupyter ラボ環境)と TensorFlow
AI Platform のハイパーパラメータ調整(モデルのトレーニング)
AI Platform Prediction(モデルのデプロイ)
AI で作成した Sara の Mars レシピをお試しいただくこともできますが、独自の ML モデルを構築して、ピザ、パイ、ミルクセーキ、炒め物などのレシピを作ってみたい方のために、開始にあたっての目標とステップをまとめてみましょう。
目標: 料理の種類を入力し、それを作るために必要となるさまざまな材料の量を算出するモデルを作成すること。
ステップ:
1.データを収集する。関心のある料理のレシピ(さまざまな種類のピザ、パン、焼き菓子、麺など)に関する大規模なデータセットを収集します。その料理に使う各材料の量に関するデータが必要になります。たとえば、ピザであれば、各種類のピザを構成する生地、チーズ、トッピングに関するデータが必要です。
2.データを準備する。それぞれのレシピの材料から絞り込み、その料理の主材料を選びます。これは少し個人の好みによるかもしれませんが、食感、風味、硬さなど、料理の基本的な出来栄えに影響する材料について考えてみてください。ピザであればたとえば、生地の材料、チーズの種類、ソース、一般的なトッピングだけに絞り込みます。
3.データを前処理する。材料の量がすべて同じ単位(オンス、グラムなど)であることを確認します。すべての材料の量が標準範囲内に収まるようにモデルへの入力をスケールすることが必要な場合もあります。新しいトレーニング サンプルの作成にはデータ拡大を使用できます。AutoML を使用している場合は、多くのデータ準備タスクが自動的に処理されるため、このステップを省略できますが、トレーニング データを作成するためのベスト プラクティスにご留意ください。
4.モデルを構築する。AI Platform では、ノートブック、組み込みの Data Labeling Service、データセットを Cloud Storage または BigQuery に保存する機能を使って、モデルの開発、トレーニング、デプロイを行えます。また、AutoML Tables を使用したり、データを CSV ファイル、Google スプレッドシート、BigQuery データベースから直接インポートしたりすることもできます。
5.モデルをトレーニングする。AI Platform のハイパーパラメータ調整機能を使用できます。これは、複数のトレーニング ジョブ トライアルを実行してモデルのハイパーパラメータを最適化するサービスです。また、AutoML Tables には特徴量エンジニアリングの自動化機能もあります。どちらのツールでも、たとえばバジルがマルゲリータ ピザの重要な予測要素であることなど、それぞれの料理の重要な予測要素となる材料を判断できます(これは AutoML を使用した方が簡単に行えます)。
6.モデルをデプロイして予測する。ハイパーパラメータを調整し、モデルをトレーニングしたら、AI Platform Prediction を使って、カスタムレシピ(料理あるいは合体料理を作るための材料の量)を作成できます。AI Platform と AutoML の両方で、特徴量の重要度スコア(料理における材料の重要度)を確認することもできます。これで、AI を使ったレシピの出来上がりです。
早速エプロンを取りに行く前に、料理やお菓子作りに役立つリソースをいくつかご覧ください。
おいしいものを作るための AI リソース
AI Platform クイックスタート
このチュートリアルでは、Keras シーケンシャル API を使用して AI Platform でニューラル ネットワークをトレーニングする方法と、そのモデルから予測を提供する方法についてご説明します。このチュートリアルは Colab でノートブックとして実行することもできます。次の方法を学習します。
事前に作成した Keras コードを使用して、AI Platform でモデルをトレーニングする
トレーニング済みモデルを AI Platform にデプロイする
デプロイされたモデルからオンライン予測を提供する
前述の方法に加えて、このモデルで使用されるトレーニング コードを詳しく調べ、それが AI Platform に対応しているかを確認する方法も学習できます。データセットは米国国勢調査の収入に関するものですが、ご自分で選んだ料理関連(またはその他)のデータセット用のモデルを AI Platform でトレーニング、デプロイ、提供する方法を理解するためのフレームワークとして、このチュートリアルを使用できます。
最初の AI Platform Notebook の構築
このチュートリアルでは、データを調べたり、ML モデルのプロトタイプを作成したりするための AI Platform Notebooks のツールについて Sara が説明します。次の方法を学習します。
AI Platform Notebooks インスタンスを作成し、カスタマイズする
AI Platform Notebooks に直接統合された Git でノートブックのコードをトラッキングする
ノートブック内で What-If ツールを使用する
AutoML Tables
コードなしでカスタム ML モデルを作成できるということも強調しておきたいと思います。Sara と Dale が協力してブレッキーのレシピを作成したときに、AutoML Tables を使用したと言いましたが、AutoML Tables では、特徴量エンジニアリングの自動化により、負担の大きい作業の多くから解放されるため、構造化データに基づく最先端の機械学習モデルを簡単に構築、デプロイできます。コードレス インターフェースが ML ワークフロー全体を通して支援してくれるため、誰でも簡単にモデルを構築し、幅広いアプリケーションに確実に取り込むことができます。
AutoML Tables の使用を開始するにあたって役立つ、多数のクイックスタート、サンプル、動画があります。それらを使用して、次の方法を学習できます。
データセットとモデルを作成する
データをデータセットにインポートする
モデルをデプロイする
モデルを評価する
AI Adventures の動画再生リスト
Yufeng Guo と Priyanka Vergadia による AI Platform の説明をご覧ください。この特集動画では、AI Platform の組み込みアルゴリズムを使用して、トレーニング コードなしで機械学習モデルをトレーニングし、デプロイする方法について Yufeng が説明します。また、この再生リストのその他の動画では、以下について学習できます。
AI Platform でカスタム コンテナを使用してモデルをトレーニングする
AI Platform Pipelines で ML ワークフローの信頼性を向上させる
AI Prediction サービスを使用して、モデルの説明を取得し、出力の理解を深める
AI Platform で AI Data Labeling Service を最大限に活用する
ここまでお読みになった方は、おそらくお腹が減って、この作業を実行に移したくなっていることでしょう。Google Cloud の AI の詳細はこちらでご確認いただけます。また、ご自分で作成されたレシピは、Sara、Dale、私にオンラインで共有していただくこともできます。私たちはパンや焼き菓子で今回のことを試しましたが、その他の種類のレシピのモデル作成に成功された場合は、ぜひお知らせください。
-デベロッパー アドボケイト Stephanie Wong