Amazon FSx for Lustre와 Amazon SageMaker를 이용한 초거대 모델을 학습 환경 만들기
<1> 초거대 모델의 학습 환경에 필요한 것?
<2> 초거대 모델 학습 환경 구성 - Amazon FSx for Lustre
<3> 초거대 모델 학습 환경 작동 원리 - Amazon SageMaker
<1> 초거대 모델의 학습 환경에 필요한 것?
데이터의 증가에 따른 대용량 데이터 저장소
컴퓨팅 리소스는 저장소의 데이터를 빠르게 처리 필요
인스턴스 간 높은 네트워크 대역폭
GPU 서버 확장성
동일한 학습 환경 관리 - 각 컴퓨팅 리소스에 동일하게 필요한 학습 라이브러리 설치
<2> 초거대 모델 학습 환경 구성 - Amazon FSx for Lustre
1
Lustre는?
빠른 처리량을 제공하는 파일 시스템.
2
동작?
클러스터 내에 파일 서버가 있다.
저장 공간이 커질수록 파일 서버수를 증가시켜 한꺼번에 많은 파일을 병렬로 처리할 수 있도록 함.
3
p4d 인스턴스는 8개의 A100 GPU가 들어가 있다.
하나의 인스턴스에서는 전체 320GB의 GPU를 활용할 수 있다.
p4d 인스턴스는 인스턴스 간 400 Gbps 통신 지원
각 인스턴스의 GPU 간 통신을 직접 수행하는 GPU direct over EFA를 제공한다.
EFA (Elastic Fabric Adapter )로 인스턴스 간 빠른 통신을 제공하기 위해 AWS 자체 개발기술 적용.
<3> 초거대 모델 학습 환경 작동 원리 - Amazon SageMaker
SageMaker는 데이터 사이언티스트가 인프라 구성 작업에 대해 최대한 신경 쓰지 않고
쉽게 처리할 수 있도록 관리형 학습 서비스를 제공한다.
작동원리?
1
콘솔에서 SageMaker notebook을 생성한다.
모델을 학습할 학습 코드와 학습 작업을 실행할 학습 작업 실행 노트북을 모두 작성
학습 작업을 실행
설정한 학습 작업에 맞게 요청한 학습 인스턴스 타입과 수가 자동으로 준비된다.
2
노트북에 있는 학습 코드와 함께 관련된 파이썬 파일들은 자동으로 각 학습 인스턴스들로 복사가 된다.
3
데이터를 러스터에서 읽는다.
학습 작업 실행 노트북에서 러스터의 위치를 선언하면, 학습이 실행될 때
각 학습 인스턴스들에 러스터가 마운트 되어 데이터를 읽을 수 있게 된다.
4
파이 토치나 텐 수플로 등 자주 사용하는 딥러닝 프레임 쿼드와 학습에 필요한 일반 라이브러리들은
이미 설치된 켄터 이너 이미지들은 기본적으로 세이즈 메이커에서 제공한다.
이 컨테이너 이미지들은 학습 실행과 함께 자동으로 학습 인스텐스에 가져오게 된다.
5
커스템 컨테이너 이미지를 만들어야 하는 경우는 ECR을 사용한다.
6
모델 학습 결과는 S3에 저장된다.
<4> 초거대 모델의 학습 환경 구성 순서
1
네트워크 구성
VPC 구성
2
보안 그룹 설정
3
데이터 저장소 구성
FSx for Lustre 설정
4
Amazon SageMaker 노트북 생성
5
A학습 모델 학습 코드 내 경로 수정
6
학습 작업의 실행 노트북 작성
<5> 초거대 모델의 학습 환경 구성 순서 - 상세
1
VPC 구성
VPC 마법사 사용. public , private 1 개,
충분한 IP 제공 필요. /24명 가능한 건 251개이다.
P4d 인스턴스는 1개 수행 시 총 6개 ip 사용.
만일 50개의 p4D이면 300개의 ip 가 필요
2
보안 그룹 설정
3
FSx for Lustre 설정
2가지 타입 모드가 있다.
단기간의 경우는 Scratch 사용 - 에러시 다시 구성 필요.
장기는 Persistent 사용 - 항상 복제본을 유지하여 에러 시도 사용 가능.
데이터 압축 타입 제공 - 저장 공간을 작게 사용- 이미지는 압축이 잘 안 됨.
데이터 저장소 연결 필요.
4
학습 코드 내 경로 수정
5
학습 작업의 실행 노트북 작성
<6> 초거대 모델 학습 시 팁
1
대량의 인스턴스 활용 시, 아마존과 사전 협의해야 안정적 리소스 활용 가능
인스턴수 타입과 수
사용 예상시간
특정 리전 여부
서포트 케이스를 통해 세이즈 메이커의 제약 확인 또는 증가 요청 필수.
2
모델 결과물 저장 시 최대 용량 주의
ml.p4d,24 xlarge 기준 , 8 테라 SSD가 제공된다. 약 6 테라까지 가능하다.
6 테라가 넘을 경우 FSx for Luster를 저장 공간으로 사용 가능
https://brunch.co.kr/@topasvga/2439
감사합니다.