AI 관련 계통에 계신 분들은 거의 대부분 Colab에 대해 알고 있다.
그러나 무료 version의 Colab의 활용은 제한적이다.
익히 아는 바와 같이 Colab은 하루에 최대 12시간, Runtime 연속 90분 제한이 적혀있지만 실제로 그렇지 않다.
실제로 colab을 활용해 오래 활용해보고자 하는 사람이라면 이것 그렇게 까지 오래 쓰지 못해라고 이야기할 수 밖에 없다.
개인적인 경험에 의하면 길어봐야 최대 7~8시간이고 짧으면 3~4시간이다.
그럼 그 시간동안 사용한 후 하루 뒤면 또 사용할 수 있지 않겠냐는 말을 할 수 있지만 실제로 그렇지 않다.
예를 들어 내가 오늘 GPU 할당을 다 썼다. 그리고 24시간 후 GPU를 다시 할당 했을 때 내가 쓸 수 있는 용량은 개인적인 경험에 따르면 0~3시간 또는 어제보다 작은 시간이다. 즉, 사용 후에 단순한 계산법으로 기다린다고 해서 다시 할당량이 12시간으로 변하는 것이 아니다.
기업의 입장에서 생각해보면 어쩌면 당연한 이야기이다. 비록 엄청 좋은 GPU는 아닐지라도 11~15GB GPU RAM을 제공하고 서버 비용이며 쿨링 비용까지 써서 제공하는 무료 리소스를 사용자가 많이 사용하게 하는 것이 좋은 현상은 아니다.
더욱이 Colab은 Pro와 Pro+라는 유료 상품이 있는만큼 부족하다고 생각하면 돈을 쓰라는 식으로 미끼 상품을 제공하는 것으로 볼 수도 있다.
실제로 Colab 공식 홈페이지 FAQ에 자세히 나와 있는 부분을 읽어보면 무료로 사용할 수 있는 사용량 한도가 동적으로 변경한다고 적혀있다.
https://research.google.com/colaboratory/faq.html#usage-limits
리소스 한도 관련 다른 FAQ 내용을 읽어봐도 마찬가지이다. ~ 무료 버전은 유연하게 조정한다. ~~, 시간이 지남에 따라 달라진다. 등등이 있다.
그리고 마지막에는 허용하는 리소스 한도를 넘어 사용하고자 하면 Colab Pro 및 Pro+를 쓰세요. 혹은 GCP 쓰세요. 이렇게 나온다.
결국 우리는 2가지 결론을 내릴 수 있다.
1. 이윤을 창출해야하는 기업의 입장에서 미끼 상품을 통해 유료 상품으로 이끌어들인다. 이때 활용할 수 있는 리소스에 제약을 걸어 유료가 좋은 것인가에 대해 생각하게 끔한다.
2. 리소스에 대한 구체적인 내용에 대해 공개하지 않음으로써 시간과 돈의 가치에 대한 균형을 맞추려는 소비자를 끌어들인다.
여기까지 읽고나면 아 그렇구나 구글 나쁜 놈이네 라고 할 수 있겠지만 필자는 그렇게 생각하지 않는다.
생각보다 Colab 무료 버전은 그 효용성이 너무 좋다. 실제로 11~15GB GPU 가격을 알아보면 절대 그런 소리가 나오지 않는다. 그리고 기업이 이윤을 추구하는 것은 너무나도 당연하고 마땅히 지지해줘야 한다. 기업이 먹고살아야 무료로 나오는 제품도 우리가 일부 경험하고 활용해볼 수 있기 때문이다.
그리고 굳이 GPU가 필요하지 않는 직군에 대해서는 아주 유용하고 활용도 높다. 특히, 빅데이터 직군
그럼 다시 본론으로 돌아와서 그럼 우리는 어떻게 해야할까
우리가 대응할 수 있는 방법은 크게 4가지이다.
구글은 무료로 여러 아이디를 만들 수 있다. 그리고 무료 버전의 Colab은 각 아이디마다 별도로 실행할 수 있다.
"그렇기 때문에 아이디만큼의 리소스를 추가로 얻는다."
고 생각할 가능성이 높다.
그러나 이는 사실이 아니다.
경험적으로 같은 전화번호를 기반으로 만들어낸 여러 부계정 아이디로 별도의 Colab으로 훈련시켰지만 둘의 GPU 리소스 한계가 생각보다 빠르게 도달하는 것을 확인할 수 있었다.
분명 다른 계정인데도 Colab의 총량은 정해진 것처럼 느껴진다.
이와 관련하여 조사해본 결과 다음 링크에서 다음과 같은 이야기를 들을 수 있엇다.
"Google은 사용자의 모든 경로를 추적하고 이에 대한 GPU 리소스를 계산합니다. 심지어는 다른 사람의 것으로 남용된 것에 대한 것까지도 고려하여 GPU 리소스를 할당합니다. ... 구글은 이에 대한 정확한 사용 이유에 대해 설명하지 않습니다. ... "
즉, 한 컴퓨터에서 활용된 여러 부계정을 사용하던 다른 사람의 아이디가 사용되던 다른 컴퓨터에서 활용되는 여러 부계정이든 결국 Google은 이를 추적하는 기술이 있고 이에 대한 것들을 기반으로 Colab의 사용량이 유동적으로 변경되는 이유 중 하나라고 볼 수 있는 것이다.
다시 말해, 부계정을 활용한 Colab 역시 한계가 존재한다.
다시 돌아와서 역시 유료 버전인가라는 생각이 든다.
한 달에 세전 $10로 맘편히 사용할 수 있을까라는 생각이 든다.
사실 요즘 물가생각하면 그렇게 부담되는 가격도 아니고 한끼 정도면 가능할지도 모른다고 본다.
실제로 많은 YouTube나 블로그들에서 이야기를 들어보면 가격치고 그렇게 나쁜 선택이 아니라는 생각이 든다. RAM도 거의 25~32GB, 더 빠른 GPU, 더 긴 Runtime이면 Batch size를 키울 수도 있고 데이터의 사이즈나 해상도도 키울 수 있는 선택사항도 존재하니까 말이다.
그러나 잊지말아야하는 것은 이 역시 Runtime의 제한량이 존재한다.
앞에서 이야기한 링크에서는 다음과 같이 사용하기를 추천한다.
"Colab Pro의 경우 24시간의 휴식을 통해 6~8 시간의 사용량 시간을 확보할 수 있다고 적혀있기에 일주일에 한 번이나 두 번만 사용한다면 문제가 없을 것이다."고 이야기한다.
생각해보면 거의 3일에 한 번 사용하는 것이 Colab에서 제공하는 풀 runtime 확보가 가능하다는 의미인 것 같다.
경험담) Colab Pro를 실제로 결제하여 사용해보았다. 첫번째는 24시간 동안 돌릴 수 있었지만 연속적으로 사용하는 것은 무리이다. 위에서 언급한 바와 같이 리소스의 공백이 있어야만 한다. 때문에 돌린 모델마다 특정 iteration마다 파라미터를 저장해야할 것이다.
추가)
2022.10월 기준 정책이 바뀌어 한 달 동안 사용할 수 있는 사용량이 제한되었습니다.
100 단위의 컴퓨팅만 활용이 가능하도록 바뀌었음을 확인하였습니다.
1달 동안 조금 더 많이 사용할 수 있었던 상황을 고려하면 아쉬운 상황입니다.
빨리 학습해야하는데 끊기지 않는 방법이 없나요라고 하면 있다.
그것은 Cloud를 이용하는 것이다.
AI를 위한 클라우드는 이미 잘 알려진 것처럼 Google Cloud, Amazon, Microsoft, 네이버 cloud도 있다.
그러나 내가 알기로 분 단위로 사용 요금이 청구되고 그것도 사용하는 GPU와 다른 부품 리소스 양에 따라서 다르게 측정되는 것으로 알고 있다.
그리고 그 가격은 Colab보다 훨씬 비싸다.
2022.06 기준 GPU 가격은 생각보다 많이 떨어졌다. 루나사태에 따른 비트코인 시장의 풀이 죽었다고 할까. 공급량 대란이 있던 2020년 2021년보다 가격이 훨씬 많이 떨어졌다.
NVIDIA RTX 3090 24GB 가격이 대략 200만원선이니 380만원~400만원 육박하던 과거에 비하면 반 이상 떨어졌다.
NVIDIA RTX 3060 12GB 가격이 대략 50만원선이니 이 역시 고려해볼 수 있는 선택사항이다.
이정도면 충분히 고려할 수 있지 않나라는 생각이 든다.
(물론 2022년 10월정도에 4000번대 나오면 어떻게 될지 고려해야한다.)
http://prod.danawa.com/list/?cate=1131480&15main_11_03
실제로 연구실 다닐 때는 서버용 컴퓨터를 쓰던지 워크스테이션 썼던 경험을 비춰봤을 때 Colab을 쓴다하면 초보들이 많다. 그만큼 활용하는 데이터의 양이 20GB를 넘지도 않고 Open Dataset을 사용한다면 그보다도 더 낮을 것이다. Local이 아닌 Drive 연동은 그만큼 데이터 프로세스 처리에 있어 어려움이 많다.
모델 역시 2018년 정도 모델이면 Vision에서는 300M 정도 parameter 혹은 그 이하일 것으로 생각한다.
이 상황 속에서 실력을 키우고자 한다면 Colab으로도 무리 없을 것이라 생각하고 그렇다면 가장 좋은 선택은 아마도 Colab Pro이다.
물론 이 결정은 필자의 환경을 고려한 결정이지 권장, 조장이 아니다. 그렇지만 GPU를 살만큼의 여력이 없는 사람(GPU만 사는 것은 바보같은 짓이다. 파워, CPU, 메인보드, 쿨로 정도는 최소로 추가 고려해야 한다.)이 AI를 공부하는데 가장 싸고 많은 리소스를 한 번에 경험할 수 있는 경우의 수는 하나 밖에 보이지 않는다.
결정은 여러분의 몫
(돈이 없을 때) 개인적인 추천 : Colab Pro > 부계정으로 돌리기 > GPU > Colab Pro+ > Cloud
(돈이 있을 때) 개인적인 추천 : GPU > Colab Pro/Pro+ > Cloud > 부계정으로 돌리기