Skip to content

カスタムモデルのメタデータを定義する

構造化推論モデルの場合、model-metadata.yamlinferenceModelセクションを宣言する必要があります。二値モデルにはPositive/Negativeクラスのラベルが必要です。多クラスモデルには、モデルの確率出力と同じ順序でtargetNameおよびclassLabelsが必要です。 詳細については、推論モデルのメタデータを参照してください。

メタデータを定義するには、model-metadata.yamlファイルを作成して、タスクまたはモデルのディレクトリのトップレベルに置きます。 この手順はほとんどのケースで省略できますが、カスタムタスクが非数値データを出力する場合のカスタム変換タスクには必要です。 model-metadata.yamlは、custom.pyと同じフォルダーにあります。

以下のセクションでは、カスタムモデルとカスタムタスクのメタデータを定義する方法について説明します。 詳細については、DRUMリポジトリのカスタムモデルタスクの完全な例を参照してください。

一般的なメタデータのパラメーター

次の表で、タスクや推論モデルで利用可能なオプションについて説明します。 drum pushを使用して、作成するモデル/タスク/バージョンに関する情報を提供するには、そのパラメーターが必要です。 一部のパラメーターは、互換性の理由から、drum push以外でも必要です。

備考

そのmodelIDパラメーターは、指定されたIDを持つ既存のカスタムモデルやカスタムタスクに新しいバージョンを追加します。 このため、新しいベースレベルのカスタムモデルやカスタムタスクを構成するすべてのオプションは、このパラメーターと一緒に渡された場合、無視されます。 ただし、現時点ではまだこれらのパラメーターを含める必要があります。

オプション 必要な場合 タスクまたは推論モデル 説明
name 常時 両方 drum pushがカスタムモデルのタイトルとして使用する文字列で、検索を容易にするため、ユニークなものにすることが望ましいです。
type 常時 両方 training(カスタムタスク用)またはinference(カスタム推論モデル用)のいずれかの文字列です。
environmentID 常時 両方 カスタムモデルやカスタムタスクの実行中に使用する実行環境のハッシュです。 利用可能な実行環境の一覧は、モデルレジストリ > カスタムモデルワークショップ > 環境で確認できます。 環境を展開して、環境情報タブをクリックすると、ファイルIDが表示され、コピーできます。 drum pushの場合のみに必要です。
targetType 常時 両方 ターゲットのタイプを示す文字列です。 次のいずれかである必要があります。
  • binary
  • regression
  • anomaly
  • unstructured(推論モデルのみ)
  • multiclass
  • textgeneration(推論モデルのみ)
  • agenticworkflow(推論モデルのみ)
  • transform(変換タスクのみ)
modelID オプション 両方 モデルやタスクの作成後に、バージョン管理を使って反復しながらコードを追加することがベストプラクティスです。 新しいモデルやタスクの代わりに新しいバージョンを作成する場合は、このフィールドを使用して作成したカスタムのモデルやタスクをリンクします。 このID(ハッシュ)は、カスタムのモデルやタスクのURLを介して、UIから取得できます。 drum pushでのみ使用します。
description オプション 両方 検索可能なフィールドです。 modelIDが設定されている場合、モデルやタスクの説明の変更にはUIを使います。 drum pushでのみ使用します。
majorVersion オプション 両方 このパラメーターで、作成するモデルのバージョンをメジャー(True、デフォルト)または、マイナー(False)のどちらの更新バージョンにするか指定します。 たとえば、更新前のモデルのバージョンが2.3の場合、メジャーなら3.0、マイナーなら2.4の更新バージョンが作成されます。drum pushにのみ使用します。
targetName 二値および多クラスの場合(inferenceModel内) モデル inferenceModelで、モデルが予測する列の名前。 多クラスの場合、ワークショップのターゲット名と同じ名前を使用し、classLabelsにはターゲットクラスと同じクラス順を使用します。
positiveClassLabel / negativeClassLabel 二値分類モデル用 モデル inferenceModelでは、モデルが確率を予測する場合、positiveClassLabelは予測がどのクラスに対応するかを示します。
classLabels 多クラス分類モデルの場合 モデル inferenceModelでは、クラス名(文字列)のリスト。 リスト順は、モデルが返す予測クラス確率の順序(たとえば、確率出力の列順)と一致している必要があります。 ワークショップでカスタムモデルに設定したターゲットクラスと同じラベルを使用します。
predictionThreshold オプション(二値分類モデルでのみ使用) モデル inferenceModelでは、予測ラベルとして選択されるラベルを示す、0と1の間のカットオフポイント。
trainOnProject オプション タスク モデルやバージョンのトレーニングを行う、プロジェクトID(PID)のハッシュ。 drum pushを使用してカスタム推定タスクのテストとアップロードを行う場合、DataRobotへの推定タスクのアップロードに成功した直後に、シングルタスクのブループリントをトレーニングするオプションを選択できます。 trainOnProjectオプションは、そのブループリントをトレーニングするプロジェクトを指定します。

推論モデルのメタデータ(inferenceModel

構造化推論モデルの場合、ターゲットおよびクラスラベルの設定は、model-metadata.yaml内の最上位キーinferenceModelに属します。 DataRobotまたはDRUMがtargetTypeに必要とするフィールドを省略すると、構築、テスト、またはデプロイが失敗する可能性があります。

targetType inferenceModelにおいて必須 備考
binary targetName, positiveClassLabel, negativeClassLabel オプション:predictionThreshold
multiclass targetName, classLabels classLabelsは、モデルの確率出力と同じ順序のクラス名のYAMLリストです。
regression (多くの場合なし) 多くの連続値テンプレートは、inferenceModelブロックなしで動作します。環境およびDRUMの要件に従ってください。
anomalyunstructuredtextgeneration、… テンプレート/DRUMに従います ターゲットタイプの例を参照してください。

ワークショップで生成されたファイル:レジストリワークショップのアセンブルタブで、model-metadata.yamlを作成すると、モデルのターゲットタイプのスターターファイルが生成されます。 多クラスの場合、そのファイルにはtargetNameおよびclassLabelsターゲットクラスと一致)とともにinferenceModelが含まれており、デプロイを成功させるために必要な要件を満たしています。

model-metadata.yamlファイルでは、ランタイムパラメーターを定義して、カスタムモデルのコードを再利用しやすくすることもできます。