runtime.yamlファイル

score.pyに加えて、runtime.yamlファイルがモデル・アーティファクトに存在する必要があります。

runtime.yamlの目的は次のとおりです:

モデル・デプロイメントに必要なランタイムconda環境参照を提供すること。これは、データ・サイエンス・サービスのモデル・デプロイメント機能を使用してモデルをデプロイするために必要です。

runtime.yamlファイルを含む様々なモデル・カタログの例が提供されています。

次に、runtime.yamlの各フィールドについて説明します。モデル・アーティファクトの構造が変更されると、このファイルもバージョンも変わります。次に示すのは、現在のMODEL_ARTIFACT_VERSION (3.0)のフィールドです。

フィールド 説明

MODEL_ARTIFACT_VERSION

このアーティファクト形式のバージョン。このバージョンは3.0です。モデルがノートブック・セッションに保存されると、ADSによって自動的に抽出されます。

MODEL_DEPLOYMENT.INFERENCE_CONDA_ENV.INFERENCE_ENV_SLUG

デプロイメントおよびスコアリングに使用するconda環境のスラグ。通常、推測環境は、トレーニング環境と同じですが、そうである必要はありません。たとえば、1つのcda環境でモデルをトレーニングし、ONXモデルとしてシリアル化してから、ONX conda環境を使用してデプロイできます。

MODEL_DEPLOYMENT.INFERENCE_CONDA_ENV.INFERENCE_ENV_TYPE

デプロイメントおよびスコアリングに使用するconda環境のタイプ。使用可能な値は、data_scienceまたはpublishedです。

MODEL_DEPLOYMENT.INFERENCE_CONDA_ENV.INFERENCE_ENV_PATH

デプロイメントおよびスコアリングの目的で使用するconda環境のオブジェクト・ストレージ上のパス。パスは、oci://<bucket-name>@<namespace>/<file-path>という構文に従います。

MODEL_DEPLOYMENT.INFERENCE_CONDA_ENV.INFERENCE_PYTHON_VERSION

モデル・デプロイメントに使用するconda環境のPythonのバージョン。サポートされているPythonのバージョンは、3.73.83.93.10および3.11です。

runtime.yamlスキーマ

{
    "title": "Model Artifact schema",
    "type": "object",
    "properties": {
        "MODEL_ARTIFACT_VERSION": {"type":"string"},
        "MODEL_DEPLOYMENT": {
            "type": "object",
            "title": "Model Deployment",
            "properties": {
                "INFERENCE_CONDA_ENV": {
                    "type": "object",
                    "title": "Inference Conda Env",
                    "properties": {
                        "INFERENCE_ENV_SLUG": {"type":"string"},
                        "INFERENCE_ENV_TYPE": {"type":"string", "enum": ["published", "data_science"]},
                        "INFERENCE_ENV_PATH": {"type":"string"},
                        "INFERENCE_PYTHON_VERSION": {"type":"string"}
                    }
                }
            }
        }
    }
 
}

モデル・デプロイメントのサンプル・ファイル

データ・サイエンス・モデル・デプロイメント・リソースのruntime.yamlファイルの例を次に示します:

MODEL_ARTIFACT_VERSION: '3.0'
MODEL_DEPLOYMENT:
  INFERENCE_CONDA_ENV:
    INFERENCE_ENV_SLUG: envslug
    INFERENCE_ENV_TYPE: published
    INFERENCE_ENV_PATH: oci://<bucket-name>@<namespace>/<prefix>/<env>.tar.gz
    INFERENCE_PYTHON_VERSION: '3.7'

その他のアーティファクト・ファイル

score.pyおよびruntime.yamlに加えて、モデルを実行するために必要なファイルをアーティファクトに含めることができます。これには次のようなものがあります:

  • エスティメータ・オブジェクトをシリアライズしたもの。たとえば、onnxpklhdf5またはjsonです。

  • CSVファイル、参照データ表など。

  • score.pyでインポートされる追加のPythonモジュール。
    重要

    score.pyでインポートされる追加のPythonモジュール。推論に使用されるコードは、score.pyと同じレベルまたはその下のレベルで圧縮する必要があります。必要なファイルがscore.pyファイルより上のフォルダ・レベルにある場合、それらは無視され、デプロイメントが失敗する可能性があります。

OCIコンソール、CLIまたはSDKを使用してモデルを保存する場合は、score.pyおよびruntime.yamlファイルとともにファイルを圧縮します。

モデルの保存にADSを使用している場合は、モデルをカタログに保存する前に、アーティファクトが一時的に作成されるディレクトリですべてのファイルをコピーします。ADSはアーティファクト・ディレクトリ全体を圧縮し、モデル・カタログに送信します。

ノート

アーティファクトでは、ADS、CLIまたはSDKを使用してモデルを保存するときに、最大6 GBの非圧縮モデルがサポートされるようになりました。OCIコンソールを使用する場合、制限は100MBです。