논문 구현- 환경 세팅 (1) - Google Cloud Platform

이준학·2026년 3월 11일

논문 구현

목록 보기
1/4

미리 말하지만, 결과적으로 이번 글에서는 GPU 할당에 실패했다. 세팅하는 법만 자세히 보려면 다음 글을 참고하기 바란다.

1. 논문 구현의 계기

    사회복무를 한 지 어느덧 1년이 다 되어가는데, 이룬게 딱히 없다고 느껴져 그 동안 말로만 한다고 했던 논문 구현을 본격적으로 해보려고 한다. 마침 조코딩 유튜브에 나온 김태훈님의 인터뷰를 인상 깊게 본 것도 한 몫 한다고 생각한다. 어떤 논문을 구현할 것인지 많이 고민했지만, 결과적으로 아래 두 가지 기준에 따라 정하게 되었다.

  1. 내가 관심 있는 분야의 논문인가?
  2. 비교적 논문의 구조가 간단한 편인가?

    2번 기준은 내가 쫄아서 설정한 것일지도 모르겠다. 아직 논문 구현을 제대로 해본적은 한 번도 없고, 그렇기 때문에 굉장히 막막하다. 그래서 중간에 떨어져 나가지 않도록 쉬운 논문부터 시작하는 것이 좋다고 생각했다. 어쨌든 이러한 기준에 따라 SRCNN을 구현하기로 했다. 3-layer CNN 기반의 모델이라 구조가 간단한 편에 속하고, Super-Resolution에 대한 논문이라 내가 관심 있는 분야이기도 하다.

2. 논문 구현에 대한 궁극적인 목표

    성격상 무언가를 시작할 때 목표를 정하는 것을 좋아한다. 목표는 논문 구현 그 자체이다. 논문을 보고 그것을 코드로 표현하는 것을 잘하고 싶다. 그리고, 구현을 할 때 AI는 전혀 활용하지 않을 생각이다. 나중에 연구를 할 때에는 AI를 사용할 수도 있겠지만, 지금은 시간의 압박도 없는 만큼 구현 능력 그 자체를 기르는데 집중하고 싶다. 향후에 대학원에 진학하고 싶어하는만큼, 이러한 능력을 길러 놓으면 나중에 연구를 할 때 큰 도움이 될 것이라고 생각한다. (학점에 자신감이 없어 다른 것으로 어필을 하려는 전략이라고 볼 수도 있겠다.) 어쨌든 기간은 나의 소집 해제일인 12/19까지이다. 이때까지 최대한 다양한 분야의 많은 논문들을 구현해 보는 것이 목표이다.

3. 논문 구현 환경 세팅

    일단 내게는 GPU가 없기 때문에 Google Cloud Platform의 GPU를 사용해 구현을 진행하려고 한다. 당연히 이쪽으로 아는 것이 전무했기 때문에 아래 블로그 글을 참고했다. 최종적인 구현 환경은 VSCode + GCP 의 조합이 될 것 같다.

1) VM 인스턴스 구성


VM 인스턴스 만들기를 클릭하면 위와 같은 화면이 뜬다. 고려해야 할 것이 몇 가지 있다.

i) 리전

    리전은 us-central1 이 무난하다고 해서 그냥 그렇게 설정했었지만, 내가 사용하려고 하는 T4 GPU가 할당되지 않는다고 해서 us-west1으로 수정했다. 내가 위에 링크를 걸어둔 글과 같이 세팅을 했다.

  • 리전 : us-west1
  • GPU : NVIDIA T4 1개
  • 머신 유형 : n1-standard-1
  • 부팅 디스크 : 운영 체제 - Deep Learning on Linux, 버전 : Deep Learning VM with CUDA 12.1 M126 (50GB)
  • 네트워킹 : 고정 IP 사용

참고) vscode에 ssh로 연결할 때 username은 VM 인스턴스에 있는 username으로 해야 한다. (다르면 접속이 안된다.)

ii) VSCode에서의 ssh 접속

    기본적으로 위의 두 글을 보고 따라하면 된다. 이때, vscode로 ssh 연결할 때 아래와 같은 형식으로 vscode에 넣어주어야 한다.

ssh -i [ssh key 경로][username]@[ip]
이때, ip는 외부 ip, username은 instance 상의 username

4. 이슈

    위의 글들을 보고 순조롭게 ssh 연결까지 했으나, 생각보다 이슈가 많이 생겼다. 생긴 이슈들을 일지 형식으로 남겨보려고 한다.

1) GPU 할당량 이슈

    VM 인스턴스를 만들고 보니 GP가 없었다. 알아보니 GPU 할당량이라는 것이 있었고, 새로 만든 계정이나 VM 인스턴스를 사용한 이력이 적은 계정은 이 GPU 할당량이 0으로 되어 있어 GPU 할당량 상향 요청을 해야 한다는 것을 알게 되었다.

위의 사진과 같이 새 할당량 값으로 입력할 수 있는 값이 0밖에 없다. 원래는 0~1 사이로 되어 있고, 새 값이라고 적혀있는 칸에 1을 입력하면 할당량이 상향된다고 한다.

    어쨌든 '서비스 사용량 기록에 따르면 지금은 할당량 상향 조정 대상이 아닙니다.'라고 적혀있었기 때문에 '영업팀에 문의'를 꽤 여러 번 했다. 그런데 답장은 전혀 오지 않았다.

    이후 꽤 헤매다가 GPU 없이 VM 인스턴스를 만들어서 하루 정도 켜놓고 문의를 하면 할당량을 늘려주더라는 글을 보게 되었다. 그래서 GPU 없이 인스턴스를 만들고 하루~이틀 정도 켜두고, 종종 VSCode로 ssh 접속 및 간단한 python 파일 실행을 해 주었다.

    하루~이틀이 지나도 위의 사진에서 전혀 변화된 것이 없었다. 그래서 아래의 글에 나와 있는 대로 결제 지원 쪽에서 문의를 넣어보기로 했다.

문의를 넣고, 뭔가 케이스가 접수되었다는 메일과 함께 아래 사진에서도 내가 접수한 내역을 확인할 수 있었다. 답장이 올 지는 아직 미지수다.


    위의 케이스가 접수된 다음 날 아침 바로 메일이 왔다.

요약하자면, 무료로 제공되는 크레딧을 다 사용하거나, 크레딧 만료 시점인 6/1 전까지는 GPU를 할당해 줄 수 없다는 이야기다. 돈 내고 쓰라는 것으로 알아듣고... 포기하고 결제를 하기로 맘 먹었다. 다음 글은 무료 체험판이 아닌, 실제 결제 계정을 연결하고 나서 VM 인스턴스를 구축하는 내용이 될 것 같다.

5. 명령어

  • cat ~/.ssh/id_rsa.pub : public ssh key 출력되는 명령어.
  • ssh-keygen -t rsa : ssh key 생성 명령어
profile
AI/ Computer Vision

0개의 댓글