distributed-training

4 개의 포스트

meta5분 읽기큐레이션 요약

GEM 트레이닝: Meta가 LLM 규모의 광고 파운데이션 모델 효율성을 두 배로 높인 방법

Meta의 GEM은 Instagram과 Facebook 광고 추천을 담당하는 기반 모델로, 최신 GPU 수천 장을 활용해 LLM 규모로 학습된다. Meta는 추천 시스템에 특화된 커널·초저정밀도·병렬화·네트워크·메모리를 함께 설계해 12개월 동안 학습 FLOPs를 4배 늘리면서 E2E 학습 효율을 20~25% MFU까지, 기존 대비 2배 향상했다. 핵심 결론은 LLM용 인프라를 그대로 적용하는 것만으로는 부족하며, 추천 모델의 데이터와 구조에 맞춘 하드웨어·소프트웨어 공동 설계가 필요하다는 것이다. ## GEM의 하이브리드 구조와 추천 데이터의 특성 - GEM은 Meta 광고 시스템의 중앙 추천 파운데이션 모델이다. - 수조 개의 희소 임베딩 파라미터와 수십억 개의 밀집 파라미터를 함께 사용한다. - 입력 데이터는 크게 두 종류다. - **시퀀스 특징**: 사용자의 활동 이력처럼 순서가 있는 데이터 - **비시퀀스 특징**: 사용자 위치, 광고 크리에이티브 표현 등 - 각 특징 그룹에는 별도의 어텐션 메커니즘을 적용하면서도, 서로 다른 특징 간 상호작용을 학습한다. - 이처럼 LLM과 추천 시스템의 구조가 결합되어 있어 일반적인 LLM 학습보다 GPU 활용과 분산 확장이 어렵다. ## 추천 모델에서 높은 GPU 활용률이 어려운 이유 - **가변적인 시퀀스 길이** - 사용자 활동 이력의 길이가 샘플마다 크게 다르다. - 모든 입력을 최대 길이에 맞춰 패딩하면 최대 50%의 연산이 낭비될 수 있다. - **비대칭적인 어텐션 형태** - 긴 활동 이력에 대해 긴 시퀀스와 짧은 어텐션 윈도우를 사용하는 self-attention - 긴 쿼리와 짧은 key/value를 사용하는 사용자-광고 cross-attention - 사용자 이력을 압축해 짧은 쿼리와 긴 key/value를 만드는 PMA - 이런 다양한 행렬 형태는 GPU 내부 파이프라이닝과 연산 유닛 포화를 어렵게 만든다. - **메모리 대역폭 중심 연산** - 작은 임베딩 차원의 MLP와 여러 정규화 연산은 계산량보다 메모리 접근의 영향을 크게 받는다. - 따라서 Tensor Core 등 GPU 연산 자원이 충분히 활용되지 않을 수 있다. - **정밀도 변화에 대한 민감성** - CTR·CVR 예측은 수치 변화에 민감하다. - 단순히 낮은 정밀도를 적용하면 모델 품질이 저하될 수 있어, 연산별로 정밀도를 신중하게 선택해야 한다. ## 수천 개 GPU로 확장할 때의 병목 - GEM의 학습 단계 지연 시간은 다음과 같이 결정된다. `E2E 지연 시간 = 각 GPU rank에서의 max(로컬 연산 시간, 통신 시간)` - 선형에 가까운 확장을 위해서는 다음 조건이 필요하다. - 전체 연산 시간이 통신 시간보다 충분히 커야 한다. - 통신을 연산 뒤에 숨기되 두 작업이 자원을 놓고 경쟁하지 않아야 한다. - 메모리 부족으로 인한 activation recomputation을 최소화해야 한다. - GPU rank 간 부하가 균등해야 한다. - GEM에서는 다음 문제가 이를 방해한다. - 수조 개 희소 파라미터와 수십억 개 밀집 파라미터가 큰 통신량을 만든다. - 레이어별 구조가 달라 연산과 통신을 겹칠 수 있는 시간이 일정하지 않다. - 긴 시퀀스와 큰 activation 때문에 메모리가 부족해 재계산이 발생한다. - 가변 시퀀스 길이로 인해 GPU마다 처리량이 달라지는 부하 불균형과 straggler가 생긴다. ## E2E MFU를 연산 효율과 확장 효율로 분해 - 전체 학습 효율은 다음 두 요소의 곱으로 정의한다. `E2E MFU = Local MFU × Scaling Ratio` - **Local MFU** - 단일 GPU의 연산 유닛을 얼마나 잘 활용하는지를 나타낸다. - 커널 설계, 수치 정밀도, 시퀀스 길이와 데이터 차원이 GPU 구조에 얼마나 잘 맞는지에 좌우된다. - **Scaling Ratio** - 단일 GPU 성능이 수천 개 GPU로 확장된 뒤 얼마나 유지되는지를 의미한다. - 1.0이면 완전한 선형 확장이지만, 실제로는 통신 오버헤드·부하 불균형·straggler·activation 재계산 때문에 낮아진다. - Meta는 레이어를 단일 GPU에서 개별 실행해 Local MFU를 측정하고, 통신과 activation 재계산의 영향을 제외한 기준 성능을 산출했다. - 이후 Local MFU와 E2E MFU의 비율을 통해 Scaling Ratio를 계산해 연산 병목과 분산 시스템 병목을 분리했다. ## GPU 연산 효율을 높인 맞춤형 커널과 정밀도 - 추천 모델의 비정형적인 입력과 어텐션 패턴에 맞춰 자체 추천용 커널 라이브러리를 개발했다. - 주요 커널은 다음과 같다. - **Jagged Flash Attention(JFA)**: 가변 길이 시퀀스를 패딩 낭비 없이 처리 - **Generalized Dot-Product Attention(GDPA)**: 추천 모델의 다양한 어텐션 형태에 대응 - **BlockAttention**: 블록 단위 연산으로 메모리 접근과 GPU 활용을 최적화 - 최신 GPU 아키텍처를 직접 활용하도록 커널을 설계해 추천 워크로드의 낮은 활용률을 개선했다. - 어텐션과 MLP에는 **MXFP8**을 포함한 혼합 초저정밀도 학습을 적용했다. - 모든 연산을 무조건 낮은 정밀도로 처리하지 않고, 광고 예측 품질에 민감한 특성을 고려해 연산별로 정밀도와 안정성을 조정했다. ## 네트워크와 결합한 5차원 병렬화 - 대규모 학습에서는 병렬화 방식 자체뿐 아니라 GPU와 네트워크 토폴로지의 매핑이 중요하다. - GEM은 네트워크 계층 구조를 고려한 **토폴로지 인지형 5D 병렬화**를 적용했다. - 밀집 파라미터에는 다음 조합을 사용했다. - 2D FSDP - Expert Parallelism - 희소 파라미터에는 **Fully Sharded 2D Model Parallelism**을 적용했다. - 통신 집단 연산은 GPU의 Streaming Multiprocessor(SM)를 점유하지 않는 방식으로 설계했다. - 통신이 연산 자원을 직접 빼앗지 않도록 해 연산과 통신의 충돌을 줄인다. - Meta의 다계층 네트워크 구조와 병렬화 전략을 함께 설계해 통신량과 통신 노출 시간을 줄였다. ## 성과와 설계 원칙 - 12개월 동안 총 학습 FLOPs를 4배로 확대했다. - 동시에 E2E 학습 효율을 2배 높여 20~25% MFU를 달성했다. - 성능 개선은 단일 기법이 아니라 다음 요소들의 결합으로 이루어졌다. - 추천 특화 커널 - 혼합 초저정밀도 - 희소·밀집 파라미터별 병렬화 - 네트워크 토폴로지 최적화 - SM 비점유 통신 - 메모리와 부하 균형 관리 추천 모델을 LLM 규모로 확장하려면 LLM 인프라를 그대로 복사하기보다, 가변 길이·희소 임베딩·비대칭 어텐션·정밀도 민감성 같은 도메인 특성을 먼저 분석해야 한다. 특히 단일 GPU의 커널 효율과 수천 GPU의 통신·메모리 효율을 별도의 문제로 측정하고 동시에 최적화하는 접근이 효과적이다.

