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

コンテナモデルでイメージをアップロードする

このページでは、コンテナを基盤とするモデルでイメージをアップロードする手順を説明します。このワークフローでは、モデルを作成し、モデルリソースにイメージをプッシュして、モデルバージョンを設定します。

1. モデルを作成する

コンテナを基盤とするモデルを作成するには、まずイメージのプッシュ先となるリソースを作成します。このリソースでモデルの権限を制御します。このリソースに対して閲覧者権限を持つユーザーは、Foundry からイメージをプルできます。

新しいモデルを作成するには、任意のモデリング目標に移動し、+モデルを追加、コンテナ化されたモデルをインポートの順に選択します。

目標ページの右上にあるモデルを追加ボタン

コンテナ化されたモデルをインポートが強調表示されたモデルを追加ダイアログ

2. モデルにイメージをプッシュする

Palantir でモデルリソースを作成したら、手順に従ってアセットにイメージをプッシュします。プッシュするイメージは、Foundry のイメージ要件を満たす必要があります。

イメージのプッシュが強調表示された新しいコンテナモデルのランディングページ

トークンの生成を選択し、デフォルトのコマンドブロックをコピーして、example-package:<TAG> をローカルの Docker リポジトリにあるイメージ名とタグ(またはダイジェスト)に置き換えます。イメージ要件により、タグに「latest」は使用できません。これらのコマンドを実行すると、該当するイメージがモデルにプッシュされ、閲覧者権限を持つすべてのユーザーがアクセスできるようになります。

イメージのサイズによっては、モデルでコンテナイメージが利用可能になるまで数分かかる場合があります。

イメージのプッシュが成功し、コンテナイメージのリストで利用可能になったら、モデルバージョンを作成を選択してバージョンの設定を開始します。そのためには、まずモデルアダプターライブラリテンプレートを使ってコンテナモデルアダプターを作成する必要があります。

モデルバージョンを作成が強調表示されたコンテナイメージタブ

公開前にモデルアダプターの実装を改良するには、sidecar デコレーターを使用して、モデル内にすでに存在するコンテナでロジックがどのように動作するかをテストします。sidecar トランスフォームデコレーターのドキュメントの手順に従い、作成したモデルを基盤となるアーティファクトリポジトリとして使用して、デコレーターを有効にした新しいトランスフォームリポジトリを作成します。次に、トランスフォームリポジトリ内にアダプターを実装するローカルの Python ファイルを定義し、以下に示すように手動でインスタンス化します。

Copied!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 from transforms.api import transform, Input, Output from transforms.sidecar import sidecar, Volume # ここでは、`myproject` フォルダーの下に Python クラス testAdapter.py を作成し、palantir_models の ModelAdapter クラスを実装する TestModelAdapter クラスを定義したことを前提としています。 from myproject.testAdapter import TestModelAdapter import palantir_models.transforms @sidecar(image='image-name', tag='1.0.0', volumes=[Volume("shared")]) @transform( output=Output("ri.foundry.main.dataset.<RID>"), source_df=Input("ri.foundry.main.dataset.<RID>"), ) def compute(source_df, output): testingEntrypoint = TestModelAdapter( "/opt/palantir/sidecars/shared-volumes/shared", # ここのポートは、使用するイメージがリッスンしているポートに合わせる必要があることに注意してください。 "localhost:PORT") testingEntrypoint.transform_write(source_df, output)

3. モデルバージョンを設定する

モデルバージョンの構成ページで、そのモデルバージョンに含めるコンテナイメージを1つ以上選択します。次へを選択して、モデルバージョンの設定に進みます。

モデルバージョン作成ダイアログの最初のページ

モデルの構成ダイアログのモデルの詳細ページで、セマンティックバージョンの変更の種類を設定します。次に、任意の説明と設定ファイルを追加し、作成したアダプターを選択します。Model Adapter 設定セクションでモデルアダプターリポジトリを選択すると、Model Adapter を選択ドロップダウンに、そのリポジトリで定義された有効なアダプターの最新バージョンが表示されます。

モデルバージョン作成ダイアログの2ページ目

最後に、各イメージについて、メモリーの制約、引数、環境変数、新しい exec コマンドなど、任意の実行時情報を設定します。アダプターで requests ライブラリを使用している場合は、イメージが待ち受けているポートを指定することが重要です。モデルバージョン用に選択した各イメージの実行時情報を設定できます。

モデルは、テレメトリログを生成するように設定できます。コンテナがテレメトリをサポートしている場合は、以下のスクリーンショットに示すステップで、モデルバージョンのテレメトリを有効にできます。

モデルバージョン作成ダイアログの3ページ目

4. モデルバージョンを表示する

モデルバージョンが作成されると、そのメタデータがモデルページのモデルの概要タブに表示されます。このタブでは、左側のパネルを使用して過去のバージョンを表示し、移動できます。

このページから、右上の + アイコンまたはアクションドロップダウンを使用して、モデリング目標に送信できます。また、モデルを Python トランスフォームへの入力として使用することもできます。モデルがコンテナを基盤としている場合は、ModelInput クラスの2番目の任意引数を指定し、トランスフォームで使用するバージョン RID を選択する必要があります。また、トランスフォームリポジトリにモデルアダプターへの依存関係を追加する必要もあります。以下に例を示します。

Copied!
1 2 3 4 5 6 7 8 9 10 11 12 13 from transforms.api import transform, Input, Output from palantir_models.transforms import ModelInput @transform( output=Output("/path/to/output/output_dataset"), model=ModelInput( "ri.models.main.model.<RID>", "ri.models.main.model-version.<RID>"), source_df=Input("/path/to/input/input_dataset"), ) def compute(model, source_df, output): model.transform_write(source_df, output)