AI랩에서 R&D 목적으로 LLM을 AWS GPU 환경에서 성능 테스트 해보려고 함

  • 테스트 모델
    • MiniGPT-4(w/ Llama-2-7b-chat-hf) -> 최소 20GB GPU 필요
    • KORLLM(KoAlpaca-Polyglot-8B, Polyglot-Kor-5-8B, Kullm-polyglot-12-8b-v2) -> 최소 80GB GPU 필요, 단일 A100 수준
  • 예상 AWS 인스턴스 최소사양
    • ml.g5.2xlarge
    • ml.g5.12xlarge


Agenda: Simplifying DL workflows on AWS

  • Development experience (IDE)
  • DL Frameworks
  • Infrastructure Compute (CPUs, GPUs), Storage

AWS - Sagemaker - EC2 - S3 - IAM - Certification


EC2 (Amazon Elastic Compute Cloud)

구성 - 인스턴스 $\leftrightarrow$ 컴퓨팅 - EBS $\leftrightarrow$ 스토리지 - ENI $\leftrightarrow$ 네트워크

EC2 G5 Instances

  • High performance GPU-based instances for graphics-intensive applications and machine learning inference


  • ml.g5.2xlarge
    • 단일 GPU VM
    • 24 GPU 메모리
    • 1.212 USD/시간 (2023-12-13, 미국 동부(버지니아 북부) AWS 리전 기준)
  • ml.g5.12xlarge
    • 다중 GPU VM
    • 96 GPU 메모리
    • 5.672 USD/시간 (2023-12-13, 미국 동부(버지니아 북부) AWS 리전 기준)


Commands

GPU 확인

  • lspci | grep -i nvidia : GPU 확인
    $ lspci | grep -i nvidia
    00:1e.0 3D controller: NVIDIA Corporation GA102GL [A10G] (rev al)
    
  • NVIDIA GPU 상태 확인
    $ nvidia-smi
    

SSH 연결

ssh -i {key_address} {user_id@public IPv4 DNS}

Ubuntu apt-get 명령어

  • 패키지 인덱스 인덱스 정보를 업데이트
    • : apt-get은 인덱스를 가지고 있는데 이 인덱스는 /etc/apt/sources.list에 있습니다. 이곳에 저장된 저장소에서 사용할 패키지의 정보를 얻습니다.
$ sudo apt-get update
  • 설치된 패키지 업그래이드 : 설치되어 있는 패키지를 모두 새버전으로 업그레이드 합니다.
$ sudo apt-get upgrade

쿠다 설치 및 확인

$ sudo apt install nvidia-cuda-toolkit # 쿠다 설치
$ nvcc -v # 쿠다 컴파일러 버전 체크

아나콘다 설치


Amazon SageMaker (추후 적용) ### Amazon SageMaker (추후 적용) - 완전 관리형 머신러닝 서비스 - **구축** - 사전에 빌드된 노트북 인스턴스 - 고도로 최적화된 머신러닝 알고리즘 제공 - 노트북 인스턴스: Jupyter 노트북 앱을 실행하는 종합관리형 ML 컴퓨팅 인스턴스 - **학습** - 한번 클릭으로 ML, DL, 커스텀 알고리즘 학습 - 하이퍼파라미터 최적화를 통한 손쉬운 학습 - 어떤 프레임워크던지 모두 수행 가능 - **세이지메이커 지원 프레임워크** - MxNet, TensorFlow, PyTorch, Chainer, Gluon, Keras 등 - **배포**: 엔지니어링 업무(서버 생성, 웹서비스 구축, 엔드포인트 생성 등)이 필요없이 배포 가능 - **확장성 있는 완전 관리형 모델 호스팅**

최근 포스트

[Machine Learning] 서포트 벡터 머신(Support Vecrtor Machine, SVM)

6 분 소요

서포트 벡터 머신(Support Vecrtor Machine, SVM) 서포트 벡터 머신(Support Vecrtor Machine, SVM) 은 분류 과제에 사용할 수 있는 강력한 머신러닝 지도학습 모델이다. 일단 이 SVM의 개념만 최대한 쉽게 설명해본다. 중간중간 파이썬 라이...

Data Analytics vs Data Analysis

3 분 소요

기술에 대한 기본 지식이 있는 경우 Data Analytics과 Data Analysis라는 용어를 접했을 것입니다. 이 둘의 차이점이나 유사점에 대해 생각해 본 적이 있나요? 많은 사람들이 둘 다 같은 것으로 오해하고 있습니다. 이 둘이 동일하거나 유사하다고 생각하나요?