기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
컨텍스트 병렬성
컨텍스트 병렬화는 시퀀스 차원을 따라 모델 활성화를 분할하는 일종의 모델 병렬 처리입니다. 및 만 분할하는 다른 시퀀스 병렬화RMSNorm
, 컨텍스트 병렬화는 시퀀스 차원을 따라 네트워크 LayerNorm
입력과 모든 중간 활성화를 분할합니다.
SMPv2는 컨텍스트 병렬화를 위해 Transformer Engine과
전문가 병렬 SMP 처리와 호환되는 Hugging Face Transformer 모델
SMPv2는 현재 다음과 같은 Hugging Face 트랜스포머 모델에 대한 컨텍스트 병렬 지원을 제공합니다.
-
GPT-NEOx
-
라마 2와 라마 3
전문가 병렬 처리 구성
클러스터의 context_parallel_degree parameter
수를 균등하게 나누는 값으로 설정합니다GPUs. 예를 들어, GPU 인스턴스가 8개인 경우 fors는 2, 4 또는 8을 context_parallel_degree
사용하십시오. 작은 context_parallel_degree
값부터 시작하여 모델이 필요한 입력 시퀀스 길이로 GPU 메모리에 들어갈 때까지 값을 점차 늘리는 것이 좋습니다.
다음 코드 스니펫은 에서 소개한 2단계 프로세스를 따르면서 교육 스크립트에 SMP 초기화 모듈을 torch.sagemaker.init()
추가하고 교육 작업 실행기에 사용할 수 있는 JSON 형식으로 SMP 구성 사전을 설정하는 방법을 보여줍니다. SageMaker 모델 병렬화 라이브러리 v2로 시작하기 모델이나 구성을 변경할 필요가 없습니다. PyTorch PyTorch FSDPcontext_parallel_degree
파라미터에 대한 자세한 내용은 SMPv2 핵심 기능 구성 매개변수을 참조하세요.
교육 스크립트에서
1단계에서 SMP v2를 torch.sagemaker.init()
활성화하도록 스크립트를 초기화하고 를 사용하여 모델을 래핑하십시오. 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 }