Introdução aos notebooks gerenciados

As instâncias de notebooks gerenciados do Vertex AI Workbench são ambientes gerenciados pelo Google com integrações e recursos que ajudam a configurar e trabalhar em um ambiente de produção completo baseado em notebook do Jupyter.

As instâncias de notebooks gerenciados são pré-empacotadas com o JupyterLab e têm um conjunto pré-instalado de pacotes de aprendizado profundo, incluindo suporte para os frameworks do TensorFlow e do PyTorch. As instâncias de notebooks gerenciados são compatíveis com aceleradores de GPU e com a capacidade de sincronização com um repositório do GitHub. Suas instâncias de notebooks gerenciados são protegidas pela autenticação e autorização do Google Cloud.

Infraestrutura de computação gerenciada pelo Google

Uma instância de notebooks gerenciados do Vertex AI Workbench é uma infraestrutura de computação baseada em notebook do Jupyter gerenciada pelo Google.

Quando você cria uma instância de notebooks gerenciados, ela é implantada como uma instância de máquina virtual (VM) gerenciada pelo Google em um projeto de locatário.

A instância de notebooks gerenciados inclui muitos ambientes comuns de framework de ciência de dados, como o TensorFlow e o PyTorch. Também é possível adicionar suas próprias imagens de contêiner personalizadas à instância de notebooks gerenciados. Esses ambientes estão disponíveis como kernels em que é possível executar o arquivo de notebook.

Quando você executa um notebook em um dos kernels, o Vertex AI Workbench inicia o contêiner correspondente, cria uma sessão do Jupyter e usa essa sessão para executar o notebook no contêiner.

Essa infraestrutura de computação gerenciada pelo Google inclui integrações e recursos que ajudam a implementar fluxos de trabalho de ciência de dados e machine learning do início ao fim. Consulte as seções a seguir para mais detalhes.

Usar contêineres personalizados

Adicione imagens de contêiner personalizadas do Docker à instância de notebooks gerenciados para executar o código de notebook em um ambiente personalizado.

Esses contêineres personalizados estão disponíveis para uso diretamente na interface do usuário do JupyterLab, com os frameworks pré-instalados. Para mais informações, consulte Adicionar um contêiner personalizado a uma instância de notebooks gerenciados.

Fluxo de trabalho baseado em notebook

As instâncias de notebooks gerenciados permitem realizar tarefas orientadas pelo fluxo de trabalho sem sair da interface do usuário do JupyterLab.

Controle de hardware e framework no JupyterLab

Em uma instância de notebooks gerenciados, sua interface do usuário do JupyterLab é onde você especifica os recursos de computação em que seu código será executado. Por exemplo, é possível configurar quantas vCPUs ou GPUs você quer, a quantidade de RAM e qual framework quer executar no código. Escreva seu código primeiro e, em seguida, escolha como executá-lo sem sair do JupyterLab ou reiniciar sua instância. Para fazer testes rápidos do código, é possível reduzir o hardware e dimensioná-lo de volta para executar o código em mais dados.

Acesso a dados

É possível acessar seus dados sem sair da interface do usuário do JupyterLab.

No menu de navegação do JupyterLab em uma instância de notebooks gerenciados, é possível usar a integração do Cloud Storage para procurar dados e outros arquivos a que você tem acesso. Consulte Acessar buckets e arquivos do Cloud Storage dentro do JupyterLab.

Também é possível usar a integração do BigQuery para procurar tabelas a que você tem acesso, gravar consultas, visualizar resultados e carregar dados no seu notebook. Veja Consultar dados em tabelas do BigQuery no JupyterLab.

Executar execuções de notebook

Use o executor para executar um arquivo de notebook como uma execução única ou programada. Escolha o ambiente e o hardware específicos em que você quer que a execução seja executada. O código do notebook será executado no treinamento personalizado da Vertex AI, o que pode facilitar o treinamento distribuído, otimizar hiperparâmetros ou programar jobs de treinamento contínuos. Consulte Executar arquivos de notebook com o executor.

