モデルの接続と開発モデリングプロジェクトの管理直接モデルデプロイの作成

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

直接モデルデプロイを作成する

直接モデルデプロイは、モデルを Workshop や Slate などのユーザーアプリケーションに即座に接続する、ライブのホスト型エンドポイントです。直接モデルデプロイには、TypeScript でモデル上の関数を通じて、または外部システムから REST API 呼び出しを通じてクエリを実行します。

以降のセクションでは、直接モデルデプロイを作成、設定、公開する方法を説明し、はじめる前に確認しておくべきデバッグ手順と機能に関する考慮事項を紹介します。

グローバルブランチ上で直接モデルデプロイの設定を変更してテストするには、直接モデルデプロイのブランチ管理を参照してください。

1. 直接モデルデプロイを作成する

直接モデルデプロイを作成して開始するには、モデルに移動し、ライブデプロイを選択します。概要タブで、デプロイを開始を選択します。デプロイが実行中になったら、ライブ展開のクエリを展開し、入力を指定して、実行を選択してテストします。

モデルで新しい直接モデルデプロイを作成します。

2. 直接モデルデプロイを設定する

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

モデルで直接モデルデプロイを設定します。

3. デプロイ用の関数を公開する

モデル用の関数を公開すると、Workshop、Vertex、その他のエンドユーザーアプリケーションで、モデルをライブ推論に使用できます。

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

モデルから直接モデルデプロイ用の関数を公開します。

関数の動作、バージョンアップグレード、設定オプションの詳細については、モデル関数開発者ガイドを参照してください。

グローバルブランチ上でモデル関数を公開してテストするには、直接モデルデプロイ関数を参照してください。

モデルを、その直接デプロイおよび公開済み関数とともに配布するには、それらを Marketplace 製品にパッケージ化します。Marketplace はモデルのデフォルトブランチ上のデプロイをサポートしており、インストール担当者はデプロイを自動的に開始するかどうかを選択できます。

自動アップグレード

モデルのブランチごとに、1個の直接モデルデプロイを作成できます。そのブランチに新しいモデルバージョンが公開されると、直接モデルデプロイはダウンタイムなしで新しいエンドポイントに自動的にアップグレードされます。自動アップグレードを望まない場合は、Modeling Objective ライブデプロイの使用を検討し、以下で説明するライブデプロイと直接デプロイの違いを確認してください。デプロイ用の関数が作成されている場合は、新しいバージョンが自動的に作成されます。

Marketplace インストールの出力のままであるモデルでは、デフォルトブランチに新しいモデルバージョンを公開すると、関数バージョンは自動的に公開されず、デプロイが更新されます。Marketplace は、インストールおよび製品アップグレード時に関数の公開を管理します。

自動水平スケーリング

直接モデルデプロイは Compute Module に基づいているため、前述のとおり、ユーザーが指定した最小レプリカ数と最大レプリカ数の範囲内での自動水平スケーリングをサポートします。Modeling Objective ライブデプロイも、リソース設定のセクションで説明するとおり、最小レプリカ数と最大レプリカ数の範囲を設定し、リクエスト量に基づいて自動的にスケールすることをサポートしています。

スケジュールオーバーライドを設定する

週の特定の曜日と時間帯に、最小および最大レプリカ数の設定をオーバーライドするスケジュールを設定できます。これは、営業時間中のトラフィック増加や週末の負荷低下など、予測可能な変化が見込まれる場合に役立ちます。

スケジュールオーバーライドを設定するには、次の手順に従います。

  1. 直接モデルデプロイに移動し、ライブデプロイを選択してから、設定を選択します。
  2. スケーリングセクションで、スケジュールオーバーライドを有効にするをオンにすると、スケジュールオーバーライドの設定が表示されます。

    スケーリングセクションでスケジュールオーバーライドを設定します。

  3. オーバーライドについて、次の設定を行います。
    • 最小レプリカ数をオーバーライド: スケジュールされた期間中の最小レプリカ数。
    • 最大レプリカ数をオーバーライド: スケジュールされた期間中の最大レプリカ数。
    • アクティブ: オーバーライドが適用される曜日。
    • 期間: オーバーライドの開始時刻と終了時刻、およびタイムゾーン。
  4. 更新を選択して変更を保存します。

設定された期間外では、デフォルトのレプリカ設定が適用されます。現在、スケジュールできるオーバーライドは1個のみです。

モデル API の型安全性

直接モデルデプロイは、モデル API のデータ型が入力のデータ型と一致するように、すべての推論リクエストに対して型安全性を強制します。型安全性はすべての入力データ型で維持され、特に以下のように動作します。

  • 数値: モデルの API が int 型として定義されていて、3.6という値がモデルに渡された場合、0.6は切り詰められ、入力は3になります。
  • 日付とタイムスタンプ: 直接モデルデプロイは、predict() メソッドに渡す前に日付型とタイムスタンプ型をキャストします。タイムスタンプフィールドには、現在、ISO 8601 形式の文字列が必要です。
  • API 構造の強制: 直接モデルデプロイは、モデル API で必須と指定されたフィールドを明示的に要求します。

モデルの型安全性は、現在型キャストをサポートしていない Modeling Objective ライブデプロイとは異なります。

直接モデルデプロイをデバッグする

ログ、メトリクス、クエリプロファイリングを使用して、直接モデルデプロイをデバッグします。

ログと実行履歴を表示する

ライブデプロイのログタブで、デプロイのログをストリーミング、絞り込み、ダウンロードできます。過去の推論リクエストの実行履歴も確認できます。

直接モデルデプロイのログと実行履歴を表示します。

メトリクスを表示する

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

直接モデルデプロイのメトリクスを表示します。

クエリをデバッグする

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

コンテナモデルおよびエラーを返すリクエストでは、フレームグラフを利用できません。

フレームグラフを使用して直接モデルデプロイのクエリをデバッグします。

直接モデルデプロイを監視する

監視ビューを使用して、直接モデルデプロイを監視できます。直接モデルデプロイは、単一スコープをサポートするライブデプロイリソースタイプで監視されます。

7個のライブデプロイルールが利用可能で、ハートビート、レプリカのプロビジョニング、ジョブキューの深さ、CPU 使用率、メモリー不足による再起動、レプリカの応答性を対象としています。

Workflow Lineage でモデルの使用状況を探索する

モデルがどこで使用されているかを把握するには、モデルから Workflow Lineage で開くを選択するか、Cmd+I (macOS) または Ctrl+I (Windows) を使用します。モデルは Workflow Lineage に学習済みモデルノードとして表示されます。ここでは、関数の依存関係の確認、モデル API の確認、ライブデプロイへのクエリの実行、デプロイの健全性、ログ、メトリクスへのアクセスができます。

比較:直接モデルデプロイと Modeling Objective のライブデプロイ

直接モデルデプロイで利用可能な機能は、Modeling Objective のライブデプロイの機能とは異なります。詳細は、以下のテーブルを参照してください。

機能直接モデルデプロイModeling Objective のライブデプロイ
自動アップグレードはいいいえ
自動スケーリングはいはい
型安全性はいいいえ
スケジュールされたオーバーライドはいいいえ
サポートされているエンドポイントはい(V2 のみ)はい(V1 と V2 の両方)
モデルの推論履歴いいえはい
リリース前レビューいいえはい
モデルの自動評価いいえはい
Code Repositories での学習はいはい
Code Workspaces での学習はいはい
コンテナイメージのサポートはいはい
外部でホストされているモデルのサポートいいえはい
Spark モデルアダプター API タイプいいえはい
Marketplace のサポートいいえいいえ