SageMaker 모델 병렬 처리 라이브러리에 대한 릴리스 정보 - Amazon SageMaker

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

SageMaker 모델 병렬 처리 라이브러리에 대한 릴리스 정보

SageMaker 모델 병렬 처리(SMP) 라이브러리의 최신 업데이트를 추적하려면 다음 릴리스 정보를 참조하세요. SMP 라이브러리에 대한 추가 질문이 있는 경우 의 SMP 서비스 팀에 문의하세요sm-model-parallel-feedback@amazon.com.

SageMaker 모델 병렬 처리 라이브러리 v2.5.0

날짜: 2024년 8월 28일

SMP 라이브러리 업데이트

새로운 기능

  • Mixtral 모델의 P5 인스턴스에서 FP8 데이터 형식을 사용한 혼합 정밀도 훈련에 대한 지원이 추가되었습니다.

  • 다음 모델 구성에 컨텍스트 병렬 처리 대한 지원이 추가되었습니다.

    • Llama-v2: 7B 및 70B

    • Llama-v3: 8B 및 70B

    • GPT-NeoX : 20B

  • 체크포인트를 비동기적으로 저장하기 위한 지원이 추가되었습니다. 자세한 내용은 를 사용한 체크포인트 지정 SMP을 참조하십시오.

    • Amazon EBS 또는 파일 서버를 사용하지 않고 체크포인트를 S3에 직접 저장할 수 있도록 지원합니다.

버그 수정

  • 사전 훈련된 모델 체크포인트를 로드하고 텐서 병렬 처리를 사용할 때 Llama 미세 조정 중에 예기치 않게 높은 초기 손실을 일으킨 문제를 해결했습니다.

참고

  • FP8 혼합 정밀도로 Mixtral에 활성화 체크포인트를 사용하려면 주의와 전문가 계층을 별도로 체크포인트해야 합니다. 올바르게 설정하는 예제는 Amazon SageMaker 예제 리포지토리의 예제 훈련 스크립트를 참조하세요.

알려진 문제

  • MoE 구성(torch.sagemaker.moe.moe_config.MoEConfig)의 균형 로드 밸런싱 유형은 현재 활성화 체크포인트와 호환되지 않습니다.

  • 컨텍스트 병렬 처리를 통해 GPT-NeoX는 훈련 전과 미세 조정 모두에서 성능 회귀를 보여줍니다.

  • P4 인스턴스의 GPT-NeoX의 경우 지연된 파라미터 초기화 변환 모델에서 Hugging Face 변환기 모델로 가중치를 직접 로드하면 첫 번째 단계에서 손실 불일치가 발생합니다.

SMP 도커 컨테이너

SMP 라이브러리 팀은 PyTorch 프레임워크 컨테이너 대신 Docker 컨테이너를 SageMaker 배포합니다. Python에서 PyTorch 추정기 클래스를 SageMaker 사용하고 SMP v2를 사용하도록 배포 구성을 SDK 지정하는 경우 는 SMP Docker 컨테이너를 SageMaker 자동으로 픽업합니다. 이 SMP v2 릴리스를 사용하려면 PythonSDK을 v2.224.0 이상으로 업그레이드합니다 SageMaker.

통화 업데이트

  • FlashAttention 라이브러리를 v2.5.8로 업그레이드했습니다.

  • Transformer Engine 라이브러리를 v1.8로 업그레이드했습니다.

    • Conda 환경에 Transformer Engine을 설치하려면 소스에서 를 빌드하고 특정 업스트림 수정(744624d, 27c6342, 7669bf3)을 체리-픽해야 합니다.

컨테이너 세부 정보:

  • SMP PyTorch v2.3.1용 도커 컨테이너와 CUDA v12.1

    658645717510.dkr.ecr.<region>.amazonaws.com/smdistributed-modelparallel:2.3.1-gpu-py311-cu121

    지원되는 리전 목록은 AWS 리전 단원을 참조하세요.

  • 사전 설치된 패키지

    • SMP 라이브러리 v2.5.0

    • SMDDP 라이브러리 v2.3.0

    • CUDNN v8.9.7.29

    • FlashAttention v2.5.8

    • TransformerEngine v1.8

    • Megatron v0.7.0

    • Hugging Face Transformers v4.40.1

    • Hugging Face Datasets 라이브러리 v2.19.0

    • EFA v1.32.0

    • NCCL v2.21.5

