기술 가이드

DeepSpeed 및 Megatron 훈련 스택

DeepSpeed(Microsoft) 및 Megatron-LM(NVIDIA)은 수천 개의 GPU에 걸쳐 수십억 개의 매개변수가 포함된 훈련 모델을 실제로 실현 가능하게 만드는 소프트웨어 스택입니다.

개요

DeepSpeed(Microsoft) 및 Megatron-LM(NVIDIA)은 수천 개의 GPU에 걸쳐 수십억 개의 매개변수가 포함된 훈련 모델을 실제로 실현 가능하게 만드는 소프트웨어 스택입니다. 이들이 없었다면 오늘날의 개척자 모델은 기억에 남을 수도, 합리적인 시간 내에 훈련을 마칠 수도 없었을 것입니다.

DeepSpeed ​​및 Megatron Training Stacks는 모델 품질, 인프라 비용, 대기 시간 및 규모에 따른 안정성에 영향을 미치는 기술 빌딩 블록입니다.

심층 분석

가중치, 기울기, 최적화 상태가 맞지 않기 때문에 하나의 GPU에서 대규모 모델을 훈련하는 것은 불가능합니다. 이러한 스택은 작업을 여러 GPU로 분할합니다. Megatron-LM은 GPU 전반에 걸쳐 각 레이어 내부의 개별 행렬 곱셈을 슬라이싱하는 텐서 병렬성과 다양한 GPU에 다양한 레이어를 배치하는 파이프라인 병렬성을 개척했습니다. DeepSpeed의 대표적인 기여는 ZeRO(Zero Redundancy Optimizer)로, 최적화 상태, 경사도 및 매개변수를 복제하는 대신 GPU 전체에 분산시켜 GPU당 메모리를 극적으로 줄입니다. BLOOM-176B 및 Megatron-Turing NLG와 같은 모델을 훈련하기 위해 두 가지를 결합하는 경우가 많습니다(Megatron-DeepSpeed). 또한 혼합 정밀도, 활성화 체크포인트, CPU 또는 NVMe에 대한 오프로드를 추가하여 거대한 모델이 제한된 하드웨어에서 훈련되도록 합니다.

기술적 통찰력

ZeRO에는 메모리 절약을 늘리는 3단계가 있습니다. 1단계는 샤드 최적화 상태이고, 2단계는 그라데이션도 샤딩하고, 3단계는 매개변수 자체를 샤딩하여 정방향 및 역방향 전달 중에 필요할 때 수집합니다. 텐서 병렬성(계층 내)과 파이프라인 병렬성(계층 간)이 결합되어 '3D 병렬성'을 형성합니다. 주요 긴장은 통신 오버헤드입니다. 모든 샤드 분할은 GPU-GPU 트래픽을 추가하므로 엔지니어는 분할을 조정하여 빠른 NVLink 및 InfiniBand 링크를 포화 상태로 유지합니다.

DeepSpeed 및 Megatron 트레이닝 스택 마스터하기

DeepSpeed(Microsoft) 및 Megatron-LM(NVIDIA)은 수천 개의 GPU에 걸쳐 수십억 개의 매개변수가 포함된 훈련 모델을 실제로 실현 가능하게 만드는 소프트웨어 스택입니다. 이들이 없었다면 오늘날의 개척자 모델은 기억에 남을 수도, 합리적인 시간 내에 훈련을 마칠 수도 없었을 것입니다. DeepSpeed ​​및 Megatron Training Stacks는 모델 품질, 인프라 비용, 대기 시간 및 규모에 따른 안정성에 영향을 미치는 기술 빌딩 블록입니다. 깊은 이해를 구축하려면 DeepSpeed ​​및 Megatron Training Stacks를 단일 기능이 아닌 운영 모델로 취급하십시오. 즉, 원하는 결과를 정의하고, 가정을 명확히 하고, 시스템이 안정적으로 수행할 수 있는 작업과 여전히 전문가 판단이 필요한 작업을 분리하세요.

