Die Datei runtime.yaml

Zusätzlich zu score.py muss auch die Datei runtime.yaml in einem Modellartefakt vorhanden sein.

Zweck von runtime.yaml:

Bereitstellen der erforderlichen Laufzeit-Conda-Umgebungsreferenz für Modell-Deployment-Zwecke. Dies ist erforderlich, um ein Modell mit dem Modell-Deployment-Feature des Data Science-Service bereitzustellen.

Wir haben verschiedene Modellkatalogbeispiele bereitgestellt, darunter runtime.yaml-Dateien.

Im Folgenden finden Sie eine Beschreibung der einzelnen Felder in runtime.yaml. Bei Änderungen der Modellartefaktstruktur ändert sich auch diese Datei, ebenso wie die Version. Felder für die aktuelle Version MODEL_ARTIFACT_VERSION (3.0):

Feld Beschreibung

MODEL_ARTIFACT_VERSION

Die Version dieses Artefaktformats. Diese Version lautet 3.0. Sie wird automatisch von ADS extrahiert, wenn das Modell in einer Notizbuchsession gespeichert wird.

MODEL_DEPLOYMENT.INFERENCE_CONDA_ENV.INFERENCE_ENV_SLUG

Der Slug der Conda-Umgebung, die Sie für Deployment- und Scoringzwecke verwenden möchten. Normalerweise ist die Inferenzumgebung die gleiche wie die Trainingsumgebung, die nicht der Fall sein muss. Beispiel: Sie können ein Modell in einer Conda-Umgebung trainieren, als ONNX-Modell serialisieren und dann mit einer ONNX-Conda-Umgebung bereitstellen.

MODEL_DEPLOYMENT.INFERENCE_CONDA_ENV.INFERENCE_ENV_TYPE

Der Typ der Conda-Umgebung, die Sie für Deployment- und Scoringzwecke verwenden möchten. Zwei mögliche Werte: data_science oder published.

MODEL_DEPLOYMENT.INFERENCE_CONDA_ENV.INFERENCE_ENV_PATH

Der Objektspeicherpfad der Conda-Umgebung, die Sie für Deployment- und Scoringzwecke verwenden möchten. Der Pfad folgt der Syntax oci://<bucket-name>@<namespace>/<file-path>.

MODEL_DEPLOYMENT.INFERENCE_CONDA_ENV.INFERENCE_PYTHON_VERSION

Die Python-Version der Conda-Umgebung, die Sie für das Modell-Deployment verwenden möchten. Die unterstützten Python-Versionen sind 3.7, 3.8, 3.9, 3.10 und 3.11.

runtime.yaml-Schema

{
    "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"}
                    }
                }
            }
        }
    }
 
}

Beispieldatei für ein Modell-Deployment

runtime.yaml-Beispieldatei für eine Data Science-Modell-Deployment-Ressource:

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'

Andere Artefaktdateien

Zusätzlich zu score.py und runtime.yaml können Sie weitere Dateien aufnehmen, die zum Ausführen des Modells erforderlich sind. Dazu können die folgenden Dateien gehören:

  • Eine serialisierte Darstellung Ihres Schätzerobjekts. Beispiel: onnx, pkl, hdf5 oder json.

  • Eine CSV-Datei, eine Lookup-Datentabelle usw.

  • Zusätzliche Python-Module, die in score.py importiert werden.
    Wichtig

    Zusätzliche Python-Module, die in score.py importiert werden. Jeder Code, der für Inferenz verwendet wird, muss auf derselben Ebene wie score.py oder einer Ebene darunter komprimiert werden. Wenn erforderliche Dateien auf Ordnerebenen über der Datei score.py vorhanden sind, werden sie ignoriert und können zu einem Deployment-Fehler führen.

Wenn Sie Ihr Modell mit der OCI-Konsole, der CLI oder den SDKs speichern, komprimieren Sie die Dateien einfach zusammen mit den Dateien score.py und runtime.yaml.

Wenn Sie das Modell mit ADS speichern, kopieren Sie alle Dateien in das Verzeichnis, in dem das Artefakt vorübergehend erstellt wird, bevor Sie das Modell im Katalog speichern. ADS komprimiert das gesamte Artefaktverzeichnis und sendet es an den Modellkatalog.

Hinweis

Das Artefakt unterstützt jetzt unkomprimierte Modelle mit bis zu 6 GB, wenn das Modell mit ADS, der CLI oder SDKs gespeichert wird. Bei Verwendung der OCI-Konsole beträgt der Grenzwert 100 MB.