Cloud TPU-VM에 VSCODE로 SSH 접속하기
23년 이전 글/TPU

Cloud TPU-VM에 VSCODE로 SSH 접속하기

Cloud TPU
VSCODE 로고

 

TRC(TPU Research Cloud)

TRC에 지원하면, 구글에서 경우에 따라 한달, 또는 두달 등의 TPU 무료 사용을 허가해줌

그러면 다음에 해당하는 자원을 마음껏 사용할 수 있음

  • us-central1-f 영역의 선점형 Cloud TPU v2-8 기기 100개
  • us-central1-f 영역의 주문형 Cloud TPU v2-8 기기 5개
  • europe-west4-a 영역의 주문형 Cloud TPU v3-8 기기 5개

선점형의 VM은 최대 24시간 밖에 유지되지 않는 단점이 있어 사용이 편할 수는 있으나 계속 유지할 수 없는 것이 단점이고, 주문형의 경우 한번씩 사용량이 꽉차서 만들어지지 않는 경우가 있지만 한번 만들어 두면 계속해서 쓸 수 있기 때문에 주문형을 선호 하는 편

그리고 특히, Colab에서 제공하는 Cloud TPU는 V2-8 기반으로, vram이  core 당8GB 이기 때문에, 무료로 Cloud TPU v3-8 코어당 vram 16GB를 쓸 수 있다는 것이 큰 장점.

 

VSCODE로 접속하는 이유

Cloud TPU 공식 예제에서는 Cloud TPU에 Google Cloud shell을 통해 SSH를 사용해서 접속하며, 간단한 Python Script를 통해서 학습하는 내용이 나오지만, Colab에서 주피터 노트북 형태로 코드를 짜던 사람들에게 갑자기 script 형태로 파이썬을 학습하는 것은 어색하고, 적응이 되지 않는다

아직 Compute engine의 SSH 기능 처럼 콘솔창에서 바로 VM에 접속하는 기능이 없기 때문에, 조금 불편한 감이 있어, 이를 Colab의 형태를 띈 상태에서 학습에 사용하기 위해 VSCODE를 사용해서 Cloud TPU VM에 SSH를 사용해서 접속하는 방법을 선택했다.

 

Putty를 통해 키 쌍 생성

putty는 RSA 형태의 키 쌍 생성을 위해 사용되는 유용한 툴

putty key generator 초기화면

Generate 버튼을 누르고, Load bar가 가득찰 때 까지 마우스를 움직임

key 생성 중

아래 빈칸에 해당하는 내용을 입력

키 발행

Key comment: Google e-mail 입력 예) asd@gmail.com

Key passphrase : 키 쌍으로 식별할 때 사용할 암호

Confirm passphrase : 암호 재입력

 

키쌍 발행 후 다음의 save public key,  save private key를 저장

필자의 경우, tpu_pub, tpu_private의 이름으로 저장

발행 후 저장 버튼

사실 위의 public key와 private key는 putty에서 사용하는 형식의 키로, 만일을 대비해서 저장한 것이었고 VSCODE에서 이 키를 쌍으로 사용하려면 OpenSSH 형태로 저장해야함

 

Export OpenSSH key 선택 후, 파일 저장

필자의 경우, tpu_openssh로 저장

export openssh key

 

다음으로 Public Key를 구글에 메타 정보에 입력해야함. 반드시 Public key 빠짐 없이 복사해야함

발행한 pub key

 

GCP Console을 이용해서 키 등록하기

TPU를 받았다는 것은, 프로젝트를 생성하고 그 프로젝트 번호를 통해 TPU 사용 권한을 부여받았다는 것이므로, 프로젝트 생성에 관한 부분은 생략

좌측 상단에 메뉴바를 열어 Compute Engine => 메타 데이터 클릭

구글 콘솔 좌측 상단 메뉴바

 

SSH키 메뉴 버튼 클릭

구글클라우드 메타정보

SSH 키 추가 클릭

SSH 키 추가 화면

putty에서 만들었던 public key 입력. 반드시 맨 뒤에 자신의 구글 메일까지 복사되었는지 확인요망

SSH키 추가 항목

입력 후 저장을 누르면 등록 완료

SSH 등록 결과

 

TPU VM 만들기

Cloud TPU VM 생성은 여러가지 방법을 통해 할 수 있음. 여기에서는 GCP console을 통해 생성할건데, VM 사용률이 높아서 잘 생성이 안될 때는 명령어를 통해 생성하고, 반복 시도하는 것이 간편

 

Cloud TPU VM 사용자 가이드  |  Google Cloud

의견 보내기 Cloud TPU VM 사용자 가이드 이 가이드에서는 Cloud TPU VM을 사용하기 위해 Google Cloud Platform 프로젝트를 설정하는 방법을 설명합니다. 여기에서는 Cloud TPU VM을 사용하기 위한 명령어와 Clou

cloud.google.com

여기에 해당하는 부분을 실행한다. 이때 project_id에 본인의 프로젝트 id를 기입해야한다

Cloud TPU 실행 전 기본 명령어들

Compute engine => TPU로 이동

