이번에는 구글 클라우드 플랫폼(GCP)을 사용해서 음성합성을 하기까지의 과정을 말해보겠다.
크게 5단계로 나뉜다.
- 300$ 무료 크레딧 받기
- 프로젝트 생성 및 vm인스턴스 생성
- 버킷에 음성합성에 사용할 데이터 및 소스파일 업로드
- vm인스턴스 실행 및 개인 환경 설치 + cuda
- 학습 실행
참고로 나는 리눅스, 우분투에 많이 미숙하기 때문에 vm인스턴스의 운영체제를 window로 할 예정이다.
1단계
구글 클라우드를 처음 사용하는 사용자의 경우 3달간 사용할 수 있는 300$크레딧을 받을 수 있다.
구글에 '구글 클라우드'라고 검색하면 맨 위에 떠있다.
클릭을 하고 무료로 시작하기를 클릭하자.
개인정보와 결제수단(카드)에 관한 정보를 입력하면 300$를 바로 받을 수 있다.
결제에 들어가서 300$크레딧을 받았는지 확인해보자.
크레딧이 들어온 것을 확인했을 것이다. 이렇게 1단계는 끝.
2단계
우선 프로젝트를 만들어보자.
구글 클라우드 홈에서 역삼각형을 눌러보자.
누른 뒤, 새 프로젝트를 클릭하고 프로젝트를 만들자.
만들었으면 다시 역삼각형을 누르고 만들었던 프로젝트를 클릭한 뒤 열기를 누르자.
이렇게 프로젝트를 만들었다!
vm인스턴스에서 gpu를 할당하기 위해서는 할달량 증가를 요청해야 한다.
IAM 및 관리자 - 할달량 을 클릭하자.
그리고 gpus_all_regions의 할달량 옵션을 클릭하고 할달량 수정을 클릭한다. 그리고 할달량을 1로 수정하고 요청한다.
보통 요청을 하면 1~2시간 안에 답변이 온다.
할달량 증가가 정상적으로 적용되었다는 메일이 온다면 다음 단계로 넘어가자.
그다음은 vm인스턴스를 만들 차례이다. Compute Engine -> VM인스턴스를 클릭하자.
그다음 인스턴스 만들기를 클릭한다.
그리고 원하는 옵션들을 선택해서 생성하면 된다.
나의 경우는
GPU로는 A100 1개
부팅 디스크는 windows server-windows server 2022 datacenter-200GB
HTTP, HTTPS 트래픽 허용
고급옵션 - 관리 - 가용성 정책 - VM프로비저닝 모델 -> 광고(스팟)
을 옵션으로 두었다.
리전과 영역은 선택하는 gpu에 따라 불가능한 지역이 있으므로 잘 선택하길 바란다.
그리고 광고(스팟)은 다른 VM에 할당하기 위한 컴퓨터 용량을 확보해야 하는 경우 중지될 수 있는 VM를 설정하는 옵션이다.
이 옵션을 선택하게 되면 표준 VM에 비해 60~91%까지의 할인 혜택을 받을 수 있다.
그리고 사용할 gpu도 할달량 수정을 따로 해줄 필요가 있을 수도 있다. (a100, v100 등등)
만약 vm인스턴스 생성 시 gpu할달량 관련 오류로 생성이 안된다면, 위의 gpu할달량 증가처럼 사용할 gpu의 리전과 영역, 종류에 맞는 옵션을 선택한 후 할달량 증가 요청을 보내야 한다.
이렇게 해서 vm인스턴스가 생성이 되었다면 2단계도 끝이다.
3단계
우선 버킷을 만들어보자.
Cloud Storage - 브라우저를 클릭한 후, 버킷 만들기를 클릭하고 버킷을 만들자.
우린 음성합성용 데이터와 소스코드들을 이 버킷에 넣고 vm인스턴스에서 버킷의 내용을 받을 것이다.
나의 경우에는 음성합성용 데이터가 2만 개가 넘으므로 웹에서 업로드를 하면 렉이 걸리면서 실패한다.
따라서 google cloud sdk shell를 사용하여 넘겨줄 것이다.
https://cloud.google.com/sdk/docs/install?hl=ko
gcloud CLI 설치 | Google Cloud
gcloud CLI 설치 이 페이지에는 Google Cloud CLI 설치를 선택하고 유지하기 위한 안내가 포함되어 있습니다. Google Cloud CLI에는 gcloud, gsutil, bq 명령줄 도구가 포함됩니다. gcloud CLI 기능 목록은 모든 기능
cloud.google.com
위의 링크에서 sdk를 설치하자.
설치가 끝나면 아래와 같은 게 바탕화면에 있을 것이다.
gcloud auth login명령어를 통해 로그인을 하자.
'gsutil -m cp -r [옮길 자료의 path] gs://[버킷 이름]' 명령어를 입력하면 path에 있는 자료들이 버킷으로 업로드가 된다.
4단계
우선 vm인스턴스를 실행시켜보자.
위에서 RDP파일을 다운로드한다.
그리고 Windows 비밀번호를 받는다.
다운로드한 RDP파일을 실행 후 비밀번호를 입력하면 vm인스턴스가 실행된다.
실행이 되면, 아마 바탕화면에 휴지통과 google cloud sdk shell만 달랑 있을 거다.
sdk실행 후 'gsutil -m cp -r gs://[버킷 이름/폴더 이름] [파일 받을 위치]'를 입력한다.
그러면 버킷에 있던 음성합성 데이터와 소스 코드들이 다운이 될 것이다.
그다음은 소스코드를 실행하기 위해 환경 세팅을 할 차례다.
이 부분은 상세하게 언급하진 않겠다.(이미 기존 컴퓨터에서 다 해봤을 거니)
내 경우는 파이썬 설치, 아나콘다 설치, cuda&cudnn, pycharm, chrome정도 설치했다.
설치 후에는 필요한 라이브러리들을 설치했다.
환경 세팅이 다 끝나고 아래의 명령어를 통해 gpu가 잘 잡히는지 확인해보자.
import torch
print(torch.cuda.is_available())
print(torch.cuda.device_count())
print(torch.cuda.get_device_name(torch.cuda.current_device()))
5단계
코드 실행하면 끝.
학습 결과를 가져오고 싶으면 gsutil명령어를 통해 가져오도록 하자.
이렇게 해서 구글 클라우드의 gpu를 사용하여 음성합성 환경을 세팅하는 방법에 대해 알아보았다.
인스턴스 옵션을 나랑 똑같이 해놓았으면 대략 240시간 정도 인스턴스를 사용할 수 있을 것이다.
크레딧을 전부 사용해버리면 그 후에는 등록해놓은 카드(결제수단)에서 요금이 부과되니 조심하길 바란다.
(나도 크레딧 기한이 지나버려서 1천 원 정도 날아감)
사용해보니 확실히 속도가 빠르다. batch size도 32~64로 설정해도 잘 돌아가고.
역시 돈이 좋다.
'프로젝트 > 음성합성(tts)' 카테고리의 다른 글
구글 클라우드 서비스 사용 이후 꼭 해야 할 것 (0) | 2022.11.09 |
---|---|
캐릭터 보이스 만들기#10-최종결과 (6) | 2022.09.21 |
캐릭터 보이스 만들기#8-coqui-tts (0) | 2022.07.14 |
캐릭터 보이스 만들기#7-중간 결과 (0) | 2022.07.13 |
음성 합성 데이터 셋 제작 툴 (0) | 2022.05.19 |