실제로 DeepSpeed ​​및 Megatron Training Stacks를 사용하는 강력한 팀은 안정성과 비용에 맞춰 아키텍처, 데이터 및 인프라 선택을 최적화합니다. 명시적인 성공 기준을 문서화하고, 현실적인 데이터 및 워크플로를 기준으로 테스트하며, 일회성 벤치마크 승리보다는 관찰된 실패 패턴을 기반으로 반복합니다. 이론적 이해가 제품, 정책, 운영 전반에 걸쳐 지속 가능한 역량으로 바뀌는 곳입니다.

아키텍처 결정은 수년간 성능과 운영 비용을 결정합니다. 동시에 하나의 벤치마크를 최적화하면 더 광범위한 시스템 약점을 숨길 수 있습니다. 가장 탄력적인 접근 방식은 실험 속도와 거버넌스 규율을 결합하는 것입니다. 즉, 파일럿 실행, 증거 캡처, 결정 로그 게시, 모델 동작, 사용자 기대 및 규제 요구 사항이 발전함에 따라 보호 장치를 지속적으로 업데이트합니다.

전략적 영향

아키텍처 결정은 수년간 성능과 운영 비용을 결정합니다.

아키텍처 결정은 수년간 성능과 운영 비용을 결정합니다. 고품질 배포에서는 이는 측정 가능한 운영 규칙, 소유권 경계 및 반복적인 검토 의식으로 변환되므로 팀은 모호성을 확장하는 대신 자신감을 확장할 수 있습니다.

기술 교육은 팀이 최신 스택뿐만 아니라 올바른 스택을 선택하는 데 도움이 됩니다.

기술 교육은 팀이 최신 스택뿐만 아니라 올바른 스택을 선택하는 데 도움이 됩니다. 고품질 배포에서는 이는 측정 가능한 운영 규칙, 소유권 경계 및 반복적인 검토 의식으로 변환되므로 팀은 모호성을 확장하는 대신 자신감을 확장할 수 있습니다.

더 나은 엔지니어링 선택은 생산 시 신뢰성 사고를 줄입니다.

더 나은 엔지니어링 선택은 생산 시 신뢰성 사고를 줄입니다. 고품질 배포에서는 이는 측정 가능한 운영 규칙, 소유권 경계 및 반복적인 검토 의식으로 변환되므로 팀은 모호성을 확장하는 대신 자신감을 확장할 수 있습니다.

DeepSpeed 및 Megatron 트레이닝 스택의 미래

많은 ZeRO 아이디어를 흡수하여 연구 스택과 핵심 프레임워크 사이의 경계를 모호하게 하는 PyTorch의 기본 FSDP(완전 샤딩 데이터 병렬)와의 더욱 긴밀한 통합을 기대합니다. 컴파일러 기반 접근 방식과 자동 병렬성 플래너는 수동 조정을 제거하는 것을 목표로 합니다. 훈련 클러스터가 수십만 개의 가속기로 성장함에 따라 NVIDIA Blackwell 및 맞춤형 훈련 칩과 같은 새로운 하드웨어에 대한 지원과 함께 내결함성, 탄력적인 확장 및 계산과의 중복 통신이 지배적인 엔지니어링 영역이 되었습니다.

실제 구현

수백 개의 GPU에 걸쳐 결합된 Megatron-DeepSpeed ​​스택을 사용하여 개방형 다국어 BLOOM-176B 모델을 훈련합니다.

Microsoft 및 NVIDIA는 3D 병렬 처리를 통해 5,300억 매개변수 Megatron-Turing NLG 모델을 교육했습니다.

ZeRO-Offload를 사용하면 연구자는 최적화 프로그램 상태를 CPU RAM에 유출하여 단일 워크스테이션 GPU에서 수십억 개의 매개변수 모델을 미세 조정할 수 있습니다.

이러한 스택에서 활성화 체크포인트를 사용하면 활성화를 모두 저장하는 대신 다시 계산하여 더 긴 컨텍스트 창에 맞출 수 있습니다.

구현 패턴

DeepSpeed ​​및 Megatron 트레이닝 스택의 실제 사례

수백 개의 GPU에 걸쳐 결합된 Megatron-DeepSpeed ​​스택을 사용하여 개방형 다국어 BLOOM-176B 모델을 훈련합니다.

