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

事前訓練済みファイルからモデルを公開する

Palantir では、プラットフォーム外で生成された重みをラップするモデルを作成できます。これらのファイルには、オープンソースのモデルの重み、ローカル開発環境で訓練されたモデル、Code Workspaces アプリケーションで訓練されたモデル、レガシーシステムのモデルの重みを含めることができます。

Palantir モデルを作成すると、Palantir で次の機能を利用できます。

  • バッチパイプラインおよびリアルタイムのモデルホスティングとの統合。
  • 完全なバージョン管理、きめ細かな権限管理、ガバナンスが適用されたモデルリネージ。
  • Modeling Objectives によるモデル管理とライブデプロイ。
  • オントロジーへのバインド。これにより、モデル上の関数による業務への適用や What-if シナリオ分析が可能になります。

モデルファイルからモデルを作成する

モデルファイルからモデルを作成するには、次のものが必要です。

  • Palantir にアップロードできるモデルファイル
  • モデルを読み込み、そのモデルで推論を実行する方法を Palantir に伝えるモデルアダプター

1. モデルファイルを非構造化データセットにアップロードする

まず、モデルファイルを Palantir プラットフォームの非構造化データセットにアップロードします。プロジェクトで +新規 > データセットを選択して、新しいデータセットを作成します。

プロジェクトから新しい非構造化データセットを作成します。

次に、新しいデータをインポートを選択し、モデルにアップロードするファイルをコンピューターから選択します。

画面中央で「新しいデータをインポート」を選択します。

新しい非構造化データセット用のファイルをコンピューターから選択します。

必要に応じて、さまざまなファイルを同じデータセットにアップロードできます。このデータセットは非構造化であり、表形式のスキーマを持ちません。

モデルファイルが非構造化データセットに正常にアップロードされました。

2. モデルアダプターのロジックを定義するためのモデル訓練リポジトリを作成する

非構造化データセットからモデルファイルを読み取るロジックを管理する新しいコードリポジトリを作成します。このロジックは、ファイルをモデルアダプターでラップし、モデルとして公開します。Code Repositories アプリケーションで、モデル訓練の言語テンプレートを使用してモデル統合リポジトリを初期化するよう選択します。

詳しくは、モデル訓練テンプレートおよびモデルアダプター API のドキュメントを参照してください。

Code Repositories アプリケーションのリポジトリ初期化ページ。

3. 重みをモデルとして公開する

非構造化データセット内のモデルファイルを Palantir モデルとして公開するには、次の処理を行うトランスフォームを作成する必要があります。

  1. 非構造化データセットから保存済みモデルファイルを読み込み、適切な Python オブジェクトにします
  2. 読み込んだ Python オブジェクトを使用してモデルアダプターをインスタンス化します
  3. モデルアダプターをモデルリソースとして公開します

モデルの読み込みと公開のロジックは、リポジトリ内の model_training フォルダーに配置できます。

詳細については、次のドキュメントを確認することを推奨します。

モデル訓練のロジックを定義したら、Build を選択してロジックを実行し、モデルファイルを読み取ってモデルを公開します。

Copied!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 from transforms.api import transform, Input from palantir_models.transforms import ModelOutput, copy_model_to_driver import palantir_models as pm import os import pickle @transform( model_files=Input("<Model Files Dataset>"), model_output=ModelOutput("<Your Model Path>") ) def compute(model_files, model_output): # データセットのすべてのファイルがドライバーにコピーされます model_files_path = copy_model_to_driver(model_files.filesystem()) # たとえば、モデルが pickle ファイルに保存されている場合は、pickle を使って読み込みます with open(os.path.join(model_files_path, "model.pkl"), 'rb') as file: model = pickle.load(file) wrapped_model = ExampleModelAdapter(model) model_output.publish( model_adapter=wrapped_model ) class ExampleModelAdapter(pm.ModelAdapter): @pm.auto_serialize def __init__(self, model): self.model = model @classmethod def api(cls): pass # このモデルの API を実装します def predict(self, df_in): pass # 推論ロジックを実装します

同じファイル読み込みロジックは、ほとんどのほかのケースにも適用されます。PyTorch や TensorFlow などのライブラリには、シリアライズされたファイルを読み取って Python オブジェクトにするメソッドが用意されている場合があります。

コードリポジトリのモデル訓練ロジックをビルドする準備が整いました。

4. 公開済みモデルを利用する

モデルを正常に公開したら、そのモデルを推論に利用できます。手順については、次のドキュメントを参照してください。