Google Colab으로 딥러닝 학습하기

Yeonggyoo Jeon·2021년 12월 15일
1

1. 어쩌다 Colab을 사용하게 되었을가?

딥러닝 공부를 한번 해보려고, 그래 코드부터 돌려보자!

a. 뭐부터 준비해야하지?

  • Nvidia GPU가 달린 워크스테이션?
  • 요즘 GPU 비싸다던데... 망할 채굴러들 ㅜ
  • 환경설정도 해야하자나? CUDA설치, Python설정에 Jupyter? Anaconda는 뭐지...
  • 준비해야할 너무 많다~ 일단 책에 있는 것 돌려보면서 딥러닝의 어떻게 돌아가는지 개념부터 잡고 싶은데...

b. 장비도 비싸고 개발환경 구축도 복잡한데 본론부터 할 수 없을가?

  • 요즘 클라우드시대자나? 서버도 다 클라우드로 접속해서 개발하는데 굳이 다시 GPU때문에 워크스테이션을 들여?
  • 그럼 AWS나 GCP로 GPU VM을 대여해서 Jupyter NoteBook을 띄워서 사용해볼가?
  • 아니 이건 너무 비싸네...
  • Cloud형태로 On-demand로 Notebook을 띄워서 Jupyter NoteBook을 띄워주는 서비스가 있구나
  • Google Colab! 이거 사용하면 간단한 모델 트레이닝과 추론 정도는 가능하겠다.

c. 무료로도 사용할 수 있는 Google Colab을 사용해보자

https://colab.research.google.com/

2. 그런데 제한이 있네

a. 역시나 무료버전에는 제한이 있었다.

  • 하루 12시간
  • Runtime 연속 90분
  • VM(Virtual Machine) 사양도 Pro버전에 비해 낮겠지?

b. 구독버전을 한번 살펴보자

https://colab.research.google.com/signup/pricing

3가지 플랜으로 사용할 수 있는데 무료 플랜 대비 Pro는 역시나 좀 더 좋단다.

  • 더 빠른 GPU
  • 더 많은 Memory
  • 더 긴 Runtime

그런데 좀 모호하다.

c. 일단 구독을 했다.

회사의 지원으로 일단 살펴보기로~ (Tech HR 감사합니다^^)
우리는 지원이 빵빵하므로 Colab Pro+ 일단 과감히 구독ㅎㅎ
Pro+는 좀 더 좋단다.

  • 백그라운드 실행
  • 더 빠른 GPU
  • 좀 더 많은 Memory
  • 좀 더 긴 Runtime

역시나 모호하다

d. 접속해서 사양을 살펴보았다

VM에 접속시 Hard accelerator로 GPU와 TPU를 고를 수 있고

Standard와 High-RAM의 Runtime shape을 고를 수 있다.

아래부분에 Background 실행을 선택할 수 있는 체크박스도 보인다.

좌측하단에 터미널 아이콘을 눌러 VM의 Terminal을 띄울 수 있다.
명령어를 이용해 System 사양을 직접 확인해보았다.

확인할 수 있는 사양은 아래와 같다.

  • Tesla V100 GPU
  • 8 Core CPUs (Intel Xeon 2.00 GHz)
  • 51 GB Memory
  • 125 GB Local Disk

이와 같은 사양을 VM을 GCP나 AWS같은 Public Cloud의 Instance로 고정적으로 사용한다면 훨씬 많은 비용이 나올 것이다.

3. 모델 학습 및 추론에 사용해보자

구글 드라이브 사용시 ipynb형태의 파일을 바로 읽어 Colab에서 사용할 수 있다. (T우주 구독의 Google One혜택으로 100GB 겟!)

  • 로컬에 별도의 저장소 없이 Google Drive와 Colab의 조합이면 어디서든 딥러닝 트레이닝 코딩과 학습 그리고 추론 코드 등을 실행해볼 수 있다. 이 점이 딥러닝 학습시에 정말 편한 점인 것 같다. 어디서든 구글계정과 웹브라우저 접속으로 학습을 지속해서 할 수 있다. Colab에서 코딩하면서 저장시 바로 구글 드라이브의 파일에 저장된다.
  • Colab Pro+의 경우 24시간의 Background 실행도 가능하므로 어느 정도 가벼운 실사용 모델의 학습 정도는 할 수 있지 않을가 생각된다. Background 실행이 끝난 이후에는 브라우저가 종료되고 결과물은 구글 드라이브에 저장된다.

4. 마치며...

딥러닝 학습을 위해 Google Colab은 정말 좋은 선택인 것같다. 회사의 넉넉한 지원 덕에 Pro+까지 사용해보게 되었지만 사실 학습을 위해서는 처음에는 무료버전을 써도 무리는 없을 것 같다. 하지만 GPU가 잘 안 잡히는 경우가 있고 위에 언급한대로 하루 12시간, 연속 90분 등의 runtime 제약이 있는 것은 주의해야한다. 좀 더 쾌적한 환경을 원한다면 Pro로도 충분하고 실제 모델 개발에 활용을 위해서라면 경우에 따라 Pro+를 적절히 사용한다면 가성비 좋고 편리한 개발환경을 경험할 수 있을 것 같다. 다음에는 BackGround 실행을 사용해 실제 어느정도 모델 학습까지 가능하고 어떻게 프로덕션에 활용할 방법이 있을지 고민하고 정리해보고 싶다.

끝.

0개의 댓글