본문 바로가기

공부방/Upstage AI Lab 4기

머신러닝 경진대회 1 | 대회 파악 & 환경 세팅

드디어 부트캠프의 꽃(?) 경진대회가 시작된다!
업스테이지 4기 부트캠프에서는 총 4번의 경진대회가 있는데 그중 이번이 첫번째 대회이다. 

ML Advanced / Regression 대회  (이번에 진행하는 것!)
CV Advanced / Image Classification 대회
NLP Advanced /  Natural Language Inference 대회
OCR & RecSys & IR & AD / 1

오늘 오전 10시부터 11시까지는 대회 소개와 대회를 시작하기 전에 세팅해야 하는 것들에 대해서 특강이 있었다. 

대회 소개
House Price Prediction
서울의 아파트 실거래가 데이터를 기반으로 아파트 실거래가를 예측하는 대회
정형, 회귀, 금융, RMSE

대회 목표
정형 데이터 중 친숙한 부동산 주제의 데이터를 기반으로 머신러닝 프로세스 경험
제공된 데이터 뿐 아니라 외부 데이터 활용
다양한 방법론을 실험해보면서 모델의 성능을 높이는 방법과 데이터를 분석하는 경험

 

이번에 사용해볼 수 있는 알고리즘은 선형 회귀, 결정 트리, 랜덤 포레스트, 딥러닝 등이 있다.

제공되는 데이터셋은
1) 국토부에서 제공하는 아파트 실거래가 데이터 / 라이센스 정부 3.0 및 공공데이터 개방 https://rt.molit.go.kr/pre.html  
2, 3) 서울시에서 제공하는 지하철역, 버스정류장 등 정보 / CC BY https://data.seoul.go.kr/dataList/OA-15818/S/1/datasetView.do  
4)평가 데이터(최종 모델성능 검증을 위해 사용)

대회의 결과물은 csv로 제출하면 된다. 

  • input : 9,272개의 아파트 특징 및 거래정보
  • output : 9,272개의 input에 대한 예상 아파트 거래금액

평가지표는 RMSE(Root Mean Squared Error)를 사용한다. 

RMSE는 예측된 값과 실제 값 간의 평균편차를 측정합니다. 아파트 매매의 맥락에서는 회귀 모델이 실제 거래 가격의 차이를 얼마나 잘 잡아내는지 측정합니다. 출처: 대회 내 설명란에서 가져옴.

 

업스테이지에서 제공하는 GPU 학습 서버 환경을 세팅해보자! 나는 이런 식으로 서버를 사용해본 적이 없어서 처음에 세팅할 때 조금 낯설었는데 친절한 팀원들의 도움을 받아 완료할 수 있었다. 

1. 먼저 OpenVPN 설치(https://openvpn.net/client-connect-vpn-for-mac-os/)한다. 그리고 VPN 계정을 만들어서 유저네임이랑 비밀번호를 만들고 따로 저장해놓는다. 이걸로 로그인해서 들어간다. OpenVPN을 실행시킨 다음에 config file을 업로드한다. 

2. SSH 키를 생성하고 생성한 키를 잘 보관한다.( ~~~.pem 파일의 위치를 잘 기억해두기) SSH 키를 생성해야 GPU 서버를 생성할 수 있다. 키를 분실할 경우 서버에 접속이 안됨! (분실하면 서버를 종료 후 다시 생성) 

3. 서버 새성하고 포트는 2개로 맞추고, ssh키가 자동으로 여기에 들어간다. (서버 생성시 다운로드 받게 되는 ~~~.pem 파일은 GPU 서버에 SSH로 접속할 때 사용하는데 참고로 서버 생성시 단 1회만 다운로드 받을 수 있습니다.)

4. VPN이 연결된 상태에서 서버에 접속할 수 있는데, 터미널로 들어가는 법과 VS Code로도 들어갈 수 있다. (대회가 끝난 뒤에는 서버 내 작업물을 백업할 것!) 

- 터미널로 들어갈 때 : cd Downloads로 들어간 다음에 Remote Access(SSH)에 들어간 걸 복사해서 터미널에 입력하면 접속된다.  
터미널에서 서버 종료하기: Ctrl + D 

 

- VS Code로 서버 들어가기 

위 화면에서 뜨는 빨간 동그라미 안에 아까 그 SSH 입력하면 된다. (전체 말고 ssh -i ~~~.pem -p 포트번호 root@ 번호 어쩌고저쩌고) 이걸 복붙하면 됨. 이때 config 파일을 편집할 수 있게 나오는데 이걸 누르고 

config 문서 안에 내 정보를 잘 맞게 입력해준다. (IdentityFile에 pem 파일이 저장된 경로를 넣는데, 나는 여기 오타가 들어가서 오류났었다. 오타 빼니 잘 됨!! ) 

이러면 세팅 완료! (친절하게 알려주신 팀원들에게 무궁한 감사를...)

이 서버에 처음 접속하면 root로 들어가게 되는데 오픈 폴더를 한 다음에 data/emphemral/home로 들어가서 이걸 즐겨찾기(?)해두고 여기서 작업하면 된다. root가 아니라 data/emphemral/home 으로 들어가야 하는 이유는 잘 모르겠지만 데이터 용량(?) 때문이라고..? 

(root)에 마운트된 디스크의 여유 용량은 약 20GB 이하로 제한적입니다. root 디스크를 과도하게 사용하는 경우 시스템 안정성을 위해 서버가 강제 종료됩니다. /data/ephemeral/home/ 디스크에 100GB를 추가로 제공해드리고 있으니 될 수 있으면 해당 디렉토리 안에 파일들이 저장될 수 있도록 해주세요.

 

환경세팅을 마쳤으니, 이제 서버에 데이터셋과 베이스라인코드를 저장한다. 터미널에 들어가서 아래 명령어를 쳐주면 된다. 

- 데이터 : wget [URL 첨부]
ex) wget https://aistages-api-public-prod.s3.amazonaws.com ~ /data.tar.gz

압축 파일을 풀어준다. 데이터셋은 data.tar로 압축되어있고, 베이스라인코드는 code.tar로 압축되어 있다. 
tar -xf code.tar 이런 식으로 압축해제할 수 있다. 

이렇게 하면 환경세팅 끄으읕! 

 

다음 포스팅에서는 데이터셋을 열어보고 내용을 파악해보겠습니다. 

 


+ 참고

관련 대회
Dacon 아파트 실거래가 예측 대회(연습)
https://dacon.io/edu/1016/
Dacon 아파트 실거래가 예측 대회
https://dacon.io/competitions/official/21265/overview/description