수백 개의 GPU에 걸쳐 결합된 Megatron-DeepSpeed ​​스택을 사용하여 개방형 다국어 BLOOM-176B 모델 교육 팀은 일반적으로 품질 임계값을 미리 정의하고, 극단적인 경우에 대한 인적 에스컬레이션 경로를 유지하고, 시간이 지남에 따라 생산성 향상과 오류 비용을 모두 추적할 때 더 나은 결과를 얻습니다.

DeepSpeed ​​및 Megatron 트레이닝 스택의 실제 사례

Microsoft 및 NVIDIA는 3D 병렬 처리를 통해 5,300억 매개변수 Megatron-Turing NLG 모델을 교육했습니다.

Microsoft 및 NVIDIA는 3D 병렬 처리를 통해 5,300억 매개변수 Megatron-Turing NLG 모델을 교육합니다. 팀은 일반적으로 품질 임계값을 미리 정의하고, 극단적인 경우에 대한 인적 에스컬레이션 경로를 유지하고, 시간이 지남에 따라 생산성 향상과 오류 비용을 모두 추적할 때 더 나은 결과를 얻습니다.

DeepSpeed ​​및 Megatron 트레이닝 스택의 실제 사례

ZeRO-Offload를 사용하면 연구자는 최적화 프로그램 상태를 CPU RAM에 유출하여 단일 워크스테이션 GPU에서 수십억 개의 매개변수 모델을 미세 조정할 수 있습니다.

ZeRO-Offload를 사용하면 연구자는 최적화 상태를 CPU RAM에 유출하여 단일 워크스테이션 GPU에서 수십억 개의 매개변수 모델을 미세 조정할 수 있습니다. 팀은 일반적으로 품질 임계값을 미리 정의하고, 극단적인 경우에 대한 인적 에스컬레이션 경로를 유지하고, 시간이 지남에 따라 생산성 향상과 오류 비용을 모두 추적할 때 더 나은 결과를 얻습니다.

DeepSpeed ​​및 Megatron 트레이닝 스택의 실제 사례

이러한 스택에서 활성화 체크포인트를 사용하면 활성화를 모두 저장하는 대신 다시 계산하여 더 긴 컨텍스트 창에 맞출 수 있습니다.

이러한 스택에서 활성화 체크포인트를 사용하여 활성화를 모두 저장하는 대신 다시 계산하여 더 긴 컨텍스트 창에 맞추면 일반적으로 팀은 품질 임계값을 미리 정의하고, 극단적인 경우에 대한 인적 에스컬레이션 경로를 유지하고, 시간이 지남에 따라 생산성 향상과 오류 비용을 모두 추적할 때 더 나은 결과를 얻습니다.

위험 및 가드레일

!

하나의 벤치마크를 최적화하면 더 광범위한 시스템 약점을 숨길 수 있습니다.

!

인프라 및 유지 관리 비용은 종종 과소평가됩니다.

!

시스템이 더욱 복잡해짐에 따라 보안 및 관찰 가능성의 격차가 커질 수 있습니다.

구현 로드맵

1

구현하기 전에 지연 시간, 품질, 비용 목표를 정의하세요.

구현하기 전에 지연 시간, 품질, 비용 목표를 정의하세요. 각 단계를 증거 게이트로 처리합니다. 기준이 충족되지 않으면 롤아웃을 일시 중지하고 간격을 좁힌 다음 사용을 확장합니다.

2

현실적인 로드 및 데이터 조건에서 벤치마킹합니다.

현실적인 로드 및 데이터 조건에서 벤치마킹합니다. 각 단계를 증거 게이트로 처리합니다. 기준이 충족되지 않으면 롤아웃을 일시 중지하고 간격을 좁힌 다음 사용을 확장합니다.

3

오류, 드리프트 및 사용자 영향에 대한 계측기 모니터링.

오류, 드리프트 및 사용자 영향에 대한 계측기 모니터링. 각 단계를 증거 게이트로 처리합니다. 기준이 충족되지 않으면 롤아웃을 일시 중지하고 간격을 좁힌 다음 사용을 확장합니다.

4

확장하기 전에 롤백 및 사고 대응 경로를 준비하세요.

확장하기 전에 롤백 및 사고 대응 경로를 준비하세요. 각 단계를 증거 게이트로 처리합니다. 기준이 충족되지 않으면 롤아웃을 일시 중지하고 간격을 좁힌 다음 사용을 확장합니다.

계속 탐색하세요