注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。
Palantir では、プラットフォーム外で生成された重みをラップするモデルを作成できます。これらのファイルには、オープンソースのモデルの重み、ローカル開発環境で訓練されたモデル、Code Workspaces アプリケーションで訓練されたモデル、レガシーシステムのモデルの重みを含めることができます。
Palantir モデルを作成すると、Palantir で次の機能を利用できます。
モデルファイルからモデルを作成するには、次のものが必要です。
まず、モデルファイルを Palantir プラットフォームの非構造化データセットにアップロードします。プロジェクトで +新規 > データセットを選択して、新しいデータセットを作成します。

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


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

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

非構造化データセット内のモデルファイルを Palantir モデルとして公開するには、次の処理を行うトランスフォームを作成する必要があります。
モデルの読み込みと公開のロジックは、リポジトリ内の 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 37from 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 オブジェクトにするメソッドが用意されている場合があります。

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