O Arquivo runtime.yaml

O arquivo runtime.yaml define a configuração de runtime necessária para implantar um modelo usando o recurso Implantação de Modelo do serviço Data Science.

Um artefato de modelo deve incluir ambos:

  • score.py
  • runtime.yaml

O arquivo runtime.yaml especifica o ambiente Conda usado durante a inferência, garantindo que o modelo implantado seja executado com as dependências de runtime corretas.

Vários exemplos de Catálogo de Modelos incluem arquivos runtime.yaml de amostra.

Fornecemos vários exemplos de catálogo de modelos que incluem arquivos runtime.yaml.

Campos Suportados

A seguir estão os campos suportados no runtime.yaml.

À medida que a estrutura de artefato de modelo evolui, o esquema runtime.yaml também pode ser alterado. Os campos suportados correspondem ao MODEL_ARTIFACT_VERSION (3.0) atual.

Importante

Além disso, certifique-se de que o INFERENCE_PYTHON_VERSION e o INFERENCE_ENV_PATH sejam compatíveis entre si para evitar erros de implantação.
Campo Obrigatório Descrição
MODEL_ARTIFACT_VERSION Sim A versão desse formato de artefato. Essa versão é 3.0. Isso é extraído automaticamente pelo ADS quando o modelo é salvo em uma sessão de notebook.
MODEL_DEPLOYMENT.INFERENCE_CONDA_ENV.INFERENCE_ENV_SLUG Sim O slug do ambiente conda que deseja usar para fins de implantação e pontuação. Normalmente, o ambiente de inferência é o mesmo que o ambiente de treinamento pensado que não precisa ser o caso. Por exemplo, você pode treinar um modelo em um ambiente conda, serializá-lo como modelo ML geral e, em seguida, usar um ambiente conda ML geral para implantá-lo.
MODEL_DEPLOYMENT.INFERENCE_CONDA_ENV.INFERENCE_ENV_TYPE Sim O tipo de ambiente conda que você deseja usar para fins de implantação e pontuação. Dois valores possíveis, data_science ou published.
MODEL_DEPLOYMENT.INFERENCE_CONDA_ENV.INFERENCE_ENV_PATH Sim

O caminho no Armazenamento de Objetos do ambiente conda que deseja usar para fins de implantação e pontuação. O caminho usa a seguinte sintaxe: oci://<bucket-name>@<namespace>/<file-path>

Observação: Se os campos de ambiente Conda de inferência não forem especificados, o serviço retornará automaticamente a um ambiente Conda padrão gerenciado pela equipe de serviço.

O runtime INFERENCE_ENV_PATH padrão usa o seguinte:

AMD (x86_64):service_pack/cpu/General_Machine_Learning_for_CPUs_on_Python_3.12/1.0/generalml_p312_cpu_x86_64_v1

ARM (aarch64):service_pack/cpu/ARM_Pack_for_Machine_Learning_on_Python_3.12/1.0/armml_p312_cpu_aarch64_v1

** Fallback to default setting may lead to deployment failure **

MODEL_DEPLOYMENT.INFERENCE_CONDA_ENV.INFERENCE_PYTHON_VERSION Sim

A versão do Python do ambiente conda que deseja usar para implantação de modelo.

As versões do Python suportadas são 3.10, 3.11 e 3.12.

Observação: Se o campo INFERENCE_PYTHON_VERSION não for especificado, o serviço retornará automaticamente a uma versão padrão do Python gerenciada pela equipe de serviço.

O runtime INFERENCE_PYTHON_VERSION padrão usa Python 3.12.

** Fallback to default setting may lead to deployment failure **

Requisitos padrão de comportamento e compatibilidade

Se um ou mais campos de ambiente Conda de inferência não forem especificados, o serviço retornará a um runtime padrão gerenciado pelo serviço.

Valores padrão INFERENCE_ENV_PATH:

  • AMD (x86_64): service_pack/cpu/General_Machine_Learning_for_CPUs_on_Python_3.12/1.0/generalml_p312_cpu_x86_64_v1
  • ARM (aarch64): service_pack/cpu/ARM_Pack_for_Machine_Learning_on_Python_3.12/1.0/armml_p312_cpu_aarch64_v1

O padrão INFERENCE_PYTHON_VERSION é Python 3.12.

O fallback para definições padrão ainda pode causar falha na criação da implantação do modelo. Certifique-se de que INFERENCE_ENV_PATH e INFERENCE_PYTHON_VERSION façam referência a versões de ambiente compatíveis.

Esquema

A seguir está o esquema do arquivo 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"}
                    },
                    "required": [
                        "INFERENCE_ENV_SLUG",
                        "INFERENCE_ENV_TYPE",
                        "INFERENCE_ENV_PATH",
                        "INFERENCE_PYTHON_VERSION"
                    ]
                }
            }
        }
    } 
}

Exemplo de Arquivo para Implantação de Modelo

Veja a seguir um arquivo de exemplo runtime.yaml para um recurso da implantação do modelo do serviço Data Science:

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.12'

Outros Arquivos de Artefato

Além de score.py e runtime.yaml, você pode incluir mais arquivos necessários para executar seu modelo no seu artefato. Isso pode incluir:

  • Uma representação serializada do objeto estimador. Por exemplo, onnx, pkl, hdf5 ou json.

  • Um arquivo CSV, uma tabela de dados de lookup etc.

  • Módulos Python extras que são importados em score.py.
    Importante

    Para módulos Python extras importados em score.py, execute zip qualquer código usado para inferência no mesmo nível que score.py (ou em um diretório filho). Se algum dos arquivos necessários estiver presente em níveis de diretório superiores ao arquivo score.py, eles serão ignorados e poderão resultar em falha de implantação.

Se você quiser salvar seu modelo usando a Console, a CLI ou SDKs do Oracle Cloud, basta compactar os arquivos com os arquivos score.py e runtime.yaml.

Se você estiver usando o ADS para salvar seu modelo, copie todos os arquivos no diretório em que o artefato foi criado temporariamente antes de salvar o modelo no catálogo. O ADS compacta o diretório de artefatos inteiro e o envia para o catálogo de modelos.

Observação

O artefato agora suporta modelos descompactados de até 6 GB quando o modelo é salvo usando ADS, a CLI ou SDKs. O limite é de 100 MB ao usar a Console do Oracle Cloud.