SMP Conda 채널

다음 S3 버킷은 SMP 서비스 팀이 호스팅하는 SMP 라이브러리의 퍼블릭 Conda 채널입니다. SageMaker HyperPod 클러스터와 같이 사용자 지정이 가능한 컴퓨팅 리소스가 많은 환경에 SMP v2 라이브러리를 설치하려면 이 Conda 채널을 사용하여 SMP 라이브러리를 올바르게 설치합니다.

  • https://sagemaker-distributed-model-parallel.s3.us-west-2.amazonaws.com/smp-v2/

일반적으로 Conda 채널에 대한 자세한 내용은 Conda 설명서채널을 참조하세요.

SageMaker 모델 병렬 처리 라이브러리 v2.4.0

날짜: 2024년 6월 20일

SMP 라이브러리 업데이트

버그 수정

  • SMP Transformer를 사용하는 동안 포워드 패스에 레이블이 전달되지 않을 때 잘못된 로짓 모양을 유발하는 버그를 수정했습니다.

통화 업데이트

  • PyTorch v2.3.1에 대한 지원이 추가되었습니다.

  • Python v3.11에 대한 지원이 추가되었습니다.

  • Hugging Face Transformers 라이브러리 v4.40.1에 대한 지원이 추가되었습니다.

사용 중단

  • Python v3.10에 대한 지원이 중단되었습니다.

  • v4.40.1 이전의 Hugging Face Transformers 라이브러리 버전에 대한 지원이 중단되었습니다.

기타 변경 사항

  • 서로 다른 순위에서 중복 제거된 텐서 저장을 전환하는 패치가 포함되어 있습니다. 자세한 내용은 PyTorch GitHub 리포지토리의 토론 스레드를 참조하세요.

알려진 문제

  • 손실이 급증했다가 더 높은 손실 값으로 재개하는 동시에 텐서 병렬 처리로 Llama-3 70B를 미세 조정하는 것으로 알려진 문제가 있습니다.

SMP 도커 컨테이너

SMP 라이브러리 팀은 PyTorch 프레임워크 컨테이너 대신 Docker 컨테이너를 SageMaker 배포합니다. Python에서 PyTorch 추정기 클래스를 SageMaker 사용하고 SMP v2를 사용하도록 배포 구성을 SDK 지정하는 경우 는 SMP Docker 컨테이너를 SageMaker 자동으로 픽업합니다. 이 SMP v2 릴리스를 사용하려면 PythonSDK을 v2.224.0 이상으로 업그레이드합니다 SageMaker.

통화 업데이트

  • SMDDP 라이브러리를 v2.3.0으로 업그레이드했습니다.

  • NCCL 라이브러리를 v2.21.5로 업그레이드했습니다.

  • EFA 소프트웨어를 v1.32.0으로 업그레이드했습니다.

사용 중단

컨테이너 세부 정보:

  • SMP PyTorch v2.3.1용 도커 컨테이너와 CUDA v12.1

    658645717510.dkr.ecr.us-west-2.amazonaws.com/smdistributed-modelparallel:2.3.1-gpu-py311-cu121
  • 사전 설치된 패키지

    • SMP 라이브러리 v2.4.0

    • SMDDP 라이브러리 v2.3.0

    • CUDNN v8.9.7.29

    • FlashAttention v2.3.3

    • TransformerEngine v1.2.1

    • Hugging Face Transformers v4.40.1

    • Hugging Face Datasets 라이브러리 v2.19.0

    • EFA v1.32.0

    • NCCL v2.21.5

SMP Conda 채널

