슬프게도 열심히 StyleGAN을 구현해봤지만 학습할 환경이 없었다… CPU에선 불가능에 가깝고 GPU를 장시간 돌릴수 있는 환경이 필요한데 코랩은 일정시간이 지나면 데이터가 소멸되어버려서… 그래서 찾아낸게 GCP. 일단 300$을 무료 제공해 주기도 하고 선점형을 이용하면생각보다 싼 가격으로 이용이 가능하다. 상시서버를 돌리는게 아니니 알아서 꺼지는것도 필요하고. 그래서 내가 애용하는 VSCode를 이용해서 GCP 상에서 작업하는 방법을 찾게 되었다.
GCP 에서 내가 원하는 컴퓨팅 파워를 가진 가상머신을 만드는 과정이다.
일단 인스턴스 생성에 앞서 꼭 해야하는 부분이 있는데
바로 GPU 할당량 증가! 이거 때문에 꽤나 고생했다…
멀티코어 연습을 위해 최소 2개정도까진 늘려 두는것을 추천한다.
메뉴버튼 - IAM 및 관리자 - 할당량 선택
GCP에서 현재 내가 할당받을 수 있는 자원들이 표시된다.
처음 들어왓을때는 무료계정은 이 기능이 안된다고 업그레이드 하라고 하는데
그냥 업그레이드 누르면 된다. 조금 반영이 늦을 때도 잇던데 딴짓좀 하다오면 완료.
지역별로 표시되니 원하는 지역에서 선택하면되는데
북미가 이용료가 조금 싸긴하다. 물론 아주 조금.
참고로 지역에 따라 사용가능한 GPU에 차이가 있을 수 있다.
여기서 중요하게 봐야할 부분이 GPUs all regions 이거다 계속 분명 asia1에 내 GPU 할당량을 2개로 늘렸는데도 계속 GPUS ALL REGIONS exceed 0.0 이런 오류가 뜨길래 봣더니 모든지역전체에서 사용가능한 GPU 갯수의 제한이 이렇게 따로 걸려있었다… 초반에는 없었는지 GCP 사용하는 포스트를 보면 대부분 이설명이 없어서 엄청나게 시간낭비를 ㅠㅠ
아무튼 이것과 내가 사용할 GPU에 대한 할당량을 증가시키면되는데
위에보면 Preemtible 이 붙어있는 GPU들이 있다.
이게바로 선점형으로 사용하는 것인데
최대 24시간동안 선점이 가능하고 자동 종료된다
게다가 일정시간 명령이 없을시 자동으로 종료되는 기능도 추가되어있다. 하지만 이기능이 생각보다 잘작동하진 않는듯 하다… 꺼주는 습관을 들이자 ㅠ
약간 구글코랩과 비슷한 느낌이긴 하지만. 크게 다른점이 두가지 있다.
첫째, 설치한 프로그램이나 데이터가 삭제되지 않는다는 점.
캐글 3rdML 대회 코랩에서 할때 데이터다운받은 횟수가 수십번은 되는 ㅠㅠ
두번째로는 일단 쉘에 자유롭게 접근가능하다는 점이 있다. 내 컴퓨터처럼 자유로운 조작이 가능하니 원격을 이용한 내컴퓨터에서 작업하듯 작업도 가능.
그리고 이 선점형의 가장 큰 장점! 가격이 싸다…. 같은 시스템대비 1/3? 정도의 가격이니 상시 서버가 아니라면 무조건 이것을 추천한다. 뭐 24시간을 넘는 작업이라면 할수 없지만 그런 작업이면 애시당초 무료로 하는게 쉽지 않다…ㅠ
필터링 후 필요한 항목들에 왼쪽에 전부 체크를 해준 후
위쪽에 있는 할당량 수정 을 눌러준다.
그리고 이름과 이메일, 전화번호를 쓴 후
위처럼 할당 증가 신청 창이 나온다.
직원이 직접 승인 하는거라 이상하게 999개 이런거 했다간 아웃이다.
적당히 필요한 양만 지정해주고 아래 설명에 이것을 어디에 쓸것인가 간단히 써주면된다.
그냥 딥러닝에 사용한다던지 이런식으로 써주면 된다. 물론 영어로. 사실 대충써도 되는 느낌이긴 하지만 혹시모르니 열심히 한줄 써주자.
이렇게 하면 접수가 되었다는 메일이 먼저 오고나서 나중에 승인 메일이 오게된다. 참고로 일반 GPU들 증가는 왠만하면 몇시간이면 승인 메일이 오지만 GPUS ALL REGION 같은 경우는 2일정도가 걸렸었다. 참고로 중간에 조금 시간이 걸리고 있다는 메일이 오는 경우도 있으니 메일을 정독하고 된건지 안된건지 확실히 확인하자.
이렇게 하면 할당량 증가 끗.
이과정이 시간이 조금 걸리니 신청해두고 저 아래쪽 VSCode 관련 설정을 해두는것도 좋다.
좌측상단 메뉴버튼을 누르고 ‘Compute Engine’ - ‘VM 인스턴스’를 선택
위에 있는 인스턴스 만들기 버튼을 클릭.
인스턴스가 하나도 없을때는 가운데 창에 만들기 버튼이 버튼이 생기는데 그것을 눌러도 된다.
자 이제 메인 생성창이다.
이름은 생성규칙에 맞게 지어주면 되는데 가급적 너무 어렵지 않게하자.
입력할일이 생길수도 있으니.