AI モデルと ML モデルをトレーニングする

Visual Studio Code 用の Google Cloud Data Agent Kit 拡張機能で AI モデルと ML モデルをトレーニングする方法について説明します。

このクイックスタートでは、セッション テンプレートとサンプル Jupyter ノートブックを使用して、ニューヨーク市のタクシーのチップ額を予測します。PySpark でリモート Jupyter カーネルを使用して、線形回帰、ランダム フォレスト、XGBoost などのさまざまなモデルを試します。このプロセスでは、分散トレーニングと推論を実行できます。このチュートリアルでは、Spark ML と XGBoost ライブラリを使用して複数のマシンにわたるスケーラビリティを示します。

このクイックスタートでは説明しませんが、Visual Studio Code 用の Google Cloud Data Agent Kit 拡張機能を使用して AI モデルと ML モデルをトレーニングする方法は複数あります。

  • トレーニング データセットが大きい場合や、Apache Spark が提供する分散トレーニング機能が必要な場合は、リモート カーネルで Spark ノートブックを使用できます。
  • データセットが BigQuery にあり、BigQuery ML がユースケースをサポートしている場合は、BigQuery DataFrames ノートブックを使用できます。
  • データセットが小さく、モデルをローカルでトレーニングする場合は、Python ノートブックを使用できます。

Spark ランタイム テンプレートを作成する

サーバーレス Spark ランタイム テンプレートを使用すると、指定された構成セットで Apache Spark セッションを開始できます。新しいサーバーレス ランタイム テンプレートを作成する手順は次のとおりです。

  1. IDE のアクティビティ バーで、Google Cloud Data Agent Kit アイコンをクリックします。
  2. Google Cloud Data Agent Kit メニューで、[Apache Spark] を開きます。
  3. [サーバーレス] を展開し、[+ サーバーレス ランタイムを作成] をクリックします。サーバーレス ランタイムの作成フォームが表示されます。
  4. [表示名] フィールドに「ai-ml-tutorial」と入力します。
  5. [自動スケーリング] セクションに移動します。
  6. プルダウン リストで spark.dynamicAllocation.enabled を false に設定します。この設定は、XGBoost が Apache Spark と連携するために必要です。
  7. 他のフィールドはすべてデフォルトのままにします。
  8. [送信] をクリックします。

新しいノートブックを作成する

次に、新しい Spark ノートブックを作成します。

  1. [Google Cloud Data Agent Kit] タブの [Apache Spark] で、[+ 新しい Spark ノートブック] をクリックします。
  2. カーネルタイプとして [リモート カーネル] を選択します。
  3. [サンプル ノートブックから始める] をクリックします。
  4. サンプル リストで、[Data Science with PySpark and Distributed XGBoost] を選択します。無題の Jupyter ノートブックが表示されます。

モデルのトレーニング

  1. ノートブックのタブで、[すべて実行] をクリックします。カーネル ピッカーで、ノートブックを実行するカーネルを選択するように求められます。
  2. [Select Another Kernel] をクリックします。
  3. [リモート Spark カーネル] をクリックします。
  4. 前に作成したランタイム テンプレートである [ai-ml-tutorial on Serverless Spark] を選択します。

システムがサーバーレス Spark セッションを作成している間、次の通知が表示されます。Connecting to kernel: ai-ml-tutorial on Serverless Sparkノートブックがリモート PySpark カーネルに接続すると、最初のセルから実行が開始されます。この処理には約 2 ~ 3 分かかります。

Spark セッションを検査する

  1. [Google Cloud Data Agent Kit] タブの [Apache Spark] で、[ai-ml-tutorial] ランタイム テンプレートを開きます。IDE に、このランタイム テンプレートで作成したインタラクティブ セッションのリストが表示されます。
  2. リストの上部に表示されている、ノートブックを実行してシステムが作成したセッションを見つけます。セッションをクリックすると詳細が表示されます。セッション構成と、システムがノートブックの実行に使用したリソースを確認できます。

クリーンアップ

ノートブックが正常に実行されたら、次のクリーンアップ手順を行います。

  1. [Google Cloud Data Agent Kit] タブの [Apache Spark] で、[Serverless] を右クリックして [List Serverless Runtimes] を選択します。サーバーレス ランタイムのリストが表示されます。
  2. ai-ml-tutorial の [アクション] メニューをクリックして、システムがテンプレートから作成したすべてのインタラクティブ セッションを一覧表示します。
  3. [アクション] で、[削除] をクリックします。
  4. [サーバーレス ランタイム] ウィンドウに戻ります。
  5. ai-ml-tutorial の [操作] で、[削除] をクリックします。
  6. [確認] をクリックして、このチュートリアル用に作成したテンプレートを削除します。

次のステップ