원문 읽기(새 탭에서 열림)
aws원문

Amazon SageMaker HyperPod에서 (새 탭에서 열림)

Amazon SageMaker HyperPod은 대규모 AI 모델 학습의 효율성을 극대화하기 위해 '체크포인트리스(Checkpointless) 학습'과 '엘라스틱(Elastic) 학습' 기능을 새롭게 출시했습니다. 이 기술들은 하드웨어 장애 발생 시 복구 시간을 획기적으로 단축하고 클러스터 자원 활용도를 자동 최적화하여 전체 개발 주기를 대폭 앞당깁니다. 이를 통해 엔지니어는 인프라 관리 부담에서 벗어나 모델 성능 고도화와 시장 출시 속도 향상에 더욱 집중할 수 있습니다. ### 체크포인트리스 학습을 통한 중단 없는 상태 복구 기존의 체크포인트 기반 복구는 작업 종료, 재시작, 네트워크 설정, 체크포인트 검색 및 로드 등 복잡한 단계를 거치느라 최대 1시간 이상의 다운타임이 발생하곤 했습니다. 체크포인트리스 학습은 이러한 병목 현상을 해결하기 위해 다음과 같은 기술적 요소를 도입했습니다. * **피어 투 피어(P2P) 상태 복제**: 모델의 상태를 클러스터 내의 건강한 노드(Peer)에 실시간으로 복제하여 저장하며, 장애 발생 시 체크포인트를 불러오는 대신 이웃 노드로부터 즉시 상태를 복구합니다. * **복구 시간 단축**: 전통적인 방식 대비 복구 시간을 분 단위로 줄였으며, 내부 테스트 결과 2,000개 이상의 GPU 환경에서도 다운타임을 80% 이상 감소시키는 성과를 보였습니다. * **4가지 핵심 구성 요소**: 집합 통신 초기화 최적화, 캐싱이 가능한 메모리 매핑 데이터 로딩, 프로세스 내 복구(In-process recovery), 그리고 P2P 상태 복제 기술이 유기적으로 결합되어 작동합니다. * **검증된 확장성**: 수만 개의 가속기를 활용한 Amazon Nova 모델 학습에 이미 성공적으로 적용되어 대규모 환경에서의 안정성을 입증했습니다. ### 자원 활용을 극대화하는 엘라스틱 학습 엘라스틱 학습은 클러스터의 가용 자원 상태에 따라 학습 워크로드의 규모를 유연하게 조절하는 기능입니다. 인프라의 가변적인 상황에 맞춰 학습 효율을 최대로 끌어올립니다. * **자동 확장 및 축소**: 클러스터 내에 유휴 자원이 발생하면 학습 규모를 자동으로 확장하고, 추론 서비스와 같은 고우선순위 작업이 몰릴 때는 자원을 즉시 반납하며 축소합니다. * **운영 효율성**: 매주 수동으로 인프라 설정을 변경하던 엔지니어링 시간을 절약할 수 있으며, 클러스터 활용도를 높여 전체 학습 완료 시간을 단축합니다. * **우선순위 기반 할당**: 비즈니스 요구사항에 따라 자원을 재배치함으로써 고비용의 컴퓨팅 자원을 낭비 없이 사용할 수 있도록 지원합니다. ### 실용적인 권장 사항 수천 개의 GPU를 사용하는 초거대 모델 학습 환경에서는 하드웨어 장애가 빈번하게 발생할 수밖에 없습니다. 인프라 장애로 인한 학습 중단 리스크를 최소화하고 싶은 팀은 SageMaker HyperPod의 체크포인트리스 학습을 도입하여 복구 골든타임을 확보할 것을 권장합니다. 특히 가변적인 인프라 환경에서 비용 효율성을 중시한다면 엘라스틱 학습 기능을 활성화하여 클러스터 유휴 자원을 100% 활용하는 전략이 유효할 것입니다.

