패스트캠퍼스와 업스테이지가 제공하는 Upstage AI Lab 부트캠프에 참여하는 수강생에게
Upstage에서는 경진대회별로 AWS에 GPU서버를 만들어서 수강생 한분 한분에게 제공합니다.
수강생 입장에서 서버받아서 설정하고 사용하는 방법을 정리했습니다.

업스테이지 제공한 Upstage AI Lab 경진대회 참여를 위한 서버세팅 작업 가이드 (←클릭)


1. AI Stages 웹사이트 설정 (Upstage에서 개발한 경진대회 플랫폼) (Stages.ai/en)

1.1 VPN 설치 (향후 AI Stages에서 하는 모든 경진대회에서 그대로 사용가능)

  • VPN 설치 (OpenVPN GUI)
  • VPN 계정 생성
  • VPN 연결
    • 윈도우 우측 하단 작은 아이콘 눌러서 실행 후 접속

1.2 대회참여 / 서버생성 / pem 파일 저장 (여기서부터는 경진대회별 재설정 필요)

  • 우상단 AI Competition -> 해당대회 -> 대회 참여 버튼 클릭
    - 중간에 있는 Team Management에서 같은 팀원끼리 팀형성
  • 서버 생성에 필요한 SSH 키 생성
  • 서버 -> 서버 목록 -> 새 서버 생성 클릭
  • pem 파일 로컬에 다운로드 하기
    • pem 파일은 인증 용도로 사용되며 text 비밀번호 대신에 pem 파일로 인증됨
    • Upstage에서 제공한 AWS 상에 있는 GPU 서버에 접속 시 비밀번호를 입력하지 않고 로컬에 있는 pem 파일로 경로를 사전에 입력해주면 자동으로 인증 절차를 통과함

2. 터미널로 서버 접속

2.1 로컬 터미널에서 원격 서버 접속하기

  • 로컬 컴퓨터의 Git Bash 등 Linux 명령어 실행환경에서 원격 서버 접속되는지 확인하기
    • AI Stages -> 서버 -> 서버 목록 -> 사용 중인 서버의 원격접속(SSH) 명령어 복사
    • ssh -i "pem 파일 절대 경로" -p 포트번호 IP
    • Git Bash 등에 붙여넣고 실행하기
    • pem 파일 권한 오류 발생
    • 비밀번호 입력하라고 나오거나, 파일의 권한이 너무 오픈되어 있다고 나온다

Bad permissions. Try removing permissions for user: BUILTIN\\Users (S-1-5-32-545) on file C:/pem 파일 경로. @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ WARNING: UNPROTECTED PRIVATE KEY FILE! @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ Permissions for 'C:/pem 파일 경로' are too open. It is required that your private key files are NOT accessible by others. This private key will be ignored. Load key "C:/pem 파일 경로": bad permissions no such identity: pem 파일: No such file or directory

2.2 pem파일 권한 오류 해결 (윈도우 사용자) (←관련 자료 클릭)

  • 사용자 수정
    • pem파일 마우스 우클릭 후 속성 클릭
    • 보안탭 클릭
    • "그룹 또는 사용자 이름(G)"에서 편집 버튼 클릭
    • 컴퓨터 소유자 본인 이름의 계정 하나 빼고 다른 계정(예: Users 등 여러명이 사용할 수 있게 되어있는 계정) 다 지우기
  • 사용 권한 수정
    • 위에서 선택한 계정에게 모든 권한 부여
  • 상속 사용 안 함
    • 고급 버튼 눌러서 "상속 사용 안 함" 클릭 후 확인 버튼 클릭

3. Visual Studio Code(VSC)에서 서버 접속하기 (←참고 자료 클릭)

3.1 "Remote - SSH" Extension을 VSC에서 설치

  • VSC 실행하기
  • 왼쪽 Extensions 아이콘 눌러서 "Remote - SSH" 검색하여 설치
  • F1 누르고 VSC 검색창에 > 표시가 나오면 config 검색하여
    Remote-SSH: Open SSH Configuration File ... 선택

