Rede Personalizada

Criar uma implantação de modelo no serviço Data Science com a opção de rede personalizada.

A carga de trabalho é anexada usando uma VNIC secundária a uma VCN e sub-rede gerenciadas pelo cliente. A sub-rede pode ser configurada para saída para a internet pública por meio de um gateway NAT/Internet.

Para usar saída personalizada, adicione uma política para fornecer ao Data Science acesso à sub-rede:

allow service datascience to use virtual-network-family in compartment <subnet_compartment>

Para saída personalizada, a sub-rede deve ter pelo menos 127 endereços IP disponíveis.

Você pode criar e executar implantações de modelo de rede personalizado usando a Console, o OCI Python SDK, a CLI do OCI ou a API do Data Science.

    1. Na página de lista Projetos, selecione o projeto que contém as implantações de modelo com as quais você deseja trabalhar. Se precisar de ajuda para localizar a página da lista ou o projeto, consulte Listando Projetos.
    2. Na página de detalhes do projeto, selecione Implantações de modelo.
    3. Selecione Criar implantação de modelo.
    4. Na página Criar implantação de modelo, especifique as informações a seguir.
      • Compartimento
      • Name (Opcional): Informe um nome exclusivo para a implantação de modelo (limite de 255 caracteres). Caso você não forneça um nome, um nome é gerado automaticamente. Exemplo: modeldeployment20200108222435
      • Descrição (Opcional): Informe uma descrição (limite de 400 caracteres) para a implantação do modelo.
      • Chave de variável de ambiente personalizada (Opcional): Informe uma chave de variável de ambiente personalizada.
      • Valor (Opcional): Informe o valor da chave.
      • Modelos: Selecione Selecionar para abrir o painel Selecionar modelos, selecione a opção relevante e, em seguida, selecione Submeter para fechar o painel.
        Importante

        Não há suporte para a implantação de artefatos de modelo que excedam 400 GB. Selecione um artefato de modelo menor para implantação.
        • Modelo Único: Localize o modelo com Selecionar um compartimento de modelo (especificar compartimento e projeto) ou Usando OCID e selecione o modelo na lista.
        • Grupos de Modelos: Especifique o compartimento e o projeto e selecione o grupo de modelos na lista.
      • Altere a forma de Computação selecionando Alterar forma. Em seguida, siga estas etapas no painel Selecionar forma de computação.
        • Selecione um tipo de instância.
        • Selecione uma série de formas.
        • Selecione uma das formas de Computação suportadas na série. Selecione a forma que melhor se adapte à forma como deseja usar o recurso.
        • Expanda a forma selecionada para configurar OCPUs e memória.
          • Número de OCPUs
          • Quantidade de memória (GB): Para cada OCPU, selecione até 64 GB de memória e um total máximo de 512 GB. A quantidade mínima de memória permitida é 1 GB ou um valor correspondente ao número de OCPUs, o que for maior.
          • Ativar Forma Expansível: Selecione se estiver usando VMs expansíveis e, em seguida, para Utilização da linha de base por OCPU, selecione a porcentagem de OCPUs que você geralmente deseja usar. Os valores suportados são 12,5% e 50%. (Para implantações de modelo, somente o valor de 50% é suportado.)
        • Selecione Selecionar forma.
      • Número de instâncias: Informe o número de instâncias nas quais a implantação de modelo será replicada.
      • Configuração de dimensionamento automático (Opcional): Selecione Ativar dimensionamento automático e especifique as seguintes informações.
        • Número mínimo de instâncias
        • Número máximo de instâncias
        • Período de resfriamento em segundos
        • Tipo de métrica de dimensionamento

          Para usar a opção de métrica de dimensionamento personalizada, selecione Personalizado e especifique as consultas de expansão e expansão.

          Importante

          Inclua o seguinte texto em cada consulta MQL para fazer referência ao OCID do recurso: {resourceId = "MODEL_DEPLOYMENT_OCID"}
        • Limite de redução em porcentagem
        • Limite de expansão em porcentagem
        • Opções avançadas (Opcional): Dimensionamento automático do balanceador de carga. Defina o valor da largura de banda máxima para ser maior que o valor mínimo da largura de banda e não mais que o dobro do valor mínimo da largura de banda.
          • Etapa de contagem de instâncias de redução horizontal
          • Etapa de expansão de contagem de instâncias
      • Recursos de rede: Selecione a seguinte opção para rede personalizada.
        • Rede Personalizada: Selecione a VCN e sub-rede (por compartimento) que você deseja usar.

          Para acesso de saída à Internet pública, use uma sub-rede privada com uma rota para um gateway NAT.

          Observação

          • A rede personalizada deve ser usada para usar uma montagem de armazenamento de arquivos.
          • Não há suporte para a alternância de rede personalizada para rede gerenciada após a criação.
          • Se você vir o banner The specified subnet is not accessible. Select a different subnet., crie uma política que permita ao serviço Data Science usar a rede personalizada. Consulte Políticas.
      • Tipo de ponto final: Selecione a opção relevante.
        • Ponto final público: Permite o acesso a dados para uma instância gerenciada de fora de uma VCN (rede virtual na nuvem).
        • Ponto final privado: Especifica o ponto final privado a ser usado para a implantação de modelo. As implantações que usam rede privada ou pontos finais privados não podem ativar o acesso à internet pública gerenciado pelo serviço.
          • Compartimento de ponto final privado
          • Ponto final privado
      • Log (Opcional): Selecione Selecionar para abrir o painel Selecionar log, insira as informações a seguir e selecione Submeter para fechar o painel.
        Observação

        O registro em log requer acesso configurado ou registro em log de previsão.
        • Para logs de acesso, selecione um compartimento, um grupo de log e um nome de log.
        • Para logs de predição, selecione um compartimento, um grupo de log e um nome de log.
      • Defina seu ambiente BYOC (em Usar uma Imagem de Contêiner Personalizada) (Opcional): Selecione Selecionar para abrir o painel Definir seu ambiente BYOC, especifique as seguintes informações e selecione Selecionar novamente para fechar o painel.
        • Compartimento do repositório
        • Repositório: Informe o repositório que contém a imagem personalizada.
        • Imagem: Informe a imagem personalizada a ser usada no runtime.
        • Digest: Informe a compilação da imagem. Por exemplo: sha256:<digest>. A compilação deve corresponder à imagem exata que você está implantando.
        • Ponto de Entrada: Informe um ou mais arquivos de ponto de entrada a serem executados quando o contêiner for iniciado, como /opt/script/entrypoint.sh. Não use aspas no final.
        • Porta do servidor: Informe a porta do servidor Web de inferência. O padrão é 8080. de Faixa válida: 1024–65535, exceto 24224, 8446, 8447.
        • Porta de verificação de integridade: Informe a porta para a verificação de integridade do contêiner. O padrão é a porta do servidor. Faixa válida: 1024–65535, exceto 24224, 8446, 8447.
      • Modo de disponibilização (em Opções avançadas) (Opcional): Selecione a largura da banda de balanceamento da carga em Mbps ou use o padrão 10 Mbps.

        Dicas de balanceamento de carga:

        Se você souber o tamanho do payload comum e a frequência de solicitações por segundo, poderá usar a fórmula a seguir para estimar a largura de banda do balanceador de carga necessário. Recomendamos que você adicione mais 20% para levar em conta os erros de estimativa e o tráfego de pico esporádico.

        (Tamanho do payload em KB) * (Solicitações estimadas por segundo) * 8 / 1024

        Por exemplo, se o payload for de 1.024 KB e você estimar 120 solicitações por segundo, a largura de banda do balanceador de carga recomendada será (1024 * 120 * 8 / 1024) * 1.2 = 1152 Mbps.

        Lembre-se de que o tamanho máximo de payload suportado é de 10 MB ao lidar com payloads de imagem.

        Se o tamanho do payload da solicitação for maior que a largura de banda alocada do balanceador de carga definido, a solicitação será rejeitada com um código de status 429.

      • Tags (em Opções avançadas) (Opcional): Adicione tags à implantação de modelo. Se você tiver permissões para criar um recurso, também terá permissões para aplicar tags de formato livre a esse recurso. Para aplicar uma tag definida, você deve ter permissões para usar o namespace da tag. Para obter mais informações sobre tags, consulte Tags de Recursos. Se você não tiver certeza se deseja aplicar tags, ignore essa opção ou pergunte a um administrador. Você pode aplicar as tags posteriormente.
    5. Selecione Criar.
  • Você pode usar a CLI do OCI para criar uma implantação de modelo como neste exemplo.

    1. Implante o modelo com:
      oci data-science model-deployment create \
      --compartment-id <MODEL_DEPLOYMENT_COMPARTMENT_OCID> \
      --model-deployment-configuration-details file://<MODEL_DEPLOYMENT_CONFIGURATION_FILE> \
      --project-id <PROJECT_OCID> \
      --category-log-details file://<OPTIONAL_LOGGING_CONFIGURATION_FILE> \
      --display-name <MODEL_DEPLOYMENT_NAME>
                                      
    2. Use este arquivo de configuração JSON de implantação de modelo:
      {
            "deploymentType": "SINGLE_MODEL",
            "modelConfigurationDetails": {
              "bandwidthMbps": <YOUR_BANDWIDTH_SELECTION>,
              "instanceConfiguration": {
                "subnetId": <YOUR_SUBNET_ID>,
                "instanceShapeName": "<YOUR_VM_SHAPE>"
              },
              "modelId": "<YOUR_MODEL_OCID>",
              "scalingPolicy": {
                  "instanceCount": <YOUR_INSTANCE_COUNT>,
                  "policyType": "FIXED_SIZE"
               }
           }
       }

      Se você estiver especificando uma configuração de ambiente, deverá incluir o objeto environmentConfigurationDetails como neste exemplo:

      
      {
        "modelDeploymentConfigurationDetails": {
          "deploymentType": "SINGLE_MODEL",
          "modelConfigurationDetails": {
            "modelId": "ocid1.datasciencemodel.oc1.iad........",
            "instanceConfiguration": {
              "subnetId": <YOUR_SUBNET_ID>,
              "instanceShapeName": "VM.Standard.E4.Flex",
              "modelDeploymentInstanceShapeConfigDetails": {
                "ocpus": 1,
                "memoryInGBs": 16
              }
            },
            "scalingPolicy": {
              "policyType": "FIXED_SIZE",
              "instanceCount": 1
            },
            "bandwidthMbps": 10
          },
          "environmentConfigurationDetails" : {
            "environmentConfigurationType": "OCIR_CONTAINER",
            "image": "iad.ocir.io/testtenancy/image_name:1.0.0",
            "imageDigest": "sha256:a9c8468cb671929aec7ad947b9dccd6fe8e6d77f7bcecfe2e10e1c935a88c2a5",
            "imageSignatureId": "ocid1.containerimagesignature.oc1.iad.0.ociodscprod.aaaaaaaavkjvrldo4etdpdas3o5vuom3t6anoixneey737cr57if7jhkh6nq",
            "entrypoint": [
              "python",
              "/opt/entrypoint.py"
            ],
            "serverPort": "5000",
            "healthCheckPort": "5000"
          },
          "streamConfigurationDetails": {
            "inputStreamIds": null,
            "outputStreamIds": null
          }
        }
      }
      Observação

      O campo imageSignatureId é opcional.
    3. (Opcional) Use este arquivo de configuração JSON de registro em log:
      {
          "access": {
            "logGroupId": "<YOUR_LOG_GROUP_OCID>",
            "logId": "<YOUR_LOG_OCID>"
          },
          "predict": {
            "logGroupId": "<YOUR_LOG_GROUP_OCID>",
            "logId": "<YOUR_LOG_OCID>"
          }
      }
    4. (Opcional) Use essa opção para usar um contêiner personalizado:
      oci data-science model-deployment create \
      --compartment-id <MODEL_DEPLOYMENT_COMPARTMENT_OCID> \
      --model-deployment-configuration-details file://<MODEL_DEPLOYMENT_CONFIGURATION_FILE> \
      --project-id <PROJECT_OCID> \
      --category-log-details file://<OPTIONAL_LOGGING_CONFIGURATION_FILE> \
      --display-name <MODEL_DEPLOYMENT_NAME>
                                      
  • Use a operação CreateModelDeployment para criar uma implantação de modelo com rede personalizada. Defina o ID da sub-rede conforme descrito na documentação da API Configuração da Instância.