Colaboratory

Ambientes de execução locais

O Colab permite que você se conecte a um ambiente de execução local. Com isso, você pode executar código no hardware local.

Considerações sobre segurança

Confirme se os autores de qualquer notebook são confiáveis antes de executá-lo. Com uma conexão local, o código que você executar pode ler, gravar e excluir arquivos no seu computador.

A conexão com um ambiente de execução na máquina local pode oferecer muitos benefícios. Porém, também há sérios riscos. Ao se conectar com um ambiente de execução local, você permite que o front-end do Colab execute código no notebook usando os recursos locais da máquina. Isso significa que o notebook pode:

Antes de tentar se conectar a um ambiente de execução local, confirme que você confia nos autores do notebook e compreende o código que está sendo usado. Para mais informações sobre o modelo de segurança do servidor de notebooks do Jupyter, consulte a documentação do Jupyter.

Instruções de configuração

Etapa 1: iniciar um ambiente de execução

É possível executar o Jupyter diretamente ou usar a imagem Docker do Colab. A imagem Docker inclui pacotes encontrados nos nossos ambientes de execução hospedados (https://colab.research.google.com) e ativa alguns recursos da interface, como a depuração e o monitor de utilização de recursos. No entanto, os pacotes (arquivos no geral) instalados na máquina local não estão disponíveis por padrão. A imagem do Docker é disponibilizada para plataformas linux/amd64.

Opção 1. Imagem do ambiente de execução do Docker para o Colab

Instale o Docker na máquina local. europe-docker.pkg.dev e asia-docker.pkg.dev são links alternativos ao us-docker.pkg.dev abaixo. Os downloads serão mais rápidos para os usuários nesses continentes. As imagens são idênticas. Inicie um ambiente de execução:

        docker run -p 127.0.0.1:9000:8080 us-docker.pkg.dev/colab-images/public/runtime
      

Para suporte a GPUs, com drivers NVIDIA e o kit de ferramentas de contêineres NVIDIA instalados, use o seguinte:

        docker run --gpus=all -p 127.0.0.1:9000:8080 us-docker.pkg.dev/colab-images/public/runtime
      

A imagem foi testada com GPUs NVIDIA T4, V100 e A100.

Depois que o contêiner for iniciado, ele vai imprimir uma mensagem com o URL de back-end inicial usado para autenticação, no formato "http://127.0.0.1:9000/?token=...". Copie esse URL, porque ele vai ser necessário na etapa 2 abaixo.

Opção 2. Ambiente de execução do Jupyter

Instale o Jupyter na máquina local. Os novos servidores de notebook são iniciados normalmente. Porém, será preciso sinalizar explicitamente que você confia nas conexões WebSocket do front-end do Colab.

  jupyter notebook \
    --NotebookApp.allow_origin='https://colab.research.google.com' \
    --port=8888 \
    --NotebookApp.port_retries=0
    

Depois que o servidor for iniciado, ele vai imprimir uma mensagem com o URL de back-end inicial usado para a autenticação. Copie esse URL, porque você precisar dele na etapa 2 abaixo.

Etapa 2: conectar ao ambiente de execução local

No Colab, clique no botão "Conectar" e selecione "Conectar ao ambiente de execução local…". Insira o URL da etapa anterior na caixa de diálogo exibida e clique no botão "Conectar". Depois disso, a conexão ao ambiente de execução local vai estar pronta.

Configurações específicas do navegador

Observação: se você estiver usando o Mozilla Firefox, vai precisar definir a preferência network.websocket.allowInsecureFromHTTPS no Editor de configurações do Firefox. O Colab cria uma conexão com o kernel local usando um WebSocket. Por padrão, o Firefox não permite conexões de domínios HTTPS por WebSockets padrão.

Compartilhamento

Se você compartilhar seu notebook com outras pessoas, o ambiente de execução da máquina local não será compartilhado. Quando elas abrirem o notebook compartilhado, serão conectadas a um ambiente de execução padrão hospedado no Colab.

Por padrão, todas as saídas das células com código são armazenadas no Google Drive. Se a conexão local tiver acesso a dados confidenciais e você quiser omitir as saídas das células com código, selecione Editar > Configurações do notebook > Omitir saída da célula de código ao salvar este notebook.

Como se conectar a um ambiente de execução em outra máquina

Se o ambiente de execução a que você quer se conectar estiver sendo executado em outra máquina (por exemplo, outra instância do Google Compute Engine), você poderá configurar um encaminhamento de portas SSH local para permitir que o Colab se conecte a ele.

Primeiro, configure o ambiente de execução seguindo as instruções acima.

Depois, estabeleça uma conexão SSH na sua máquina local com a instância remota (por exemplo, uma instância do Google Compute Engine) e especifique a sinalização "-L". Por exemplo, para encaminhar a porta 8888 da sua máquina local para a porta 8888 da instância do Google Compute Engine, execute o seguinte:

gcloud compute ssh --zone YOUR_ZONE YOUR_INSTANCE_NAME -- -L 8888:localhost:8888
    

Finalmente, para estabelecer a conexão com o Colab, se conecte à porta encaminhada (siga as mesmas instruções da Etapa 2: conectar ao ambiente de execução local).