기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
컨텍스트 병렬 처리
컨텍스트 병렬 처리는 시퀀스 차원을 따라 모델 활성화를 분할하는 모델 병렬 처리의 한 유형입니다. LayerNorm
및 만 분할하는 다른 시퀀스 병렬 처리RMSNorm
컨텍스트 병렬 처리는 시퀀스 차원을 따라 네트워크 입력 및 모든 중간 활성화를 분할합니다.
SMP v2는 컨텍스트 병렬 처리를 위해 Transformer Engine
SMP 컨텍스트 병렬 처리와 호환되는 Hugging Face Transformer 모델
SMP v2는 현재 다음 Hugging Face 변환기 모델에 대한 컨텍스트 병렬 처리를 지원합니다.
-
GPT-NeoX
-
Llama 2 및 Llama 3
컨텍스트 병렬 처리 구성
context_parallel_degree parameter
를 GPUs 클러스터의 수를 균등하게 나눈 값으로 설정합니다. 예를 들어 인스턴스가 8GPU인 경우 에 2, 4 또는 8을 사용합니다context_parallel_degree
. 작은 context_parallel_degree
값으로 시작하여 모델이 필요한 입력 시퀀스 길이로 GPU 메모리에 적합할 때까지 점진적으로 늘리는 것이 좋습니다.
다음 코드 조각은 에 도입된 2단계 프로세스를 따르면서 훈련 스크립트torch.sagemaker.init()
에 SMP 초기화 모듈을 추가하고 훈련 작업 시작 관리자를 위한 JSON 형식으로 SMP 구성 사전을 설정하는 방법을 보여줍니다 SageMaker 모델 병렬 처리 라이브러리 v2 사용. PyTorch 모델 또는 PyTorch FSDPcontext_parallel_degree
파라미터에 대한 자세한 내용은 SMPv2 핵심 기능 구성 매개변수을 참조하세요.
훈련 스크립트에서
1단계의 일환으로 스크립트를 로 초기화torch.sagemaker.init()
하여 SMP v2를 활성화하고 모델을 torch.sagemaker.transform 로 래핑합니다API.
import torch.sagemaker as tsm tsm.init() from transformers import AutoModelForCausalLM model = AutoModelForCausalLM.from_config(..) model = tsm.transform(model)
SMP 구성
2단계의 일부로 SageMaker PyTorch 추정기의 SMP 구성 사전에 다음 파라미터를 추가합니다.
{ ..., # other SMP config parameters "context_parallel_degree": 2 }