다음 S3 버킷은 SMP 서비스 팀이 호스팅하는 SMP 라이브러리의 퍼블릭 Conda 채널입니다. SageMaker HyperPod 클러스터와 같이 사용자 지정이 가능한 컴퓨팅 리소스가 많은 환경에 SMP v2 라이브러리를 설치하려면 이 Conda 채널을 사용하여 SMP 라이브러리를 올바르게 설치합니다.

  • https://sagemaker-distributed-model-parallel.s3.us-west-2.amazonaws.com/smp-v2/

일반적으로 Conda 채널에 대한 자세한 내용은 Conda 설명서채널을 참조하세요.

SageMaker 모델 병렬 처리 라이브러리 v2.3.1

날짜: 2024년 5월 9일

버그 수정

  • moe_load_balancing=balanced 에서 전문가 병렬 처리를 torch.sagemaker.moe.moe_config.MoEConfig 위해 를 사용할 때 ImportError 발생하는 문제를 해결했습니다.

  • 가 활성화될 KeyErrortorch.sagemaker.transform 호출이 제기되는 미세 조정 문제를 수정load_state_dict_from_rank0했습니다.

  • 미세 조정을 out-of-memory 위해 Mixtral 8x22B와 같은 대규모 전문가 혼합(MoE ) 모델을 로드할 때 발생하는 () OOM오류를 수정했습니다.

SMP 도커 컨테이너

SMP 라이브러리 팀은 PyTorch 프레임워크 컨테이너 대신 Docker 컨테이너를 SageMaker 배포합니다. 이 릴리스는 앞서 언급한 버그 수정을 다음 SMP Docker 이미지에 통합합니다.

  • SMP PyTorch v12.1이 포함된 CUDA v2.2.0용 Docker 컨테이너

    658645717510.dkr.ecr.us-west-2.amazonaws.com/smdistributed-modelparallel:2.2.0-gpu-py310-cu121

SageMaker 모델 병렬 처리 라이브러리 v2.3.0

날짜: 2024년 4월 11일

새로운 기능

  • Mixture of Experts 변환기 모델을 지원하기 위해 새로운 핵심 기능인 전문가 병렬 처리 가 추가되었습니다. 자세한 내용은 전문가 병렬 처리을 참조하십시오.

SMP 도커 컨테이너

SMP 라이브러리 팀은 프레임워크 컨테이너 대신 Docker 컨테이너를 SageMaker PyTorch 배포합니다. SageMaker Python에서 PyTorch 추정기 클래스를 사용하고 SMP v2를 사용하도록 배포 구성을 SDK 지정하는 경우 는 SMP Docker 컨테이너를 SageMaker 자동으로 픽업합니다. 이 SMP v2 릴리스를 사용하려면 SageMaker PythonSDK을 v2.214.4 이상으로 업그레이드합니다.

  • SMP PyTorch v12.1이 포함된 CUDA v2.2.0용 Docker 컨테이너

    658645717510.dkr.ecr.us-west-2.amazonaws.com/smdistributed-modelparallel:2.2.0-gpu-py310-cu121
    • 이 Docker 컨테이너에 사전 설치된 패키지

      • SMDDP 라이브러리 v2.2.0

      • CUDNN v8.9.5.29

      • FlashAttention v2.3.3

      • TransformerEngine v1.2.1

      • Hugging Face Transformers v4.37.1

      • Hugging Face Datasets 라이브러리 v2.16.1

      • Megatron 코어 0.5.0

      • EFA v1.30.0

      • NCCL v2.19.4

SageMaker 모델 병렬 처리 라이브러리 v2.2.0

날짜: 2024년 3월 7일

새 기능

  • Transformer Engine 통합이 포함된 P5 인스턴스에서 다음 Hugging Face 변환기 모델 FP8 훈련에 대한 지원이 추가되었습니다.

    • GPT-NeoX

    • Llama 2

버그 수정

  • 텐서 병렬 처리 훈련 중에 AllGather 집합 호출 전에 텐서가 연속적이라고 보장되지 않는 버그를 수정했습니다.

통화 업데이트

  • PyTorch v2.2.0에 대한 지원이 추가되었습니다.

  • SMDDP 라이브러리를 v2.2.0으로 업그레이드했습니다.

  • FlashAttention 라이브러리를 v2.3.3으로 업그레이드했습니다.

  • NCCL 라이브러리를 v2.19.4로 업그레이드했습니다.

