O Arquivo runtime.yaml

Além de score.py, o arquivo runtime.yaml deve estar em um artefato de modelo.

A finalidade do arquivo runtime.yaml é:

Fornecer a referência necessária de runtime do ambiente conda para fins de implantação de modelo. Isso é necessário para implantar um modelo usando o recurso de implantação de modelo do serviço Data Science.

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

Veja a seguir uma descrição de cada campo do arquivo runtime.yaml. À medida que a estrutura do artefato de modelo muda, esse arquivo evolui, assim como a versão. Estes são os campos do MODEL_ARTIFACT_VERSION (3.0) atual.

Campo Descrição

MODEL_ARTIFACT_VERSION

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

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 ONNX e, em seguida, usar um ambiente conda ONNX para implantá-lo.

MODEL_DEPLOYMENT.INFERENCE_CONDA_ENV.INFERENCE_ENV_TYPE

O tipo do ambiente conda que 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

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

MODEL_DEPLOYMENT.INFERENCE_CONDA_ENV.INFERENCE_PYTHON_VERSION

A versão do Python do ambiente conda que deseja usar para implantação de modelo. As versões suportadas do Python são 3.7, 3.8, 3.9, 3.10 e 3.11.

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

Exemplo de Arquivo para Implantação de Modelo

Este é um exemplo de arquivo runtime.yaml para um recurso de implantação de 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.7'

Outros Arquivos de Artefato

Além de score.py e runtime.yaml, você pode incluir mais arquivos necessários para executar o modelo no 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

    Módulos Python extras que são importados em score.py. Qualquer código usado para inferência deve ser zipado no mesmo nível que score.py ou em qualquer nível abaixo. Se algum arquivo necessário estiver presente nos níveis de pasta acima do arquivo score.py, ele será ignorado e poderá resultar em falha na implantação.

Se você estiver salvando seu modelo usando a Console, a CLI ou SDKs do OCI, 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 OCI.