오늘은 LLM 공모전 때 사용한 GCP 사용법에 대해 간략히 작성해보려고 합니다.
GCP란?
Google Cloud Platform(GCP)의 약자로 Google이 클라우드상에서 제공하는 서비스들의 총칭입니다.
GCP 사용배경?
때는 바야흐로 2024년 07월... 어쩌다 Dacon을 탐방(?) 하는데 LLM 관련 공모전 안내가 떴지 뭐에요!
'재정정보 AI 검색 알고리즘 경진대회'로 공모전 주제는 LLM을 이용한 질의 응답 솔루션을 만드는 것이었습니다.
안그래도 요즘 LLM에 대해서 공부중이었고 관련 공모전이 있으면 참가하고 싶었는데 마침 타이밍 좋게 발견한 거에요!! 그래서 당장 팀원을 모아서 참가신청을 했죠!!
그렇게 순조롭게 진행이 되는가 싶었는데.. 가장 큰 문제가 있었습니다... LLM은 말 그대로 Large Language Model로써 모델 크기가 매우 컸고, 모델을 실행시키려면 GPU가 필수였습니다. 하지만 저같은 일반인은 개인 GPU가 없었고, GPU가 없으면 LLM을 쓸 수 없기에 공모전에 참가하는 의미가 없었던 겁니다..!!
그래서 그때부터 부랴부랴 GPU를 쓸 수 있는 방안에 대해서 고민해봤고, 각종 클라우드 혹은 코랩의 가격에 대해서 알아봤습니다.
그러던 중 GCP가 처음 사용시 90일 동안 300$ 무료 크레딧을 준다는 사실을 알게 됐고 공모전 기간 동안 (여유롭게는 아니지만) 사용가능할 것 같았습니다! 그리고 무료크레딧 뿐만 아니라 예전부터 GPU를 클라우드에서 돌려보고 싶었기 때문에 LLM 뿐만 아니라 클라우드까지 공부할 수 있는 좋은 기회라고 생각해 GCP에서 GPU를 사용하기로 결정했습니다!
GCP 사용법
참고로 저도 GCP 사용이 처음이라 미숙하고 다 알지는 못합니다!
따라서 아래 포스팅 내용 중 틀린 부분이 있다면 댓글로 알려주시면 감사하겠습니다!!
1. 무료 크레딧 받기
GCP 무료 크레딧 검색하면 아래와 같은 페이지가 나옵니다. 들어가서 '무료로 시작하기'를 클릭합니다.
무료로 시작하기 버튼을 누르면 아래와 같이 계정정보 킻 결제정보에 대한 창이 3단계로 뜨게됩니다. 그럼 그냥 간단하게 GCP에서 요구하는 대로 1, 2, 3단계에 걸쳐 개인정보 및 카드정보를 입력해주시면 됩니다.(참 쉽죠?) 아마 300$ 이하로 사용한다면 카드정보를 입력해도 돈은 빠져나가지 않을거에요!
참고로 GCP 무료 크레딧은 여러개의 구글 아이디를 가진다면 그 수 만큼 무료크레딧을 발급받을 수가 있더라구요! (지금 이 글을 쓰는 계정도 이전 계정의 무료크레딧이 만료되어 새 계정을 만들어 발급받았습니다. ㅜㅅㅜ)
이렇게 원하는 정보를 모두 입력하고 나면 아래와 같이 무료 크레딧이 생성됩니다!(빠밤!)
내년 2월 2일까지 300$(한화 415,762원)이 발급되었네요 ㅎㅎ 2월까지 한번 알차게 사용해보도록 하겠습니다
(A100 뺑뺑 돌릴거임.. 내맘임)
2. 프로젝트 생성하기
이제 무료 크레딧을 받았다면 프로젝트를 생성해야 합니다. 사실 무료 크레딧을 받았으면 자동으로 프로젝트가 생성되며 왼쪽 상단에 'My First Project'를 확인하실 수 있습니다.
만약 새로운 프로젝트를 만들고 싶으시다면 My First Project 오른쪽 역삼각형을 클릭하시고 오른쪽 상단에 '새 프로젝트'를 클릭하시면 됩니다.
새 프로젝트를 누르면 아래와 같이 프로젝트를 만드는 창이 뜨게 되고 이제 여기에 프로젝트 이름을 입력해주시면 됩니다. 전 dacon 공모전에서 llm 모델을 사용하기 위해 gcp를 사용하기 때문에 dacon이라고 프로젝트 이름을 만들고 위치조직은 그냥 '조직 없음'으로 설정했습니다.
이제 그렇다면 만들어진 프로젝트에서 VM 인스턴스를 생성해 볼까요?
3. VM 인스턴스 생성 사전 준비작업
3-1. Compute Engine API 설치
GCP에서 GPU를 생성하기 위해선 VM인스턴스를 생성해야 합니다. 왼쪽 상단에 보면 'Google Cloud' 왼쪽에 세개의 작대기가 있는걸 확인할 수 있고 클릭하시면 아래 그림과 같이 나오게 됩니다. 여기서 'Compute Engine' > 'VM 인스턴스 생성'을 클릭하시면 됩니다.
그럼 아래와같이 Compute Engine API라는게 뜨는데 여기서 사용을 클릭해주시면 돼요! 이때 몇 분 정도가 소요되니 인내심을 갖고 기다립시다!
그럼 짜잔! 이렇게 아래와 같이 VM 인스턴스 만들기 창이 생성되게 됩니다! 여기서 상단의 '인스턴스 만들기'를 클릭해서 VM 인스턴스를 만들기 시작합니다.
3-2. 할당량 조정
인스턴스 만들기 버튼을 클릭하면 아래와 같은 내용이 뜨게 되는데요.
일단 저희가 설정해야 하는 옵션들은 이름, 리전, 영역 그리고 머신 구성에서 GPU 유형 및 GPU의 수 입니다.
우선 이름 칸엔 VM인스턴스 이름을 작성해줍니다. 저는 DACON으로 작성했습니다.
그렇다면 이제 리전과 영역을 설정해줘야 하는데 리전..? 영역..? 그냥 내가 좋아하는 거 하면 되나..? 싶은데요!
아닙니다!
GCP 리전 및 영역에 들어가서 내가 원하는 GPU는 무엇이고 그에 해당하는 리전과 영역을 확인해야 제가 원하는 GPU를 사용할 수 있습니다!
저의 경우는 A100을 돌리기를 희망했기 때문에 아래 그림에서 A2 표준에 속했고, GPU머신 유형을 선택했을 때 A2표준에 필터를 걸어 사용가능한 영역을 확인했습니다.
확인결과 노란색으로 표시한 부분의('asia-northeaset1-a'부터 'us-west4-b') 리전 및 영역을 사용할 수 있겠네요.
그럼 이제 리전이랑 영역 하라는대로 설정하면 GPU를 얻을 수 있는건가?!!? 다 끝난건가?!
라고 하실 수 있겠지만.. 아닙니다.. 아직 한참 남았는데요.(공짜로 사용하는게 쉬운게 아니네요 흑흑)
해당 리전 및 영역의 GPU를 사용하려면 할당량을 조정해야 합니다. 기본적으로 할당량은 0으로 돼있기 때문에 1로 수정해야 GPU를 받을 수 있어요!
'IAM 및 관리자' > '할당량 시스템 한도'로 들어가주면 아래 그림과 같은 창이 나오게 됩니다.
여기서 할당량을 조정하기 위해선 일반계정을 활성화해야 하는데 위의 활성화 버튼을 눌러 할당량을 조절하도록 합시다.
그럼 이제 필터부분에 "이름 : NVIDIA A100 GPUs"를 필터걸고 할당량 원하는 위치의 A100을 선택해 할당량을 수정해줍니다.
새 값에는 조정할 값(1)을 작성해주시면 되고, 요청 설명은 그냥 개인적으로 알아서 작성하시면 됩니다.
(전 그냥 공모전관련~!이라고 작성했습니다. 자세한건 모르지만 저렇게 해도 할당량이 조정이 승인되더라구요!)
이렇게 상향 요청을 하고 나면 바로 되는 건 아니고 좀 기다려야 하더라구요! 그래봤자 최대 5분이 걸리진 않았습니다.
여기까지 VM 인스턴스 생성을 위한 사전작업을 알아봤습니다! 다음엔 VM인스턴스를 어떻게 만들고 제 컴퓨터에서 어떻게 클라우드를 띄워 GPU를 사용할 수 있는지 알아보도록 하겠습니다.
긴 글 읽어주셔서 감사하고 궁금하신 점 있으면 댓글로 물어봐주세요!!