사용 중단

  • v1.2.0 이전의 Transformer Engine 버전에 대한 지원이 중단되었습니다.

알려진 문제

  • 현재 SMP 활성화 오프로딩 기능이 작동하지 않습니다. 대신 기본 PyTorch 활성화 오프로드 기능을 사용합니다.

기타 변경 사항

SMP 도커 컨테이너

SMP 라이브러리 팀은 프레임워크 컨테이너 대신 Docker 컨테이너를 SageMaker PyTorch 배포합니다. SageMaker Python에서 PyTorch 추정기 클래스를 사용하고 SMP v2를 사용하도록 배포 구성을 SDK 지정하는 경우 는 SMP Docker 컨테이너를 SageMaker 자동으로 픽업합니다. 이 SMP v2 릴리스를 사용하려면 SageMaker PythonSDK을 v2.212.0 이상으로 업그레이드합니다.

  • SMP PyTorch v12.1이 포함된 CUDA v2.2.0용 Docker 컨테이너

    658645717510.dkr.ecr.us-west-2.amazonaws.com/smdistributed-modelparallel:2.2.0-gpu-py310-cu121
    • P4d, P4de 및 P5 인스턴스에 사용 가능

    • 이 Docker 컨테이너에 사전 설치된 패키지

      • SMDDP 라이브러리 v2.2.0

      • CUDNN v8.9.5.29

      • FlashAttention v2.3.3

      • TransformerEngine v1.2.1

      • Hugging Face Transformers v4.37.1

      • Hugging Face Datasets 라이브러리 v2.16.1

      • EFA v1.30.0

      • NCCL v2.19.4

SageMaker 모델 병렬 처리 라이브러리 v2.1.0

날짜: 2024년 2월 6일

통화 업데이트

  • PyTorch v2.1.2에 대한 지원이 추가되었습니다.

사용 중단

  • Hugging Face Transformers v4.31.0에 대한 지원이 중단되었습니다.

알려진 문제

  • Hugging Face Llama 2 모델을 attn_implementation=flash_attention_2 및 를 사용하여 미세 조정FSDP하면 모델이 분산되는 문제가 발견되었습니다. 자세한 내용은 Hugging Face Transformers GitHub 리포지토리문제 티켓을 참조하세요. 분산 문제를 방지하려면 를 사용합니다attn_implementation=sdpa. 또는 를 설정하여 SMP 변환기 모델 구현을 사용합니다use_smp_implementation=True.

SMP 도커 컨테이너

SMP 라이브러리 팀은 프레임워크 컨테이너 대신 Docker 컨테이너를 SageMaker PyTorch 배포합니다. SageMaker Python에서 PyTorch 추정기 클래스를 사용하고 SMP v2를 사용하도록 배포 구성을 SDK 지정하는 경우 는 SMP Docker 컨테이너를 SageMaker 자동으로 픽업합니다. 이 SMP v2 릴리스를 사용하려면 SageMaker PythonSDK을 v2.207.0 이상으로 업그레이드합니다.

  • SMP PyTorch v12.1이 포함된 CUDA v2.1.2용 Docker 컨테이너

    658645717510.dkr.ecr.us-west-2.amazonaws.com/smdistributed-modelparallel:2.1.2-gpu-py310-cu121
    • P4d, P4de 및 P5 인스턴스에 사용 가능

    • 이 Docker 컨테이너에 사전 설치된 패키지

      • SMDDP 라이브러리 v2.1.0

      • CUDNN v8.9.5.29

      • FlashAttention v2.3.3

      • TransformerEngine v1.2.1

      • Hugging Face Transformers v4.37.1

      • Hugging Face Datasets 라이브러리 v2.16.1

      • EFA v1.30.0

SMP Conda 채널

