Se você já tentou treinar uma rede neural profunda em seu computador pessoal deve saber a diferença que uma placa gráfica (GPU) faz! A diferença de tempo no treinamento é gigantesca entre o processamento feito em CPU e GPU, mesmo que você tenha uma plaquinha gráfica humildona vale muito mais a pena usá-la do que seu processador core i7.
Já pensou poder usar uma GPU parruda sem ter que gastar milhares de reais? E de graça, já pensou? Isto esta apenas a alguns cliques de você e hoje vou te mostrar como acessar essa maravilha!
UPDATE-1: Muitas pessoas tem perguntado sobre preço, o serviço é gratuito pessoal! Isso mesmo, 0800! Segundo esta thread no Kaggle existe uma limitação de 12h de uso ininterrupto, mas é possível salvar o status intermediário do treinamento!
UPDATE-2: Na mesma thread no Kaggle, é mencionada a configuração de 2 vCPUs, 13G RAM e GPUs K80s!
O Google Colab é uma plataforma cloud gratuita que te permite rodar código Python (2.7 e 3.6) em um formato muito parecido com um Jupyter Notebook (se você não sabe o que é isso, da uma olhada aqui) de forma colaborativa, o que já é muito legal, e agora foi liberado o suporte a GPU como otimização!
Para saber mais sobre o Google Colab clique aqui. Existe também uma FAQ sobre o Colab aqui.
Legal, agora vamos rodar um exemplo. Para acessar o Colab:
- Acesse em sua conta Google o Drive;
- No Drive, clique em Novo > Mais > Colaboratory
Abaixo esta uma imagem para ilustrar os passos feitos até aqui.
Com isso você ira iniciar um novo documento no Colab, como um novo notebook do Jupyter. Veja abaixo.
Esta interface funciona de forma muito parecida com um notebook Jupyter, experimente um pouco!
Para ativar a aceleração por GPU faça o seguinte:
- Acesse o menu Edit > Notebook settings
- Em Hardware accelerator, mude para GPU e pronto!
- Neste menu você também pode mudar para Python 3 ;)
Certo, mas como saber se estou mesmo usando GPU? Vamos a um teste!
GPU ativada, agora é com você! Se quiser testar algum projeto mais interessante, tenho alguns no meu github. Destaco estes aqui:
- Classificação de imagens com redes convolucionais (dataset cifar-10)
- Classificação de imagens com redes feedforward (dataset mnist)
- Tradução de texto com redes seq2seq (en-fr com vocabulário limitado)
Espero que tenham gostado! Como sempre, todas as perguntas, feedbacks e sugestões são bem vindos!
Um abraço!
Referencias
- https://medium.com/deep-learning-turkey/google-colab-free-gpu-tutorial-e113627b9f5d
- https://research.google.com/colaboratory/faq.html
- https://colab.research.google.com/notebooks/welcome.ipynb
- https://www.kdnuggets.com/2018/02/fast-ai-lesson-1-google-colab-free-gpu.html
- https://www.quora.com/Whats-the-difference-between-Google-Colaboratory-and-Jupyter-notebooks
Nenhum comentário:
Postar um comentário