기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
SageMaker 모델 병렬화 라이브러리의 릴리스 노트
SageMaker 모델 병렬성 () 라이브러리의 최신 업데이트를 추적하려면 다음 릴리스 노트를 참조하십시오. SMP SMP라이브러리에 대한 추가 질문이 있는 경우 SMP 서비스 팀에 문의하십시오. sm-model-parallel-feedback@amazon.com
SageMaker 모델 병렬화 라이브러리 v2.5.0
날짜: 2024년 8월 28일
SMP라이브러리 업데이트
새로운 기능
-
Mixtral 모델의 P5 인스턴스에서 FP8 데이터 형식을 사용하는 혼합 정밀도 훈련에 대한 지원이 추가되었습니다.
-
지원되는 믹스트럴 구성은 8x7B 및 8x22B입니다. 자세한 내용은 트랜스포머 엔진을 사용하여 P5 인스턴스를 이용한 FP8 복합 정밀 훈련을 참조하십시오.
-
-
다음 모델 구성에 대한 지원이 추가되었습니다. 컨텍스트 병렬성
-
라마-v2:7B 및 70B
-
라마-v3:8B 및 70B
-
GPT-네오엑스: 20B
-
-
체크포인트를 비동기적으로 저장하는 지원이 추가되었습니다. 자세한 내용은 체크포인팅: 사용 SMP을 참조하십시오.
-
Amazon EBS 또는 파일 서버를 사용하지 않고 S3에 직접 체크포인트를 저장할 수 있도록 지원합니다.
-
버그 수정
-
사전 학습된 모델 체크포인트를 로드하고 텐서 병렬화를 활용할 때 Lama 미세 조정 중에 예기치 않게 높은 초기 손실이 발생하는 문제가 해결되었습니다.
참고
-
FP8혼합 정밀도가 적용된 Mixtral의 활성화 체크포인트를 사용하려면 주의 계층과 전문가 계층을 별도로 체크포인트를 지정해야 합니다. 올바르게 설정하는 예제는 Amazon Examples 리포지토리의 SageMaker 예제 교육 스크립트를
참조하십시오.
알려진 문제
-
MoE 구성 (torch.sagemaker.moe.moe_config.MoEConfig) 의 밸런스 로드 밸런싱 유형은 현재 활성화 체크포인트와 호환되지 않습니다.
-
컨텍스트 병렬화를 사용하면 GPT -NEOx는 사전 학습과 미세 조정 모두에서 성능 저하를 보여줍니다.
-
P4 인스턴스의 GPT -NEOx의 경우 지연된 매개변수로 초기화된 변환 모델에서 Hugging Face 변환기 모델로 가중치를 직접 로드하면 첫 번째 단계에서 손실 불일치가 발생합니다.
SMP도커 컨테이너
SMP라이브러리 팀은 프레임워크 컨테이너 대신 Docker 컨테이너를 배포합니다. SageMaker PyTorch SageMakerSDKPython에서 PyTorch estimator 클래스를 사용하고 SMP v2를 사용하도록 배포 구성을 지정하는 경우 Docker 컨테이너를 SageMaker 자동으로 선택합니다. SMP 이번 SMP v2 릴리스를 SDK 사용하려면 SageMaker Python을 v2.224.0 이상으로 업그레이드하십시오.
통화 업데이트
-
FlashAttention 라이브러리를 v2.5.8로 업그레이드
-
트랜스포머 엔진 라이브러리를 v1.8로 업그레이드했습니다.
컨테이너 세부 정보:
-
SMPv2.3.1 버전 (v12.1 포함) 용 도커 컨테이너 PyTorch CUDA
658645717510.dkr.ecr.
<region>
.amazonaws.com/smdistributed-modelparallel:2.3.1-gpu-py311-cu121지원되는 리전 목록은 AWS 리전 단원을 참조하세요.
-
사전 설치된 패키지
-
SMP라이브러리 v2.5.0
-
라이브러리 v2.3.0 SMDDP
-
CUDNNv8.9.7.29
-
FlashAttention v2.5.8
-
TransformerEngine v1.8
-
메가트론 v0.7.0
-
Hugging Face 트랜스포머 v4.40.1
-
Hugging Face 데이터세트 라이브러리 v2.19.0
-
EFAv1.32.0
-
NCCLv2.21.5
-
SMP콘다 채널
다음 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라이브러리 업데이트
버그 수정
-
SMPTransformer를 사용하는 동안 순방향 패스에서 레이블이 전달되지 않으면 잘못된 로짓 셰이프가 발생하는 버그가 수정되었습니다.
통화 업데이트
-
PyTorch v2.3.1에 대한 지원이 추가되었습니다.
-
Python v3.11에 대한 지원이 추가되었습니다.
-
Hugging Face 트랜스포머 라이브러리 v4.40.1에 대한 지원이 추가되었습니다.
지원 중단
-
Python v3.10에 대한 지원이 중단되었습니다.
-
v4.40.1 이전의 Hugging Face Transformer 라이브러리 버전에 대한 지원이 중단되었습니다.
기타 변경 사항
-
중복 제거된 텐서를 다른 순위에 저장하도록 전환하는 패치가 포함되었습니다. 자세한 내용은 리포지토리의 토론
스레드를 참조하십시오. PyTorch GitHub
알려진 문제
-
텐서 병렬 처리를 사용하여 Llama-3 70B를 미세 조정할 때 손실이 급증했다가 더 높은 손실 값에서 다시 시작될 수 있다는 알려진 문제가 있습니다.
SMP도커 컨테이너
SMP라이브러리 팀은 프레임워크 컨테이너 대신 Docker 컨테이너를 배포합니다. SageMaker PyTorch SageMakerSDKPython에서 PyTorch estimator 클래스를 사용하고 SMP v2를 사용하도록 배포 구성을 지정하는 경우 Docker 컨테이너를 SageMaker 자동으로 선택합니다. SMP 이번 SMP v2 릴리스를 SDK 사용하려면 SageMaker Python을 v2.224.0 이상으로 업그레이드하십시오.
통화 업데이트
-
SMDDP라이브러리를 v2.3.0으로 업그레이드했습니다.
-
NCCL라이브러리를 v2.21.5로 업그레이드했습니다.
-
EFA소프트웨어를 v1.32.0으로 업그레이드했습니다.
지원 중단
-
토치 분산 실험용 (TorchDistX
) 라이브러리 설치를 중단했습니다.
컨테이너 세부 정보:
-
SMPv2.3.1 버전 (v12.1 포함) 용 도커 컨테이너 PyTorch CUDA
658645717510.dkr.ecr.
us-west-2
.amazonaws.com/smdistributed-modelparallel:2.3.1-gpu-py311-cu121 -
사전 설치된 패키지
-
SMP라이브러리 v2.4.0
-
라이브러리 SMDDP v2.3.0
-
CUDNNv8.9.7.29
-
FlashAttention v2.3.3
-
TransformerEngine v1.2.1
-
Hugging Face 트랜스포머 v4.40.1
-
Hugging Face 데이터세트 라이브러리 v2.19.0
-
EFAv1.32.0
-
NCCLv2.21.5
-
SMP콘다 채널
다음 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일
버그 수정
-
전문가 병렬 처리를 torch.sagemaker.moe.moe_config.MoEConfig 위해 in을 사용할
moe_load_balancing=balanced
때ImportError
발생하는 문제가 수정되었습니다. -
활성화되었을 때 torch.sagemaker.transform 호출이 발생하는 미세 조정 문제를 수정했습니다.
KeyError
load_state_dict_from_rank0
-
미세 조정을 위해 out-of-memory Mixtral 8x22B와 같은 대규모 전문가 혼합 (MoE) 모델을 로드할 때 발생하는 () 오류를 수정했습니다. OOM
SMP도커 컨테이너
SMP라이브러리 팀은 프레임워크 컨테이너 대신 Docker 컨테이너를 배포합니다. SageMaker PyTorch 이 릴리스에는 앞서 언급한 버그 수정이 다음 Docker 이미지에 통합되어 있습니다. SMP
-
SMPv2.2.0용 도커 컨테이너 (v12.1 포함) PyTorch CUDA
658645717510.dkr.ecr.
us-west-2
.amazonaws.com/smdistributed-modelparallel:2.2.0-gpu-py310-cu121
모델 병렬화 라이브러리 v2.3.0 SageMaker
날짜: 2024년 4월 11일
새로운 기능
-
믹스드 오브 엑스퍼트 트랜스포머 모델을 지원하기 위해 새로운 핵심 기능인 전문가 병렬 처리가 추가되었습니다. 자세한 내용은 전문가 병렬 처리을 참조하십시오.
SMPDocker 컨테이너
SMP라이브러리 팀은 프레임워크 컨테이너 대신 Docker 컨테이너를 배포합니다. SageMaker PyTorch SageMaker SDKPython에서 PyTorch estimator 클래스를 사용하고 SMP v2를 사용하도록 배포 구성을 지정하는 경우 Docker 컨테이너를 SageMaker 자동으로 선택합니다. SMP 이번 SMP v2 릴리스를 SDK 사용하려면 SageMaker Python을 v2.214.4 이상으로 업그레이드하십시오.
-
SMPv2.2.0용 도커 컨테이너 (v12.1 포함) PyTorch CUDA
658645717510.dkr.ecr.
us-west-2
.amazonaws.com/smdistributed-modelparallel:2.2.0-gpu-py310-cu121-
이 Docker 컨테이너에 사전 설치된 패키지
-
라이브러리 SMDDP v2.2.0
-
CUDNNv8.9.5.29
-
FlashAttention v2.3.3
-
TransformerEngine v1.2.1
-
허깅 페이스 트랜스포머 v4.37.1
-
Hugging Face 데이터세트 라이브러리 v2.16.1
-
메가트론-코어 0.5.0
-
EFAv1.30.0
-
NCCLv2.19.4
-
-
SageMaker 모델 병렬화 라이브러리 v2.2.0
날짜: 2024년 3월 7일
새로운 기능
-
트랜스포머 엔진 통합을 통해 P5 인스턴스에서 다음과 같은 Hugging Face 트랜스포머 모델의 FP8트레이닝에 대한 지원이 추가되었습니다.
-
GPT-NEOx
-
라마 2
-
버그 수정
-
텐서 병렬 처리 훈련 중에
AllGather
집단 호출 전에 텐서의 연속성이 보장되지 않는 버그를 수정했습니다.
커런시 업데이트
-
PyTorch v2.2.0에 대한 지원이 추가되었습니다.
-
SMDDP라이브러리를 v2.2.0으로 업그레이드했습니다.
-
FlashAttention 라이브러리를 v2.3.3으로 업그레이드했습니다.
-
NCCL라이브러리를 v2.19.4로 업그레이드했습니다.
지원 중단
-
v1.2.0 이전의 트랜스포머 엔진 버전에 대한 지원이 중단되었습니다.
알려진 문제
-
이 SMP 활성화 오프로딩 기능은 현재 작동하지 않습니다. 대신 네이티브 PyTorch 활성화 오프로딩을 사용하세요.
기타 변경사항
-
리포지토리의 https://github.com/pytorch/pytorch/issues/117748의
이슈 스레드에서 논의된 성능 저하를 수정하기 위한 패치가 포함되었습니다. PyTorch GitHub
SMP도커 컨테이너
SMP라이브러리 팀은 프레임워크 컨테이너 대신 Docker 컨테이너를 배포합니다. SageMaker PyTorch SageMaker SDKPython에서 PyTorch estimator 클래스를 사용하고 SMP v2를 사용하도록 배포 구성을 지정하는 경우 Docker 컨테이너를 SageMaker 자동으로 선택합니다. SMP 이번 SMP v2 릴리스를 SDK 사용하려면 SageMaker Python을 v2.212.0 이상으로 업그레이드하십시오.
-
SMPv2.2.0용 도커 컨테이너 (v12.1 포함) PyTorch CUDA
658645717510.dkr.ecr.
us-west-2
.amazonaws.com/smdistributed-modelparallel:2.2.0-gpu-py310-cu121-
P4d, P4de 및 P5 인스턴스에 사용할 수 있습니다.
-
이 Docker 컨테이너에 사전 설치된 패키지
-
라이브러리 SMDDP v2.2.0
-
CUDNNv8.9.5.29
-
FlashAttention v2.3.3
-
TransformerEngine v1.2.1
-
허깅 페이스 트랜스포머 v4.37.1
-
Hugging Face 데이터세트 라이브러리 v2.16.1
-
EFAv1.30.0
-
NCCLv2.19.4
-
-
SageMaker 모델 병렬화 라이브러리 v2.1.0
날짜: 2024년 2월 6일
통화 업데이트
-
PyTorch v2.1.2에 대한 지원이 추가되었습니다.
지원 중단
-
Hugging Face 트랜스포머 v4.31.0에 대한 지원이 중단되었습니다.
알려진 문제
-
Hugging Face Llama 2 모델을
attn_implementation=flash_attention_2
FSDP 와 함께 미세 조정하면 모델이 갈라지는 문제가 발견되었습니다. 참고로 Hugging Face GitHub Transformer 저장소의 이슈 티켓을참조하십시오. 다이버전스 문제를 피하려면 를 사용하세요. attn_implementation=sdpa
또는 설정을use_smp_implementation=True
통해 SMP 트랜스포머 모델 구현을 사용할 수도 있습니다.
SMP도커 컨테이너
SMP라이브러리 팀은 프레임워크 컨테이너 대신 Docker 컨테이너를 배포합니다. SageMaker PyTorch SageMaker SDKPython에서 PyTorch estimator 클래스를 사용하고 SMP v2를 사용하도록 배포 구성을 지정하는 경우 Docker 컨테이너를 SageMaker 자동으로 선택합니다. SMP 이번 SMP v2 릴리스를 SDK 사용하려면 SageMaker Python을 v2.207.0 이상으로 업그레이드하십시오.
-
SMPv2.1.2용 도커 컨테이너 (v12.1 포함) PyTorch CUDA
658645717510.dkr.ecr.
us-west-2
.amazonaws.com/smdistributed-modelparallel:2.1.2-gpu-py310-cu121-
P4d, P4de 및 P5 인스턴스에 사용할 수 있습니다.
-
이 Docker 컨테이너에 사전 설치된 패키지
-
라이브러리 SMDDP v2.1.0
-
CUDNNv8.9.5.29
-
FlashAttention v2.3.3
-
TransformerEngine v1.2.1
-
허깅 페이스 트랜스포머 v4.37.1
-
Hugging Face 데이터세트 라이브러리 v2.16.1
-
EFAv1.30.0
-
-
SMP콘다 채널
다음 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을 출시했습니다.
-
v1.x의
torch.sagemaker
이전 패키지를 완전히 개편한 새 패키지입니다.smdistributed.modelparallel.torch
SMP -
PyTorch 2.0.1을 지원합니다.
-
에 대한 지원 PyTorch FSDP.
-
SageMaker 교육 및 모두에 대한 지원 SageMaker HyperPod.
주요 변경 사항
-
SMPv2는 APIs 전체 내용을 수정하여 패키지를 제공합니다.
torch.sagemaker
대부분의 경우torch.sagemaker.init()
모듈로 초기화하고 모델 parallel 구성 파라미터를 전달하기만 하면 됩니다. 이 새 패키지를 사용하면 교육 스크립트의 코드 수정을 크게 단순화할 수 있습니다. SMPv2를 사용하도록 훈련 스크립트를 조정하는 방법에 대한 자세한 내용은 을 참조하십시오 SageMaker 모델 병렬화 라이브러리 v2로 시작하기. -
Hugging Face Transformer 모델 학습에 SMP v1을 사용했고 v2에서 SMP 모델을 재사용하려는 경우 을 참조하십시오. SMPv1에서 v2로 SMP 업그레이드
-
PyTorch FSDP교육용으로는 v2를 사용해야 합니다. SMP
알려진 문제
-
활성화 체크포인트는 현재 다음과 같은 래핑 정책에서만 작동합니다. FSDP
-
auto_wrap_policy = functools.partial(transformer_auto_wrap_policy, ...)
-
-
샤딩된 데이터 병렬도를 로 설정하고 텐서 병렬을
1
활성화한 상태에서 실행할 때는 반드시 사용해야 합니다.backend = nccl
이smddp
시나리오에서는 백엔드 옵션이 지원되지 않습니다. -
텐서 병렬 처리를 사용하지 않는 경우에도 SMP 라이브러리와 PyTorch 함께 사용하려면 Transformer Engine이
필요합니다.
기타 변경사항
-
이번 릴리스부터 SageMaker 모델 병렬화 라이브러리에 대한 설명서가 이 Amazon SageMaker 개발자 안내서에서 완전히 제공됩니다. Amazon SageMaker 개발자 안내서의 이 SMP v2용 개발자 안내서 전문을 참고하기 위해 SageMaker Python SDK 설명서의 SMP v1.x에 대한 추가 참조는
더 이상 사용되지 않습니다. v1.x에 대한 설명서가 여전히 필요한 경우 SMP v1.x용 개발자 안내서는 에서(아카이브) SageMaker 모델 병렬화 라이브러리 v1.x, Python 라이브러리 SMP v1.x 참조는 SMP Python v2.199.0 설명서에서 확인할 수 있습니다. SageMaker SDK
지원 중단에 관한 사항
-
에 대한 지원이 중단되었습니다. TensorFlow
-
v2에서는 파이프라인 병렬 처리가 지원되지 않습니다. SMP
-
네이티브를 선호하는 DeepSpeed 라이브러리는 지원되지 않습니다. PyTorch FSDP
SMPDocker 컨테이너
SMP라이브러리 팀은 프레임워크 컨테이너 대신 Docker 컨테이너를 배포합니다. SageMaker PyTorch SageMaker SDKPython에서 PyTorch estimator 클래스를 사용하고 SMP v2를 사용하도록 배포 구성을 지정하는 경우 Docker 컨테이너를 SageMaker 자동으로 선택합니다. SMP 이번 SMP v2 릴리스를 SDK 사용하려면 SageMaker Python을 v2.207.0 이상으로 업그레이드하십시오.
-
SMPv2.0.1용 도커 컨테이너 (v12.1 포함) PyTorch CUDA
658645717510.dkr.ecr.
us-west-2
.amazonaws.com/smdistributed-modelparallel:2.0.1-gpu-py310-cu121