注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。
直接モデルデプロイは、モデルを Workshop や Slate などのユーザーアプリケーションに即座に接続する、ライブのホスト型エンドポイントです。直接モデルデプロイには、TypeScript でモデル上の関数を通じて、または外部システムから REST API 呼び出しを通じてクエリを実行します。
以降のセクションでは、直接モデルデプロイを作成、設定、公開する方法を説明し、はじめる前に確認しておくべきデバッグ手順と機能に関する考慮事項を紹介します。
グローバルブランチ上で直接モデルデプロイの設定を変更してテストするには、直接モデルデプロイのブランチ管理を参照してください。
直接モデルデプロイを作成して開始するには、モデルに移動し、ライブデプロイを選択します。概要タブで、デプロイを開始を選択します。デプロイが実行中になったら、ライブ展開のクエリを展開し、入力を指定して、実行を選択してテストします。

直接モデルデプロイを設定するには、ライブデプロイから設定を選択します。スケーリング、リソース、環境変数、ソースを設定できます。直接モデルデプロイは、ゼロからスケールするように設定できます。デプロイが容量の75%に達すると、スケーリング設定で指定した最大レプリカ数に達するまで、追加のレプリカが作成されます。また、ライブリクエストがない状態が30分間続くと、デプロイを自動的にスケールダウンできます。更新を選択して変更を保存します。

モデル用の関数を公開すると、Workshop、Vertex、その他のエンドユーザーアプリケーションで、モデルをライブ推論に使用できます。
関数を公開するには、ライブデプロイを選択し、概要タブの関数セクションでカスタム関数作成を選択して、関数名を入力します。ブランチごとに1個の関数を登録できます。これにより、モデルと同じ入力および出力 API を持つラッパー関数が作成されます。この関数を関数リポジトリにインポートして呼び出すことで、カスタムのビジネスロジックを追加できます。

関数の動作、バージョンアップグレード、設定オプションの詳細については、モデル関数開発者ガイドを参照してください。
グローバルブランチ上でモデル関数を公開してテストするには、直接モデルデプロイ関数を参照してください。
モデルを、その直接デプロイおよび公開済み関数とともに配布するには、それらを Marketplace 製品にパッケージ化します。Marketplace はモデルのデフォルトブランチ上のデプロイをサポートしており、インストール担当者はデプロイを自動的に開始するかどうかを選択できます。
モデルのブランチごとに、1個の直接モデルデプロイを作成できます。そのブランチに新しいモデルバージョンが公開されると、直接モデルデプロイはダウンタイムなしで新しいエンドポイントに自動的にアップグレードされます。自動アップグレードを望まない場合は、Modeling Objective ライブデプロイの使用を検討し、以下で説明するライブデプロイと直接デプロイの違いを確認してください。デプロイ用の関数が作成されている場合は、新しいバージョンが自動的に作成されます。
Marketplace インストールの出力のままであるモデルでは、デフォルトブランチに新しいモデルバージョンを公開すると、関数バージョンは自動的に公開されず、デプロイが更新されます。Marketplace は、インストールおよび製品アップグレード時に関数の公開を管理します。
直接モデルデプロイは Compute Module に基づいているため、前述のとおり、ユーザーが指定した最小レプリカ数と最大レプリカ数の範囲内での自動水平スケーリングをサポートします。Modeling Objective ライブデプロイも、リソース設定のセクションで説明するとおり、最小レプリカ数と最大レプリカ数の範囲を設定し、リクエスト量に基づいて自動的にスケールすることをサポートしています。
週の特定の曜日と時間帯に、最小および最大レプリカ数の設定をオーバーライドするスケジュールを設定できます。これは、営業時間中のトラフィック増加や週末の負荷低下など、予測可能な変化が見込まれる場合に役立ちます。
スケジュールオーバーライドを設定するには、次の手順に従います。
設定された期間外では、デフォルトのレプリカ設定が適用されます。現在、スケジュールできるオーバーライドは1個のみです。
直接モデルデプロイは、モデル API のデータ型が入力のデータ型と一致するように、すべての推論リクエストに対して型安全性を強制します。型安全性はすべての入力データ型で維持され、特に以下のように動作します。
int 型として定義されていて、3.6という値がモデルに渡された場合、0.6は切り詰められ、入力は3になります。predict() メソッドに渡す前に日付型とタイムスタンプ型をキャストします。タイムスタンプフィールドには、現在、ISO 8601 形式の文字列が必要です。モデルの型安全性は、現在型キャストをサポートしていない Modeling Objective ライブデプロイとは異なります。
ログ、メトリクス、クエリプロファイリングを使用して、直接モデルデプロイをデバッグします。
ライブデプロイのログタブで、デプロイのログをストリーミング、絞り込み、ダウンロードできます。過去の推論リクエストの実行履歴も確認できます。

統計タブで、選択した期間のスケーリング、ジョブ、コンテナ、レプリカのメトリクスを表示できます。

推論リクエストをプロファイリングするには、ライブ展開のクエリを展開し、実行の横にあるドロップダウンを開いて、Flamegraph で実行を選択します。フレームグラフには、各 Python 関数にかかった時間が表示され、パフォーマンスのボトルネックを特定するのに役立ちます。
コンテナモデルおよびエラーを返すリクエストでは、フレームグラフを利用できません。

監視ビューを使用して、直接モデルデプロイを監視できます。直接モデルデプロイは、単一スコープをサポートするライブデプロイリソースタイプで監視されます。
7個のライブデプロイルールが利用可能で、ハートビート、レプリカのプロビジョニング、ジョブキューの深さ、CPU 使用率、メモリー不足による再起動、レプリカの応答性を対象としています。
モデルがどこで使用されているかを把握するには、モデルから Workflow Lineage で開くを選択するか、Cmd+I (macOS) または Ctrl+I (Windows) を使用します。モデルは Workflow Lineage に学習済みモデルノードとして表示されます。ここでは、関数の依存関係の確認、モデル API の確認、ライブデプロイへのクエリの実行、デプロイの健全性、ログ、メトリクスへのアクセスができます。
直接モデルデプロイで利用可能な機能は、Modeling Objective のライブデプロイの機能とは異なります。詳細は、以下のテーブルを参照してください。
| 機能 | 直接モデルデプロイ | Modeling Objective のライブデプロイ |
|---|---|---|
| 自動アップグレード | はい | いいえ |
| 自動スケーリング | はい | はい |
| 型安全性 | はい | いいえ |
| スケジュールされたオーバーライド | はい | いいえ |
| サポートされているエンドポイント | はい(V2 のみ) | はい(V1 と V2 の両方) |
| モデルの推論履歴 | いいえ | はい |
| リリース前レビュー | いいえ | はい |
| モデルの自動評価 | いいえ | はい |
| Code Repositories での学習 | はい | はい |
| Code Workspaces での学習 | はい | はい |
| コンテナイメージのサポート | はい | はい |
| 外部でホストされているモデルのサポート | いいえ | はい |
| Spark モデルアダプター API タイプ | いいえ | はい |
| Marketplace のサポート | いいえ | いいえ |