Google Cloud의 AI Platform Notebooks로 손쉽게 경쟁 환경 구축

kaggle이나 SIGNATE와 같은 데이터 분석 대회에서는 때로는 대용량 데이터를 다룰 수 있으므로 랩톱 PC에서는 메모리가 부족해질 수 있습니다. 그러한 경우는 쭈쭈 PC를 구입하거나 GCP나 AWS와 같은 클라우드 환경을 이용합니다만, 후자는 프로그래밍 초보자에게는 어려운 면이 있습니다. Google Cloud의 AI Platform Notebooks를 사용하면 비교 분석 환경을 쉽게 만들 수 있도록 소개하고 싶습니다.

AI Platform Notebook의 인스턴스 만들기


  • Google Cloud Platform에서 새 프로젝트를 만듭니다. (typo에서 propject가 되어 버렸습니다)
  • 네비게이션 메뉴 > 인공지능 > AI Platform > 노트북을 선택합니다.
  • API를 활성화하지 않은 경우 활성화합니다.
  • 새 인스턴스에서 원하는 환경을 선택합니다. (이번에는 Customize instance 선택)
  • 환경을 설정합니다. (이번에는 경쟁에 필요한 라이브러리가 한 번에 설치된 Kaggle Python을 선택하십시오.)
  • 저장 후 잠시 후 인스턴스가 생성되므로 JUPITER LAB를 열면 JUPITER LAB이 열립니다.

  • 스왑 영역 설정



    pandas에서 집계 작업을 할 때나 LightGBM에서 훈련 전에 bin을 좋은 느낌으로 설정할 때 등 순간적으로 메모리가 필요할 수 있습니다. 평상시는 그렇게 메모리를 사용하지 않는데, 피크 때만 메모리가 필요하기 때문이라는 이유로 메모리의 큰 인스턴스를 세우고 싶지는 않네요. 이 경우 스왑 영역을 설정하면 해결할 수 있습니다.
  • 노트북 인스턴스 목록에서 구성할 인스턴스의 이름을 클릭합니다.
  • 원격 액세스 > SSH를 누릅니다.
  • 다음 명령을 입력합니다. (이번에는 32GiB 스왑 영역 설정)
  • sudo dd if=/dev/zero of=/swapfile bs=1M count=32768
    sudo chmod 600 /swapfile
    sudo mkswap /swapfile
    sudo swapon /swapfile
    


  • 잠시 기다리면 스왑 영역이 생성되므로 top 명령으로 스왑 영역이 있는지 확인합니다.


  • Google Cloud Storage에서 데이터를 전송합니다.



    JUPYTER LAB에서 직접 데이터를 업로드할 수도 있지만 대용량 데이터를 여러 인스턴스에 업로드하려는 경우 Google Cloud Storage를 릴레이하는 것이 유용합니다.
  • 노트북 인스턴스 목록에서 인스턴스 이름을 클릭하고 서비스 계정 이름을 기록해 둡니다.

  • 탐색 메뉴 > 스토리지 > 스토리지 > 브라우저를 선택합니다.
  • 버킷을 만듭니다.
  • 탐색에 따라 스토리지를 구성합니다. (잘 모르겠지만 액세스 제어를 균일하게합니다)
  • 버킷을 만들면 권한 탭으로 이동하여 이전에 기록한 서비스 계정에 권한을 부여합니다.

  • 버킷에 전송할 파일을 업로드합니다. (폴더를 작성하고 정리하면 편리합니다)
  • JUPYTER LAB을 열고 terminal을 열고 다음 명령으로 전송합니다. (-r은 여러 파일을 보낼 때의 속성입니다)
  • gsutil cp -r [転送したいディレクトリ] [転送先のディレクトリ]
    



    결론



    대회에 참가해 보고 싶지만 높은 PC를 사는 것은 조금…
    처음 300$ 무료 그래서 꼭 사용해보십시오.

    좋은 웹페이지 즐겨찾기