meta원문

Zoomer: 지능형 디버 (새 탭에서 열림)

Meta는 수십만 개의 GPU를 운용하는 대규모 AI 인프라의 효율성을 극대화하기 위해 자동화된 디버깅 및 최적화 플랫폼인 **Zoomer**를 도입했습니다. Zoomer는 트레이닝과 추론 워크로드 전반에 걸쳐 심층적인 성능 인사이트를 제공하여 에너지 소비를 줄이고 워크플로우를 가속화하는 역할을 합니다. 이를 통해 Meta는 모델 트레이닝 시간을 단축하고 초당 쿼리 처리 수(QPS)를 유의미하게 개선하며 AI 인프라 최적화의 표준을 구축했습니다. **통합 분석을 위한 3계층 아키텍처** * **인프라 및 플랫폼 계층**: Meta의 블롭 스토리지 플랫폼인 Manifold를 기반으로 분산 저장 시스템을 구축하여, 수천 대의 호스트에서 발생하는 방대한 트레이스 데이터를 안정적으로 수집하고 처리합니다. * **분석 및 인사이트 엔진**: Kineto와 NVIDIA DCGM을 통한 GPU 분석, StrobeLight 기반의 CPU 프로파일링, dyno 원격 측정을 통한 호스트 지표 분석을 결합합니다. 이를 통해 분산 학습 시 발생하는 스트래글러(straggler) 감지, 메모리 할당 패턴 분석, 통신 패턴 최적화 등의 기능을 수행합니다. * **시각화 및 UI 계층**: 복잡한 성능 데이터를 직관적인 타임라인, 히트맵, 대시보드로 변환합니다. Perfetto와 통합되어 커널 수준의 검사가 가능하며, 하드웨어 활용도가 낮은 outlier를 신속하게 식별할 수 있는 요약 정보를 제공합니다. **지능형 프로파일링 트리거 및 데이터 수집** * **자동화된 트리거**: 트레이닝 워크로드의 경우 초기 시작 시점의 노이즈를 피해 안정적인 상태인 550~555회 반복(iteration) 시점에서 자동으로 프로파일링을 수행합니다. 추론 워크로드는 온디맨드 방식이나 자동화된 부하 테스트 시스템과 연동하여 트리거됩니다. * **포괄적 데이터 캡처**: SM 활용도, 텐서 코어 가동률, GPU 메모리 대역폭 등 하위 레벨 지표뿐만 아니라 CPU, 네트워크 I/O, 스토리지 액세스 패턴을 동시에 수집하여 시스템 전반의 병목 현상을 파악합니다. * **추론 및 통신 특화 분석**: 추론 환경에서는 서버 레이턴시와 요청당 메모리 할당 패턴을 정밀 분석하며, 분산 학습 환경에서는 NCCL 집합 통신 작업과 노드 간 통신 효율성을 집중적으로 검사합니다. **실제 적용 성과 및 운영 효율화** * Zoomer는 광고 추천, 생성형 AI(GenAI), 컴퓨터 비전 등 Meta의 핵심 모델 서비스에 적용되어 매일 수만 개의 프로파일링 보고서를 생성하고 있습니다. * 성능 안티 패턴을 자동으로 감지하고 실행 가능한 최적화 권고 사항을 제공함으로써, 엔지니어가 수동으로 병목 지점을 찾는 데 드는 시간을 대폭 줄였습니다. * 불필요한 리소스 낭비를 제거하여 확보된 컴퓨팅 자원을 더 큰 모델 트레이닝이나 사용자 서비스 확대에 재투자함으로써 인프라 전반의 선순환 구조를 실현했습니다. Zoomer는 대규모 GPU 클러스터를 운영하는 조직에서 성능 튜닝을 자동화하고 표준화하는 것이 얼마나 중요한지를 보여주는 사례입니다. 인프라의 1% 효율 개선이 막대한 비용 절감과 혁신 가속화로 이어지는 만큼, Zoomer와 같은 통합 최적화 플랫폼은 생성형 AI 시대의 핵심 인프라 기술로 평가받습니다.