3.2 원격접속 인증에 사용되는 pem 파일 경로를 config파일에 저장

  • 로컬에 저장된 config 파일 경로 선택 (예: C:\Users\사용자명.ssh\config)
  • config 파일 내용에 사용하려는 원격서버 설정란에 절대경로의 pem 위치가 지정되어 있는지 확인

3.3 Remote Explorer 활용하여 원격서버에 접속하기

  • 왼쪽에 컴퓨터 모양의 Remote Explorer 아이콘 클릭
    • SSH 폴더 위에 커서를 올리면 '+' 모양이 나타나는데 클릭
    • 검색창이 나오는데 ai stages에서 제공한 서버접속 명령어 입력 후 엔터
      • ssh -i "pem 파일 절대 경로" -p 포트번호 IP
    • config 파일 경로 선택
      • 예: C:\Users\사용자명.ssh\config
    • OS를 선택하라고 나오면 Linux를 선택 (Upstage에서 제공하는 GPU 서버의 OS가 Linux이므로 Linux선택)
    • SSH 폴더를 새로고침하거나 VSC 껏다키고 다시 "Remote Explorer"아이콘 누르면 서버 IP가 나옴
    • 서버 아이피 위에 커서를 올리면 우측에 화살표 모양이 나오는데 누르면 서버에 연결됨
    • VSC 왼쪽 상단에 Explorer버튼 누르면 원격 서버에 폴더와 파일목록이 나옴

4. 작업환경 설정

4.1 서버 작업폴더 확인

  • 이전에는 지정 폴더(/data/ephemeral/home)에서만 100G 사용이 가능했지만, 이제 지정폴더 없이 전체 서버 내에서 저장공간 상한선인 150G만 유지하면 됨
  • du -sh / 2>/dev/null 명령어로 현재 사용 중 저장공간 확인 가능

4.2 데이터 셋 다운로드

  • AI Stages 홈페이지의 해당 대회 배너 클릭
  • 데이터 탭 클릭
  • '데이터 개요' 탭에서 데이터 다운로드 링크 클릭
  • 서버 터미널에서 wget으로 파일 다운로드

4.3 베이스라인 코드(.ipynb) 파일 다운로드

  • AI Stages 홈페이지의 해당 대회 배너 클릭
  • 데이터 탭 클릭
  • '베이스라인 코드' 탭에서 데이터 다운로드 링크 클릭
  • 서버 터미널에서 wget으로 파일 다운로드
  • tar -xvf data.tar, tar -xvf code.tar 명령어로 압축 해제
  • Git Bash에서 ls로 볼 수 있는 파일들이 VSC에서 Explorer항목에서 보이면 됨

5. 원격 리눅스 서버에 Git 설정

  • GPU서버가 자주 사라진다고 한다.
    • 데이터가 부족하거나
    • 모델 훈련을 과하게 시키거나 등 알 수 없는 이유로
    • 그래서 수시로 작업내용을 백업하는 것이 중요한데
    • 개인 Github과 연동해놓고 작업 중간마다 Github에 Push하면, 서버가 날라가더라도 다시 살릴 수 있다.
    • 업스테이지 제공 GPU 서버에서 Git 설치하는 방법(←클릭)

6. 서버 재설치

  • 가끔 서버가 사라진다거나
  • 너무 느려져서 껐다 키고(reboot) 싶지만 할 수 없다. 그럴 경우엔...
  • 서버를 지우고 다시 만들면 된다.
    • 대신, 안에 들어있는 내용은 github에 push하던지 다운로드 잘 해야 함.
    • 나같은 경우에는, github에 push만 했지만, 그 밖에 github에 안 올라갈 파일들을 별도로 만들었는데, 그걸 다운 안 받아서, 나중에 낭패를 본 적이 있었다.
    • 꼭 공유해서는 안 되는 파일들 빼고, 웬만한 파일들은 그냥 github repository 안에 넣고 backup 해야 문제가 없을 듯 하다.
  • AI Stages에서 "Terminate"를 누르면 새로 서버 만드는 버튼이 활성화된다.
profile
AI 클라우드 웹개발자

0개의 댓글