注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。
Foundry の特定のモデルは、関数として直接公開することができます。このアプローチは モデル上の関数 に似ており、同じ利点を持っていますが、直接公開はモデルの運用化に向けてよりストリームライン化されたコードレスの方法を提供します。
直接公開をサポートするためには、モデルは以下の要件を満たす必要があります:
以下のモデル API は直接公開によりサポートされています:
Copied!1 2 3 4 5 6 7 8 9 10 11 12 13 14
def api(cls): # 入力パラメータを定義します。これらはモデルへの入力として使われます。 inputs = [ ModelInput.Parameter(name="sepal_length", type=float), # がくの長さ ModelInput.Parameter(name="sepal_width", type=float), # がくの幅 ModelInput.Parameter(name="petal_length", type=float), # 花弁の長さ ModelInput.Parameter(name="petal_width", type=float), # 花弁の幅 ] # 出力パラメータを定義します。これはモデルの予測結果を示します。 outputs = [ ModelOutput.Parameter(name="prediction", type=str) # 予測結果 ] # 入力と出力パラメータを使用してモデルAPIを作成して返します。 return ModelApi(inputs, outputs)
以下のモデル API は有効ですが、表形式の入力を受け取り、複数の出力を返すため、関数として直接公開することはできません:
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
def api(cls): # 入力データの定義 inputs = [ # table_1という名前のTabular型の入力データ # DFType.PANDASは入力データの形式がPandas DataFrameであることを示す # columnsパラメータには、必要な列の名前とその型を指定する ModelInput.Tabular( name="table_1", df_type=DFType.PANDAS, columns=[ModelApiColumn(name="text", type=str, required=True)], ), # 同様に、table_2という名前のTabular型の入力データ ModelInput.Tabular( name="table_2", df_type=DFType.PANDAS, columns=[ModelApiColumn(name="text", type=str, required=True)], ), # suffixという名前のパラメータ。必須ではない ModelInput.Parameter(name="suffix", type=str, required=False), ] # 出力データの定義 outputs = [ # table_1_outという名前のTabular型の出力データ ModelOutput.Tabular(name="table_1_out", columns=[]), # table_2_outという名前のTabular型の出力データ ModelOutput.Tabular(name="table_2_out", columns=[]), ] # ModelApiオブジェクトを生成し、入力データと出力データを設定する return ModelApi(inputs, outputs)
モデル API が直接公開できない場合は、モデル上の関数を使用してください。
対応するモデルを関数として公開するには、まずライブデプロイメントを作成する必要があります。モデルが実行されている状態になったら、デプロイメントの 詳細ページに移動します。ここから、関数を公開カードが表示されます。
関数を公開ボタンを選択します。これにより、関数のパラメーター設定プロセスが開始されます。
関数が公開されると、関数を公開カードには、ライブデプロイメントをバックアップしている関数が表示されます。すべての関数と同様に、オントロジーマネージャで公開した関数を表示し、デプロイメントに関する健康情報も利用できます。
目標は1つの関数しか生成できないことに注意してください。ただし、必要に応じて、同じ関数の新しいバージョンを公開することができます。
モデルが再トレーニングされたり、デプロイメントの API が変更されたりすると、新しい関数バージョンを公開する必要がある場合があります。以下は、新しい関数バージョンをいつどのように公開するかの例です。
モデルの API が変更されずにモデルが再トレーニングされる場合、新しい関数バージョンを公開する必要はありません。現在のバージョンは引き続きデプロイメントを指すままです。ただし、新しい関数バージョンを公開することを選択した場合、古い関数バージョンは引き続き機能します。
異なるモデル API を持つ新しいモデルをライブデプロイメントにリリースしようとすると、次の警告が表示されます。
この警告を無視しないでください。異なるモデル API の新しいモデルにライブデプロイメントを更新すると、下流の使用を修正するために手動でアクションが必要になります。ダイアログでは、リリースによって影響を受けるすべてのデプロイメントに対して新しい関数バージョンを公開するプロセスを説明します。
現在の関数バージョンの使用がすべて失敗し、新しい関数バージョンを公開しない場合があります。この問題を解決するには、デプロイメントの 詳細 ページに戻り、そこから新しい関数バージョンを公開します。