Warning

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

モデルアダプターの概要

モデルアダプターは、Foundryが任意のモデルと相互運用できるようにする一般化されたフレームワークです。モデルアダプターは、モデル を構成する2つのコンポーネントのうちの1つです。

  • モデル作成物: 訓練済みモデルが保存されているモデルファイル、パラメーター、重み、コンテナ、または資格情報。
  • モデルアダプター: Foundryがモデル作成物と対話してモデルをロード、初期化、推論するために必要なロジックと環境依存性。

モデルアダプターにより、Foundryは以下のものと相互運用可能になります。

  1. Foundryで訓練されたモデル
  2. Foundryの外部で訓練されたモデルファイル
  3. Foundryの外部でコンテナ化され、FoundryのDockerレジストリにプッシュされたモデル
  4. Foundryの外部で訓練およびホスティングされたモデル

アダプターコンポーネント

Palantirは、すべてのモデルと同じ方法で対話します。それは、そのモデルバージョンのモデルアダプタークラスを介して行います。

初期化

モデルは一度作成され、プラットフォーム内の複数の場所で使用できるため、アダプターは重みまたは基礎となるコンテナからモデルのインスタンスを初期化する方法を認識する必要があります。

プラットフォーム内で訓練された重みに対しては、ユーザーは @auto_serialize アノテーションを使用して、ほとんどのモデルタイプで動作するはずの組み込みのシリアライザーを活用する必要があります。シリアライゼーション/デシリアライゼーションのロジックを明示的に指定する必要がある高度なケースでは、次を参照してください:load() および _save() メソッド

コンテナと外部モデルについては、アダプターは init_container()、または init_external() メソッドを使用して初期化され、これにより推論に使用できます。これらのモデルタイプの両方に対して、モデルが初期化されるときに load() メソッドも呼び出されますが、それから init_container() または init_external() がバックグラウンドで呼び出されます。これにより、これらのモデルタイプに関連するコンテキストのみがモデルインスタンスに提供されます(例:ContainerizedApplicationContextExternalModelContext)。init_container() または init_external() の使用の代わりに、ユーザーは load() メソッドを上書きして、これらのモデルがどのように初期化されるべきかを定義できます。

API

各アダプターは、APIの説明を宣言する必要があります。この説明には、予想される入力、出力、列名、型が含まれ、これによりプラットフォームは、モデル消費パターンの多様性に対応する他のアプリケーションとの統合を可能にします。

サポートされる型とAPI定義の例については、APIリファレンス を参照してください。

推論

初期化された後、アダプターはバッチまたはインタラクティブなワークロードの推論に使用できます。推論ロジックは predict() メソッドの一部として定義する必要があります。

プラットフォームは提供された API 定義を使用して、定義された名前と型で predict() メソッドを呼び出し、推論を実行できます。

モデルアダプターのライフサイクル

モデルアダプターの作成についての詳細情報は、モデルアダプターの作成 のドキュメンテーションを参照してください。また、モデルアダプターリファレンスページ でPython APIの詳細を参照することもできます。