runtime.yamlファイル
score.py
に加えて、runtime.yaml
ファイルがモデル・アーティファクトに存在する必要があります。
runtime.yaml
の目的は次のとおりです:
モデル・デプロイメントに必要なランタイムconda環境参照を提供すること。これは、データ・サイエンス・サービスのモデル・デプロイメント機能を使用してモデルをデプロイするために必要です。
runtime.yaml
ファイルを含む様々なモデル・カタログの例が提供されています。
次に、runtime.yaml
の各フィールドについて説明します。モデル・アーティファクトの構造が変更されると、このファイルもバージョンも変わります。次に示すのは、現在のMODEL_ARTIFACT_VERSION (3.0)
のフィールドです。
フィールド | 説明 |
---|---|
|
このアーティファクト形式のバージョン。このバージョンは3.0です。モデルがノートブック・セッションに保存されると、ADSによって自動的に抽出されます。 |
|
デプロイメントおよびスコアリングに使用するconda環境のスラグ。通常、推測環境は、トレーニング環境と同じですが、そうである必要はありません。たとえば、1つのcda環境でモデルをトレーニングし、ONXモデルとしてシリアル化してから、ONX conda環境を使用してデプロイできます。 |
|
デプロイメントおよびスコアリングに使用するconda環境のタイプ。使用可能な値は、 |
|
デプロイメントおよびスコアリングの目的で使用するconda環境のオブジェクト・ストレージ上のパス。パスは、 |
|
モデル・デプロイメントに使用するconda環境のPythonのバージョン。サポートされているPythonのバージョンは、 |
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
に加えて、モデルを実行するために必要なファイルをアーティファクトに含めることができます。これには次のようなものがあります:
-
エスティメータ・オブジェクトをシリアライズしたもの。たとえば、
onnx
、pkl
、hdf5
または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です。