우리가 사용할 개발 도구(환경) - Google Colaboratory의 특징 및 장단점
[목차]
0. 여는 말
1. Google Colaboratory의 특징
2. Google Colaboratory의 장점
3. Google Colaboratory의 단점
4. 맺는 말
0. 여는 말
지난 글에서 Jupyter Notebook (이하 주피터 노트북)의 특징 및 장단점에 대해 알아보았는데요 (아래 글 참조),
우리가 사용할 개발 도구(환경) - Jupyter Notebook의 특징 및 장단점
[목차] 0. 여는 말 1. Jupyter Notebook의 특징 2. Jupyter Notebook의 장점 3. Jupyter Notebook의 단점 4. 맺는 말 0. 여는 말 개발 도구(또는 환경, IDE(Integrated Development Environment))에는 수많은 종류..
lifeisstruggle.tistory.com
이번 글에서는 그것을 구글 클라우드 서버 위에서 실행할 수 있는 Google Colaboratory (이하 코랩)에 대해 서술해 보려 합니다.
그럼, 오늘 글 시작해 보겠습니다!
1. Google Colaboratory의 특징
구글 코랩은 한 문장으로 말하면, "구글이 학습 용도로 만든, 구글 드라이브 위에서 주피터 노트북을 실행할 수 있는 대화형 IDE" 입니다.
(더 자세한 내용을 원하시는 분들은 아래 이미지를 클릭하셔서 구글이 직접 만든 소개 영상을 참고하셔도 좋을 것 같습니다 :) )
저희가 앞으로 하게 될 작업들처럼 비교적 간단한 코딩은 물론, 머신러닝/딥러닝 모델까지 돌려볼 수 있는, 그야말로 활용 가능 범위가 상당히 넓은 유용한 툴입니다. (이런 걸 무료로 제공하다니 역시 '갓구글'이라는 말 밖엔...)
그러면 이렇게 유용한 구글 코랩, 장점과 단점으로는 어떤 것들이 있는지 차례대로 알아보겠습니다.
2. Google Colaboratory의 장점
1. 무료(!)로 사용할 수 있다.
2. 환경 설정 및 관리가 불필요하다.
첫째로, 무려 무료(!)로 사용할 수 있습니다.
'주피터 노트북을 로컬에 깔아서 쓰는 것도 무료인 건 매한가지 아니냐'고 하실 수 있는데, 사실 구글 코랩은 소위 '장비빨'이 필요해질 때 더 큰 진가를 발휘합니다. 머신러닝/딥러닝 공부를 하다 보면 GPU가 필요해지는 순간이 오는데요, 괜찮은 GPU를 개인이 사려면 수백만 원 이상의 비용을 들여야 해서 선뜻 시도하기 쉽지 않습니다.
하지만 구글 코랩에서는 GPU 또한 무.료.로 쓸 수 있게 제공을 해 주어서, 그런 부분에서 아주 유용합니다.
(이제는 매우 저렴한 가격으로 클라우드 GPU를 대여해 주는 비즈니스들도 과거에 비해 많이 생겨났지만, 그래도 별도 가입 없이 무료로 사용할 수 있다는 점에서 구글 코랩은 여전히 매력적이라고 생각합니다)
둘째로, 환경 설정 및 관리를 할 필요가 없습니다.
사실 GPU도 필요 없는 우리가 코랩을 쓰려는 가장 주된 이유라고 할 수 있습니다. 필요한 대부분의 라이브러리들이 이미 디폴트(기본)로 모두 깔려 있어 바로 사용이 가능하고, 경로 설정도 구글 드라이브 위에서 하는 것이라 로컬 대비 단순해서 작업하기가 더 쉽습니다.
코랩의 라이브러리들 버전이 가장 최신의 것은 아닌 경우들이 있는데, 사실 '최신 버전'보다는 '가장 널리 쓰이고 있는 버전'을 사용하는 것이 좋습니다. 너무 최신 버전은 아직 충분히 검증되지 않은 불완전한 버전일 수 있고, 타 라이브러리들과의 호환성 문제도 발생할 수 있습니다.
(호환성 관련 자세한 내용은 이 링크의 글에서 '파이썬 버전 및 각 라이브러리들의 버전을 지속 관리 및 업데이트해 주어야 합니다.' 부분을 참고해 주세요 :) )
3. Google Colaboratory의 단점
1. 사용 시간 제한이 있다. (하루 12시간)
2. 여전히 번거로움은 있을 수 있다.
첫째로, 무료로 사용할 수 있는 시간 제한이 있습니다.
코랩을 하루 종일 사용해야 할 때 가장 치명적인 단점이 되는 부분입니다. 하루 12시간 사용 시간 제한이 있으며, 추가 사용을 원한다면 월 9.99 달러 이상의 유료 요금제를 사용해야 합니다.
하지만 우리가 본업을 하면서 하루 12시간 이상 공부할 가능성은 크지 않을 것 같으니, 실질적으로 우리에게 치명적인 부분은 아닐 것 같다고 생각합니다. ^_^
둘째로, 여전히 번거로울 수 있습니다.
매번 구글 드라이브를 켜서, 코랩 파일을 열고, 드라이브에 결합(mount)하는 과정이 번거롭게 느껴질 수 있습니다. 그리고 실제로 하루에도 몇 번씩 코랩 파일을 여는 것은 상당히 번거로운 일이기는 합니다. 하지만 이 또한 하루에 실행 횟수가 많지 않을 대부분의 우리에게는 치명적인 단점이 되지는 않을 것 같습니다. 오히려 로컬 환경을 사용하면서 발생 가능한 관리 측면의 여러 문제들을 마주치는 것보다는 더 나은 선택이라고 (개인적으로는) 생각합니다.
4. 맺는 말
지금까지 구글 코랩의 특징과 장단점에 대해 얘기해 보았습니다.
정리해 보면, 비록 '하루 12시간 사용 제한'과 '매번 파일을 열고 구글 드라이브에 mount해야 하는 번거로움'은 있지만,
그러한 단점들보다 '환경과 라이브러리 버전을 꾸준히 관리하지 않아도 된다'는 장점이 주는 가치가 더 크다고 판단하여, 저희는 구글 코랩을 사용할 것입니다.
(만약 '그래도 주피터 노트북이 더 낫겠다!'고 판단되는 분들이 계시다면, 그렇게 진행하셔도 이후 내용들을 따라오시는 데에 문제는 없을 거에요! 경로 설정 등 일부분만 제외한다면, 주피터 노트북과 구글 코랩은 같은 확장자(.ipynb)를 사용하기 때문에, 둘의 차이로 인한 코드 에러는 거의 발생하지 않을 것입니다 :) )
구글 코랩은 간단한 설치 과정과 한 줄의 mount 코드만 있다면 바로 사용이 가능한데요,
그 방법은 (글이 너무 길어져) 다음 글에서 설명 드리겠습니다 :)
이만 글을 마치겠으며, 이해가 되지 않거나 어려운 부분, 기타 문의 내용이 있다면 언제든 댓글로 남겨 주시면 최대한 답변 드리겠습니다.
오늘도 긴 글 끝까지 읽어주셔서 감사하고, 다음 글에서 또 뵙겠습니다! ^_^
우리들의 스트러글(struggle)하는 현생, 화이팅입니다!