はじめに
この記事では、JupyterワークスペースでAI/MLモデルを構築する方法について説明します。モデルはDomoモデル管理インターフェースにもアップロードされ、リアルタイムまたはバッチ推論のために展開できます。データをトレーニングする
次の例では、シンプルにするために、モデルのトレーニングに機械学習を使用していません。代わりに、色付きの図形のリストを使用して、図形を青と青以外に分類するシンプルなアルゴリズムを定義しています。| 図形 | 色 | 青 | |
|---|---|---|---|
| 0 | 円 | 赤 | 0 |
| 1 | 正方形 | 青 | 1 |
| 2 | 楕円形 | 緑 | 0 |
| 3 | 長方形 | オレンジ | 0 |
| 4 | 長方形 | ピンク | 0 |
ハイパーパラメーター
モデルのトレーニングに機械学習を使用する場合、トレーニングプロセスを設定するためにパラメーターが必要です。パラメーターは今回の例では使用しませんが、参考のために以下に示します。モデルトレーニング
この時点で、通常は機械学習ライブラリを使用して、トレーニング用DataSetに合うようにモデルをトレーニングします。参考のために、以下にそのモデルを示します。検証
モデルを確実に読み取って展開するには、 invoke 関数を使用してテストを行うことを推奨します。この例では、シンプルにするために、トレーニング用DataSetに対してテストを行います。応答
モデルスキーマ
各モデルは、入力タイプと出力タイプを定義し、オプションでCSVまたはJSONタイプのスキーマを定義します。 CSVModelIOConfiguration、JSONModelIOConfiguration() 例えば、入力としてCSVを受け入れ、出力としてCSVを返すモデルにできます。CSVスキーマを手動で作成するだけでなく、DataFrameを使用している場合は、DataFrameからCSVスキーマを作成することもできます。その方がよりシンプルです。メトリクス
トレーニングおよび検証中に、モデルのパフォーマンスを測定するためのメトリクスを定義できます。参照用にメトリクスの例を以下に示します。 メトリクスの名前と値に加えて、標準偏差とタイムスタンプを含めることができます。モデルタスク
Domoでは、どのタスクを実行するようモデルをトレーニングするかを例えば以下で指定することができます。- TEXT_GENERATION
- CLASSIFICATION
- OTHER
カーネルのスナップショット
Domo Jupyterワークスペースでは、サードパーティのライブラリをインストールして環境をカスタマイズできます。カスタマイズされたJupyter環境とモデルホスティング環境が一致するように、Jupyterカーネルを実行しているconda環境のスナップショットが作成されます。 ワークスペースで最初にモデルを作成したときに、カーネルスナップショットが自動的に作成されます。1つまたは複数のスナップショットが既に存在する場合は、最新のスナップショットがモデルに使用されます。環境が変更され、新しいスナップショットを作成する必要が出てきた場合は、「create_snapshot=True」を使用して「create_model」を呼び出すことができます。 新しいスナップショットの作成には数分かかる場合があります。 このページのトップへモデルを作成する
パフォーマンスをほかのモデルと比較できるDomoモデル管理インターフェースにモデルをアップロードします。準備ができたら、Magic ETLでエンドポイントまたはDataFlowタイルとして展開できます。 以下の情報が含まれます。- 名前 — モデルの名前
- エントリーポイント — 展開後に実行される invoke 関数を含むファイル
- ファイル — シリアライズされたモデルまたはモデルを実行するのに必要なその他のファイル
- トレーニング — トレーニング中に発見されたハイパーパラメーターとメトリクス
- タスク — モデルがサポートするタスクのリスト