Como Criar e Configurar uma Instância do Google Cloud Platform para Projetos de Deep Learning

Source: Deep Learning on Medium

Como Criar e Configurar uma Instância do Google Cloud Platform para Projetos de Deep Learning

Esse é um tutorial especialmente feito para os membros do CIS-UnB (Computational Intelligence Society — UnB) para que ninguém perca tempo quebrando a cabeça para criar/configurar uma conta no GCP e gaste todo o tempo aprendendo Deep Learning.

Atualmente existem diversas opções pagas de computação na nuvem em que é possível ter acesso a uma GPU: AWS, Azure, Google Cloud Platform; e algumas opções gratuitas também como o Kaggle e o Google Colab. Para diversas aplicações, as opções gratuitas suprem as necessidades de computação. Mas e quando não suprem mais?

Aqui eu vou explicar como criar uma conta no Google Cloud Platform (GCP). Por que o GCP? Bem… Porque eu tenho mais experiência com ele e sei que a Google oferece um crédito de $300 com validade de um ano para usar no GCP (o que dá para fazer muita coisa).

Eu me baseei muito nesses dois links para fazer esse post. Vale a pena dar uma olhada neles:
https://towardsdatascience.com/running-jupyter-notebook-in-google-cloud-platform-in-15-min-61e16da34d52
https://course.fast.ai/start_gcp.html

Então vamos ao tutorial!

  • Passo 3
    Ative o faturamento. Após isso é só seguir os comandos do Google que não tem erro. Ele vai pedir para você cadastrar um cartão para cobranças. Não se preocupe, o Google não vai cobrar nada de você sem te avisar.
  • Passo 4
    Na aba “Compute Engine” aperte o botão “Criar Instância”.

obs1: o tamanho do disco rígido da sua instância não precisa ser de 100GB. Escolha um tamanho apropriado para a sua aplicação. Na dúvida, coloque 100GB mesmo.
obs2: sua instância já virá com o anaconda, git, driver da NVIDIA e tudo que você precisa para rodar código do fastai/Pytorch.

Agora nós iremos habilitar a preempção da sua instância. Basicamente, uma instância preemptiva pode ser interrompida sem aviso prévio pela Google devido a muitas solicitações naquele momento. Além disso, uma instância preemptiva não pode ficar ativa por mais de 24h, sendo que a Google também a interromperá na vigésima quarta hora. Por que querer uma instância preemptiva então? Em suma, ela é muito mais barata que uma instância não preemptiva. Se sua aplicação demanda longos períodos de treinamento, opte por uma instância não preemptiva. Caso contrário, é ok usar uma instância preemptiva.

Se você decidir não ativar a preempção, basta apertar o botão “Criar” no final da página. Se quiser ativar, continue seguindo os passos a seguir

Na aba “Política de disponibilidade”, ative a preempção.

Uma vez com a instância criada, precisamos fazer mais algumas configurações para que seja possível utilizar o Jupyter Notebook na sua instância.

E crie a seguinte regra de firewall:

Feitas todas essas etapas, sua instância está quase pronta para uso!

  • Passo 2
    Uma vez com a instância inicializada basta clickar em “SSH” que um terminal irá abrir em sua tela. Esse é o terminal da sua instância. Todos os comandos do Linux funcionam nele.
  • Cheque se já existe um arquivo de configuração do Jupyter Notebook entrando com o comando abaixo:

Na etapa de configuração da instância, mais especificamente na criação da regra de firewall, você liberou a porta 5000. Isso foi feito já pensando na usabilidade do Jupyter Notebook. Vamos agora configurar o Jupyter Notebook.

ls ~/.jupyter/jupyter_notebook_config.py

Se não existe, crie um com o comando:

jupyter notebook --generate-config

Abra o arquivo de configuração com o comando

vim ~/.jupyter/jupyter_notebook_config.py

Aperte a letra “i” em seu teclado para entrar no modo de inserção e insira em qualquer lugar do arquivo as seguintes configurações:

c = get_config()
c.NotebookApp.ip = '*'
c.NotebookApp.open_browser = False
c.NotebookApp.port = 5000

Quando terminar de escrever o código acima, aperte a tecla “Esc” e em seguida digite “:wq” e tecle “enter”.

Pronto! O Jupyter Notebook está configurado!

Depois de todas as configurações feitas você está pronto para usar o Jupyter Notebook na sua instância do GCP.Vá para o diretório em que deseja trabalhar e entre com o comando:

jupyter notebook

Para acessar o Jupyter Notebook basta digitar o seguinte em seu browser:

Se o Jupyter pedir um token basta copiar o token que aparece no terminal.