google원문

JAX-Privacy를 활용한 대 (새 탭에서 열림)

Google DeepMind와 Google Research는 고성능 컴퓨팅 라이브러리인 JAX를 기반으로 대규모 차분 프라이버시(Differential Privacy, DP) 머신러닝을 구현할 수 있는 **JAX-Privacy 1.0**을 정식 공개했습니다. 이 라이브러리는 현대적인 파운데이션 모델의 학습 규모에 맞춰 설계되었으며, 복잡한 프라이버시 알고리즘을 효율적이고 모듈화된 방식으로 제공하여 연구자와 개발자가 데이터 보안을 유지하면서도 모델 성능을 최적화할 수 있도록 돕습니다. JAX의 강력한 병렬 처리 기능과 최신 DP 연구 성과를 결합함으로써, 이론 중심의 프라이버시 기술을 실제 대규모 AI 프로덕션 환경에 적용할 수 있는 기틀을 마련했습니다. ### 대규모 모델 학습을 위한 프라이버시 기술의 필요성 * **DP 구현의 기술적 난제:** 차분 프라이버시의 표준 방식인 DP-SGD는 개별 데이터별 그래디언트 클리핑(per-example gradient clipping)과 정밀한 노이즈 추가를 요구하는데, 이는 현대적 대규모 모델 학습에서 계산 비용이 매우 높고 구현이 까다롭습니다. * **JAX 생태계와의 결합:** JAX-Privacy는 JAX의 자동 미분, JIT 컴파일, 그리고 `vmap`(자동 벡터화) 및 `shard_map`(병렬 처리) 기능을 활용하여 수천 개의 가속기에서 대규모 모델을 효율적으로 학습할 수 있는 환경을 제공합니다. * **확장성 문제 해결:** 기존 프레임워크들이 대규모 환경에서 겪던 유연성 부족 문제를 해결하기 위해, 데이터 병렬화 및 모델 병렬화를 기본적으로 지원하도록 설계되었습니다. ### JAX-Privacy 1.0의 핵심 구성 요소 * **핵심 빌딩 블록:** 그래디언트 클리핑, 노이즈 추가, 데이터 배치 구성 등 DP의 기본 프리미티브를 효율적으로 구현하여 DP-SGD 및 DP-FTRL과 같은 알고리즘을 손쉽게 구축할 수 있습니다. * **최신 알고리즘 지원:** 반복 작업 간에 상관관계가 있는 노이즈를 주입하여 성능을 높이는 'DP 행렬 분해(Matrix Factorization)'와 같은 최첨단 연구 성과가 포함되어 있습니다. * **대규모 배치 처리 최적화:** 프라이버시와 유틸리티 간의 최적의 균형을 찾기 위해 필수적인 대규모 가변 크기 배치를 처리할 수 있도록 마이크로 배칭(micro-batching) 및 패딩 도구를 제공합니다. * **모듈성 및 호환성:** Flax(신경망 아키텍처) 및 Optax(최적화 도구)와 같은 JAX 생태계의 라이브러리들과 매끄럽게 연동되어 기존 워크플로우에 쉽게 통합됩니다. ### 프라이버시 보증을 위한 감사 및 검증 도구 * **프라이버시 어카운팅(Accounting):** 학습 과정에서 발생하는 프라이버시 소모량($\epsilon$, 에psilon)을 정확하게 계산하고 추적할 수 있는 도구를 포함합니다. * **실증적 감사(Auditing):** 구현된 모델이 실제로 프라이버시 보증을 준수하는지 실험적으로 검증하고 취약점을 찾아낼 수 있는 감사 기능을 제공하여 신뢰성을 높였습니다. * **재현성 확보:** Google 내부에서 사용되던 검증된 코드를 공개함으로써 외부 연구자들이 최신 DP 학습 기법을 재현하고 검증할 수 있는 표준을 제시합니다. ### 실용적인 활용 제안 민감한 개인 정보를 포함한 데이터로 대규모 언어 모델(LLM)을 미세 조정하거나 파운데이션 모델을 학습시켜야 하는 조직에게 JAX-Privacy 1.0은 필수적인 도구입니다. 개발자들은 GitHub에 공개된 공식 저장소를 통해 제공되는 튜토리얼을 참고하여, 기존의 JAX 기반 학습 파이프라인에 최소한의 코드 변경만으로 강력한 차분 프라이버시 보호 기능을 도입할 것을 권장합니다.