쿠키 기본 설정 선택

당사는 사이트와 서비스를 제공하는 데 필요한 필수 쿠키 및 유사한 도구를 사용합니다. 고객이 사이트를 어떻게 사용하는지 파악하고 개선할 수 있도록 성능 쿠키를 사용해 익명의 통계를 수집합니다. 필수 쿠키는 비활성화할 수 없지만 '사용자 지정' 또는 ‘거부’를 클릭하여 성능 쿠키를 거부할 수 있습니다.

사용자가 동의하는 경우 AWS와 승인된 제3자도 쿠키를 사용하여 유용한 사이트 기능을 제공하고, 사용자의 기본 설정을 기억하고, 관련 광고를 비롯한 관련 콘텐츠를 표시합니다. 필수가 아닌 모든 쿠키를 수락하거나 거부하려면 ‘수락’ 또는 ‘거부’를 클릭하세요. 더 자세한 내용을 선택하려면 ‘사용자 정의’를 클릭하세요.

전문가 병렬 처리

포커스 모드
전문가 병렬 처리 - Amazon SageMaker AI

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Mixture of Experts(MoE) 모델은 희소 접근 방식을 사용하는 일종의 트랜스포머 모델로, 기존 고밀도 모델 훈련에 비해 훈련에 더 가볍습니다. 이 MoE 신경망 아키텍처에서는 각 입력에 전문가라는 모델 구성 요소의 하위 집합만 사용됩니다. 이 접근 방식은 모델 크기가 더 크더라도 더 효율적인 훈련과 더 빠른 추론을 비롯한 여러 이점을 제공합니다. 즉, 전체 밀도 모델을 훈련하기 위한 동일한 컴퓨팅 예산으로 MoE 를 사용할 때 더 큰 모델 또는 데이터세트를 맞출 수 있습니다.

MoE 모델은 신경망, 일반적으로 피드 포워드 네트워크(FFN)로 구성된 여러 전문가로 구성됩니다. 라우터라는 게이트 네트워크는 어떤 토큰이 어떤 전문가에게 전송되는지 결정합니다. 이러한 전문가는 입력 데이터의 특정 측면을 전문적으로 처리하여 모델을 더 빠르게 훈련하고 컴퓨팅 비용을 절감하는 동시에 대응 고밀도 모델과 동일한 성능 품질을 달성할 수 있습니다. 일반적으로 전문가 혼합에 대해 자세히 알아보려면 NVIDIA 개발자 웹 사이트의 LLM 아키텍처에서 전문가 혼합 적용 블로그를 참조하세요.

전문가 병렬 처리는 GPU 디바이스에서 MoE 모델의 전문가 분할을 처리하는 병렬 처리의 한 유형입니다.

SMP v2는 전문가 병렬 처리를 구현하기 위해 NVIDIA Megatron과 통합되어 MoE 모델 학습을 지원하며 PyTorch FSDP API를 기반으로 실행됩니다. PyTorch FSDP 훈련 코드를 그대로 계속 사용하고 MoE 모델 훈련을 위해 SMP 전문가 병렬 처리를 활성화합니다.

SMP 전문가 병렬 처리와 호환되는 Hugging Face 트랜스포머 모델

SMP v2는 현재 다음 Hugging Face 트랜스포머 모델에 대한 전문가 병렬 처리를 지원합니다.

전문가 병렬 처리 구성

expert_parallel_degree의 경우 전문가 병렬 처리 정도에 대한 값을 선택합니다. 값은 클러스터의 GPU 균등하게 나누어야 합니다. 예를 들어 GPU가 8개인 인스턴스를 사용하는 동안 모델을 샤딩하려면 2, 4 또는 8개 GPU 선택합니다. 적은 숫자로 시작하고 모델이 GPU 메모리에 적합할 때까지 점진적으로 늘리는 것이 좋습니다.

다음 코드 조각은 SageMaker 모델 병렬 처리 라이브러리 v2 사용에 도입된 2단계 프로세스를 따르면서 훈련 스크립트에 SMP 초기화 모듈 torch.sagemaker.init()을 추가하고 훈련 작업 시작 관리자를 위한 JSON 형식으로 SMP 구성 사전을 설정하는 방법을 보여줍니다. PyTorch 모델 또는 PyTorch FSDP 구성을 변경할 필요가 없습니다. expert_parallel_degree 파라미터에 대한 자세한 내용은 SMP v2 코어 기능 구성 파라미터를 참조하세요.

참고

하이브리드 샤딩 데이터 병렬 처리에서 전문가 병렬 처리를 사용할 수 있습니다. 전문가 병렬 처리는 현재 텐서 병렬 처리와 호환되지 않습니다.

참고

이 전문가 병렬 처리 훈련 기능은 SageMaker 라이브러리와 PyTorch 라이브러리의 다음 조합에서 사용할 수 있습니다.

  • SMP v2.3.0 이상

  • SageMaker Python SDK v2.214.4 이상

  • PyTorch v2.2.0 이상

훈련 스크립트에서

1단계의 일환으로 스크립트를 torch.sagemaker.init()로 초기화하여 SMP v2를 활성화하고 torch.sagemaker.transform API로 모델을 래핑하고 API에 config 파라미터를 추가하여 MoE 활성화합니다. 다음 코드 조각은 처음부터 훈련하는 from_config 방법 또는 미세 조정을 위한 from_pretrained 메서드를 사용하여 MoE 트랜스포머 모델 구성을 가져오는 일반 모델 클래스 AutoModelForCausalLM에 대해 SMP MoE를 활성화하는 방법을 보여줍니다. MoEConfig 클래스에 대한 자세한 내용을 알아보려면 torch.sagemaker.moe.moe_config.MoEConfig 섹션을 참조하세요.

# Import the torch.sagemaker.transform API and initialize. import torch.sagemaker as tsm tsm.init() # Import transformers AutoModelForCausalLM class. from transformers import AutoModelForCausalLM # Import the SMP-implementation of MoE configuration class. from torch.sagemaker.moe.moe_config import MoEConfig # Define a transformer model with an MoE model configuration model = AutoModelForCausalLM.from_config(MoEModelConfig) # Wrap it by torch.sagemaker.transform with the SMP MoE configuration. model = tsm.transform( model, config=MoEConfig( smp_moe=True, random_seed=12345, moe_load_balancing="sinkhorn", global_token_shuffle=False, moe_all_to_all_dispatcher=True, moe_aux_loss_coeff=0.001, moe_z_loss_coeff=0.001 ) )

SMP 구성

2단계의 일부로 SageMaker PyTorch 추정기의 SMP 구성 사전에 다음 파라미터를 추가합니다.

{ ..., # other SMP config parameters "expert_parallel_degree": 8 }
프라이버시사이트 이용 약관쿠키 기본 설정
© 2025, Amazon Web Services, Inc. 또는 계열사. All rights reserved.