注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。

実験

実験は、モデルのトレーニングジョブ中に生成されたメトリクスをまとめた作成物です。

3つの実験が選択されている表示のサンプル。

実験をモデルのトレーニングコードに統合する

実験は、Foundry でモデルを作成するために使用する任意の環境から作成できます。Jupyter® Code Workspaces および Code Repositories の ModelOutput クラスには、実験の作成と書き込みのためのフックが用意されています。これらの実験はモデルとともに公開でき、モデルページですぐに閲覧できます。

また、MLflow を活用すると、既存のコードへの実験の統合を効率化できます。

以下のスニペットでは、独自のモデルアダプタークラスの代わりに MyModelAdapter を使用してモデルを公開します。ModelAdapter は直接インスタンス化できない抽象基底クラスです。次の例に示すように、必要なメソッドを実装するサブクラスを定義する必要があります。

Copied!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 import palantir_models as pm class MyModelAdapter(pm.ModelAdapter): def __init__(self, model): self.model = model @classmethod def load(cls, state_reader, container_context=None, external_model_context=None): ... def save(self, state_writer): ... @classmethod def api(cls): ... def predict(self, df_in): ...

各メソッドの完全なシグネチャと動作については、ModelAdapter リファレンスを確認してください。

Code Workspaces

以下のコードスニペットは、Jupyter® Code Workspaces での実験の使用例を示しています。

Copied!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 from palantir_models.code_workspaces import ModelOutput # `my-alias` は現在のワークスペース内のモデルへのエイリアスです model_output = ModelOutput("my-alias") experiment = model_output.create_experiment(name="my-experiment") # パラメーターを記録します experiment.log_param("learning_rate", 1e-4) # メトリクスを記録します experiment.log_metric("train/loss", loss) experiment.log_metric("train/loss", loss, step=step) # モデルページに保存するには、モデルとともに公開します model_output.publish(MyModelAdapter(model), experiment=experiment)

Code Repositories

以下のコードスニペットは、Code Repositories での実験の使用例を示しています。

Copied!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 from transforms.api import configure, transform, Input from palantir_models.transforms import ModelOutput @transform( input_data=Input("..."), model_output=ModelOutput("..."), ) def compute(input_data, model_output): experiment = model_output.create_experiment(name="my-experiment") # パラメーターを記録します experiment.log_param("learning_rate", 1e-4) # メトリクスを記録します experiment.log_metric("train/loss", loss) # 任意の step 値も指定できます experiment.log_metric("train/loss", loss, step=step) # モデルページに保存するには、モデルとともに公開します model_output.publish(MyModelAdapter(model), experiment=experiment)

実験の作成と可視化について詳しくはこちら。