본문 바로가기
AI & Data

[AI] Colaboratory: 코랩이란? | Colab

by Henry Cho 2021. 12. 17.
728x90

Colaboratory: 코랩이란? | Colab


포스트 난이도: HOO_Middle

 

[Notice] 포스트 난이도에 대한 설명

안녕하세요, HOOAI의 Henry입니다. Bro들의 질문에 대한 내용을 우선적으로 포스팅이 되다 보니 각각의 포스트에 대한 난이도가 달라서 난이도에 대한 부분을 작성하면 좋겠다는 의견을 들었습니다

whoishoo.tistory.com


 

# Colab

Colaboratory를 줄여서 일반적으로 Colab이라고 부르며, 한국에서는 코랩이라고 한다.

Colab은 구글에서 만든 연구용 서비스 제품이며, Jupyter를 기반으로 만들어진 웹용 서비스이다.

Jupyter도 웹 기반 서비스이지만 Colab과 Jupyter의 큰 차이점은 Local인지의 여부이다.

Colab은 google drive에서 google 제공하는 server에서 작동이 이루어진다.

구글 server에서 작동이 될 뿐만 아니라 GPU도 서버를 통해서 제공해준다.

한마디로 4차 산업 기술의 한 부분인 Cloud computing을 전적으로 보여주는 예시 중 하나인 셈이다.

Cloud service를 통해 Jupyter에서 작업을 해야 하는 Machine learning을 Colab을 통해 손쉽게 돌릴 수 있다.

 

# 기본적으로 모든 것이 준비된 Colab

Colab의 또 다른 장점은 편리함이다.

개발자는 사용하고자하는 특정 라이브러리를 별도로 설치할 필요가 없다.

기본적으로 Cloud service 기반이다 보니 원하는 라이브러리가 대부분 바로 적용하여 사용할 수 있다.

그렇다 보니 Local 작업 시에 일일이 세팅을 하던 번거로움이 사라진 셈이다.

 

# 그래픽 카드가 필요하지 않다

앞서서도 언급했지만 Colab은 GPU를 제공해준다.

무료 버전 Colab과 유료 버전 Colab의 성능 차이가 있지만 무료 버전 Colab에서도 충분히 ML 작업이 가능하다.

그만큼 ML에 대해서 공부를 하거나 간단한 테스팅 작업을 한다면 Colab을 사용해서 충분히 할 수 있다는 걸 보여준다.

ML를 돌리는 개발자에게 그래픽 카드가 없다는 것은 말도 안 되는 이야기지만

불가피하게 GPU가 없는 상황이고 CPU 성능이 좋지 않다면, Colab을 사용할 수 있다.

그동안의 AI란 컴퓨터 성능이 중요하게 작용되었던 것도 어느정도 사실이다.

하지만 Colab은 몇 년에 걸쳐 발전해왔으며, 이제는 충분히 기본적인 작업을 수행하기에 만족스러운 서비스라고 보인다.

 

# 협업하기 좋은 수단

기존 Local 방식의 개발은 협업하는데 있어서 귀찮음이 많다.

작업하는 데 있어서 어려움이 있거나 힘들다기보다는 그저 귀찮음이 있을 뿐이다.

하지만 Colab은 이 귀찮음 마저 해결해준다.

구글 드라이브에서 구글 서버를 활용해서 제공하는 Colab 서비스는 개발자들에게 작업 내용에 대해서 쉽게 협업할 수 있도록 도와준다.

각자의 Local 기반이 아닌 Server 기반에서 작업이 이루어지다 보니 협업하는 데 있어서 작업 공유가 매우 수월하다.

Colab의 다른 장점들은 충분히 Local 방식도 가지고 있는 부분이라고 볼 수 있지만 작업 공유에 따른 협업의 효율성 증대는 Local 부분에서 상대적으로 불리한 것이 사실이다.

Colab과 같이 Cloud 기반 서비스가 발전하고 증가할 수 밖에 없는 이유 중 하나가 바로 협업의 용이성이라고 보인다.

 

# 아직은 부족한 Colab

필자가 Colab에 대해서 본격적으로 사용하기 시작했던 시기가 2018년 쯤이 될 것이다.

물론 지금의 Colab은 상당히 발전해왔고 프로젝트를 진행하기 전에 사전에 테스팅하는 방법을 Colab을 선택할 정도로 정말 많이 변화하고 있다.

그럼에도 불구하고 아직도 Jupyter와 같은 Local 기반 서비스를 활용하는 이유는 Colab이 가진 문제점 때문이다.

Colab이 제공하는 제한적인 가상 환경은 개발자에게 있어서 불편함을 준다.

많은 사람들이 사용하는 공간이며, 유료가 아닌 무료 버전의 Colab을 사용한다는 점이 이해가 되는 부분이다.

하지만 결과적으로 유료 버전을 사용하지 않을 경우에는 시간적으로나 성능 면에서 한계가 존재한다.

한마디로 자신의 컴퓨터가 보다 더 좋은 성능을 가지고 있다면 Local 작업이 더 효과적일 수 있다.

또한 작업 수행 결과를 Jupyter 파일로 저장하고 개발자들과 공유할 수 있지만 결과적으로 12시간 또는 상황에 따라 그 시간 이전에 작업 내용이 사라질 수 있다.

추가적으로 ML을 돌릴때 다른 사용자와 GPU를 공유하여 작업 처리 속도가 늦어지는 경우도 발생할 수 있다.

Local 방식보다 보안 문제에서도 취약하다는 것도 어쩔 수 없는 이유다.

 

# Colab의 발전 가능성

Colab은 Local 기반 대비하여 장단점을 가지고 있다.

그렇기에 현재 ML 개발자들은 두 가지 모두를 사용하여 단점을 보완하고 개발의 효율성을 증대시키고 있다.

개발자는 항상 효율성을 중요시 여기는 직업이기 때문에 2가지 방법을 모두 활용한다고 볼 수도 있지만 또 다른 이유가 존재한다고 생각한다.

필자의 경우에는 사실 2가지 방법을 모두 다 쓸 필요가 없는 경우가 많다.

어쩌면 굳이 2가지 방법을 Run해서 귀찮아질 때도 있다.

그럼에도 불구하고 Colab을 지속적으로 이용해보는 이유는 앞으로는 Cloud computing 시대이기 때문이다.

4차 산업 기술의 대표격인 Cloud computing은 앞으로 지속적으로 발전해나갈 기술이다.

그렇기에 다양한 Cloud service도 문제점을 보완하고 더 완벽한 서비스가 제공될 것이라고 생각한다.

Colab도 마찬가지이다.

불과 몇 년 사이에 Local 방식의 보조자 역할로 사용이 되고 있다.

앞으로는 Colab을 기반으로 개발을 하고 Local 방식이 보조적인 역할을 수행하는 날이 올 지도 모른다.

필자는 이 입장에서 사전에 Colab 방식을 익히면서 Local 방식과 Server 방식을 모두 사용해서 보다 더 효율적인 개발을 하고 있다.

Colab은 앞으로가 더 기대되는 Cloud service이며, 미래에는 스마트폰도 아닌 스마트 워치를 통해 다양한 인공지능 프로그램 개발을 할 수 있는 날이 올지도 모른다.


 

# Links

https://drive.google.com/drive/u/1/my-drive

 

Google Drive - 모든 파일을 한 곳에서

하나의 계정으로 모든 Google 서비스를 Google Drive로 이동하려면 로그인하세요.

accounts.google.com

 

https://colab.research.google.com/?utm_source=scs-index 

 

Google Colaboratory

 

colab.research.google.com


 

728x90

댓글