compute engine 메뉴바

TPU 노드 만들기 클릭

TPU 노드 만들기 버튼

이름 : 마음대로 지으면 됨

영역 : Cloud TPU V3-8은 europe-west4-a에서만 사용할 수 있음(trc 이메일에 사용허가된 곳 확인)

TPU  설정 : TPU VM 아키텍처가 TPU를 로컬처럼 사용할 수 있어 편리함

TPU 유형 : V3-8(v2-8 쓰려면 영역을 us-central로 변경,)

TPU 소프트웨어 버전 :   TPU VM 지원 되는 버전 참조

VM 만들기 설정
만들기 클릭

 

 

또는 GCP Cloud Shell을 열어서, Command로 작성하면 좀 더 편하게 시도할 수 있다

gcloud alpha compute tpus tpu-vm create [vm이름] \
--zone=[영역이름] \ 
--accelerator-type=[tpu타입] \ 
--version=[tpu소프트웨어]  #
gcloud alpha compute tpus tpu-vm create tpuvm-tf \
--zone=europe-west4-a \
--accelerator-type=v3-8 \
--version=tpu-vm-tf-2.6.0

Cloud shell에 위와 같이 입력하면 승인 요청화면이 뜬다

cloud shell 승인 화면

 

생성 이후에,  Cloud shell을 통해서 한번 ssh 접속을 해주어야 VSCODE를 통해 접속이 가능하다

gcloud alpha compute tpus tpu-vm ssh [vm이름] --zone=europe-west4-a

승인

다음과 같은 화면이 뜨면 VM 내부로 진입한 것이며, 드디어 VSCODE로 접속할 준비가 됨

cloud shell 에서 TPU vm SSH 접속

 

 

VSCODE로 TPU-VM에 SSH 접속하기

 

VSCODE에 Remote-SSH 확장 설치

vscode remote-ssh 확장

해당 컴퓨터 모양 클릭

ssh 아이콘

필자는 이미 등록해둔게 있어서 뭔가 있지만 신경쓰지 않고, 톱니(설정) 클릭

ssh 대상 목록 화면

설정 클릭

ssh 구성 파일 메뉴

config file을 저장할 파일 경로 setting (권한 문제 안생기도록 주의)

ssh config file 설정 화면

 
저장 후 돌아오면 다시 톱니바퀴를 클릭 후, 저장한 파일의 경로의 config를 열어보자
 
ssh config file 설정 열기
 
 
config 파일이 열리게 되는데, 여기에 접속하는 정보를 적어준다
 
Host 식별 하기 좋은 이름
    HostName vm외부아이피주소
    User 본인이메일  # 골뱅이 뒤는 제외
    Port 22
    IdentityFile 본인의 openssh키 경로
 
 

TPU 화면에서 vm외부 IP에 해당하는 주소를 적으면 됨

Cloud tpu vm 외부 ip 확인
 
config에 적고 save하면, SSH 대상에 식별하기 위한 이름을 가진 목록이 뜸,  우측 상단에 폴더 플러스 모양 클릭
vscode로 vm에 ssh 접속하기
 
 
새로운 VSCODE 창이 활성화 되며 다음의 창이 뜸, ubuntu 이기 때문에 Linux 클릭
 
운영체제 선택
 

yes를 입력하면, 한번 접속했던 기록을 토대로 위 linux 같은 선택을 다시 안해도 됨. yes 엔터

fingerprint 선택 화면
 
putty를 통해 public key 생성시 사용했던 passphrase 입력
 
passphrase 입력화면
 

SSH 접속 완료

VSCODE TPU VM 접속 완료

 

초기의 VM은 python과 tensorflow등의 기본 소프트웨어만 설치되어 있어, VSCODE 확장부터 주피터 노트북까지 다양한

프로그램을 설치해야한다. 이 내용은 2편에서 이어서 해보겠다

 

TPU-VM Colab처럼 활용하기

이 글을 읽기전에, 아래의 세팅을 해두고 오셔야 내용이 이어집니다 Cloud TPU-VM에 VSCODE로 SSH 접속하기 TRC(TPU Research Cloud) TRC에 지원하면, 구글에서 경우에 따라 한달, 또는 두달 등의 TPU 무료 사용

okdone.tistory.com

 


 

이 글은, Google로부터 지속적으로 TRC 프로그램을 통해 TPU VM을 사용하는데에 감사한 마음으로, 오픈소스 커뮤니티에 기여하고자, 공익 목적의 튜토리얼 글로, 초보자들 또한 TPU-VM에 손쉽게 다가가서 사용할 수 있도록 돕고자 쓰여진 글입니다.

TPU-VM 사용에 어려움이 있다면 언제든지 댓글을 주시거나, 제가 활동하고 있는 Tensorflow Korea 오픈채팅방에서 tf-keras-TPU trinity를 찾아주세요

 

 

텐서플로우 코리아 오픈채팅

참여코드는 텐서플로우 만든 회사이름 영문6자리 (OOOOOO) #텐서플로우 #인공지능 #딥러닝

open.kakao.com

 

 

반응형