É possível usar parâmetros na sua execução para fazer alterações específicas em cada execução. Por exemplo, é possível especificar um conjunto de dados diferente a ser usado, alterar a taxa de aprendizado ou a versão do modelo.

Também é possível configurar um notebook para ser executado regularmente. Mesmo com a instância desativada, o Vertex AI Workbench executa o arquivo do notebook e salva os resultados para você analisar e compartilhar com outras pessoas.

Compartilhar insights

As execuções executadas de notebook são armazenadas em um bucket do Cloud Storage. Dessa maneira, é possível compartilhar seus insights com outras pessoas ao conceder acesso aos resultados. Consulte a seção anterior sobre como executar execuções de notebook.

Proteger a instância

É possível implantar a instância de notebooks gerenciados com a rede padrão gerenciada pelo Google, que usa uma rede e sub-rede VPC padrão. Em vez da rede padrão, é possível especificar uma rede VPC para usar com a instância. Para mais informações, consulte Configurar uma rede. É possível usar o VPC Service Controls para fornecer mais segurança às suas instâncias de notebooks gerenciados.

Para usar notebooks gerenciados em um perímetro de serviço, consulte Usar uma instância de notebooks gerenciados em um perímetro de serviço.

Por padrão, o Google Cloud automaticamente criptografa os dados quando em repouso por meio de chaves de criptografia gerenciadas pelo Google. Caso você precise atender a requisitos regulatórios ou de conformidade específicos relacionados às chaves que protegem seus dados, use as chaves de criptografia gerenciadas pelo cliente (CMEKs) com as instâncias de notebooks gerenciados. Para mais informações, consulte Usar chaves de criptografia gerenciadas pelo cliente.

Encerramento automatizado de instâncias inativas

Por padrão, para gerenciar custos, as instâncias de notebooks gerenciados são encerradas após ficarem inativas por um período específico. Você pode alterar a quantidade de tempo ou desativar esse recurso. Para mais informações, consulte Desativação inativa.

Integração do Dataproc

Você pode processar dados rapidamente executando um notebook em um cluster do Dataproc. Depois de configurar o cluster, é possível executar um arquivo de notebook nele sem sair da interface do usuário do JupyterLab. Para mais informações, consulte Executar uma instância de notebooks gerenciado em um cluster do Dataproc

Limitações

Considere as seguintes limitações de notebooks gerenciados ao planejar seu projeto:

  • As instâncias de notebooks gerenciados são gerenciadas pelo Google e, portanto, menos personalizáveis que as do Vertex AI Workbench. As instâncias de notebooks gerenciadas pelo usuário podem ser mais ideais para usuários que precisam de muito controle sobre o ambiente. Para mais informações, consulte Introdução aos notebooks gerenciados pelo usuário.

  • Extensões JupyterLab de terceiros não são suportadas.

  • O plug-in JupyterLab do Dataproc não é compatível com notebooks gerenciados, mas é possível usá-lo em instâncias do Vertex AI Workbench. Consulte Criar uma instância ativada pelo Dataproc.

  • As instâncias de notebooks gerenciadas não permitem que os usuários tenham o acesso sudo.

  • Quando você usar o Access Context Manager e o Chrome Enterprise Premium para proteger as instâncias de notebooks gerenciados com controles de acesso baseado no contexto, o acesso é avaliado sempre que o usuário se autentica na instância. Por exemplo, o acesso é avaliado na primeira vez que o usuário acessa o JupyterLab e, sempre que o acessar, se o cookie do navegador da Web tiver expirado.

  • Para usar aceleradores com instâncias de notebooks gerenciados, o tipo de acelerador que você quer precisa estar disponível na zona da instância. Para saber mais sobre a disponibilidade do acelerador por zona, consulte Disponibilidade de zonas e regiões da GPU.

A seguir