다음 S3 버킷은 SMP 서비스 팀이 호스팅하는 퍼블릭 Conda 채널입니다. SageMaker HyperPod 클러스터와 같이 사용자 지정이 가능한 컴퓨팅 리소스가 많은 환경에 SMP v2 라이브러리를 설치하려면 이 Conda 채널을 사용하여 SMP 라이브러리를 올바르게 설치합니다.

  • https://sagemaker-distributed-model-parallel.s3.us-west-2.amazonaws.com/smp-v2/

Conda 채널에 대한 자세한 내용은 Conda 설명서채널을 참조하세요.

SageMaker 모델 병렬 처리 라이브러리 v2.0.0

날짜: 2023년 12월 19일

새로운 기능

다음과 같은 새 오퍼링을 사용하여 SageMaker 모델 병렬 처리(SMP) 라이브러리 v2.0.0을 릴리스했습니다.

  • SMP v1.x의 이전 torch.sagemaker 패키지에서 완전히 수정된 새 smdistributed.modelparallel.torch 패키지입니다.

  • PyTorch 2.0.1 지원.

  • 에 대한 지원 PyTorch FSDP.

  • Transformer Engine 라이브러리와 통합하여 Tensor 병렬 처리 구현.

  • SageMaker 훈련 및 를 모두 지원합니다SageMaker HyperPod.

변경 사항 해제

  • SMP v2는 를 APIs 완전히 개정하고 torch.sagemaker 패키지를 제공합니다. 대부분 torch.sagemaker.init() 모듈로 초기화하고 모델 병렬 구성 파라미터를 전달하기만 하면 됩니다. 이 새 패키지를 사용하면 훈련 스크립트의 코드 수정을 크게 단순화할 수 있습니다. SMP v2를 사용하도록 훈련 스크립트를 조정하는 방법에 대한 자세한 내용은 섹션을 참조하세요 SageMaker 모델 병렬 처리 라이브러리 v2 사용.

  • Hugging Face Transformer 모델을 훈련하는 데 SMP v1을 사용했고 SMP v2에서 모델을 재사용하려는 경우 섹션을 참조하세요SMPv1에서 v2로 SMP 업그레이드.

  • 훈련의 경우 PyTorch FSDP SMP v2를 사용해야 합니다.

알려진 문제

  • 활성화 체크포인트는 현재 를 사용하는 다음 래핑 정책에서만 작동합니다FSDP.

    • auto_wrap_policy = functools.partial(transformer_auto_wrap_policy, ...)

  • 를 사용하려면 활성화 오프로딩 FSDP 활성화 체크포인트 유형이 여야 합니다REENTRANT.

  • 샤딩된 데이터 병렬 각도가 로 설정된 상태에서 텐서 병렬을 활성화한 상태로 실행 1중인 경우 를 사용해야 합니다backend = nccl. 이 시나리오에서는 smddp 백엔드 옵션이 지원되지 않습니다.

  • 텐서 병렬 처리를 사용하지 않는 경우에도 SMP 라이브러리 PyTorch 에서 를 사용하려면 Transformer Engine이 필요합니다.

기타 변경 사항

사용 중단

  • 에 대한 지원이 중단되었습니다 TensorFlow.

  • SMP v2에서는 파이프라인 병렬 처리를 지원하지 않습니다.

  • 네이티브 PyTorch 에 유리한 DeepSpeed 라이브러리는 지원되지 않습니다FSDP.

SMP 도커 컨테이너

SMP 라이브러리 팀은 프레임워크 컨테이너 대신 Docker 컨테이너를 SageMaker PyTorch 배포합니다. SageMaker Python에서 PyTorch 추정기 클래스를 사용하고 SMP v2를 사용하도록 배포 구성을 SDK 지정하는 경우 는 SMP Docker 컨테이너를 SageMaker 자동으로 픽업합니다. 이 SMP v2 릴리스를 사용하려면 SageMaker PythonSDK을 v2.207.0 이상으로 업그레이드합니다.

  • SMP PyTorch v2.0.1용 도커 컨테이너와 CUDA v12.1

    658645717510.dkr.ecr.us-west-2.amazonaws.com/smdistributed-modelparallel:2.0.1-gpu-py310-cu121