Llama 3 405B는 H100 GPU 16,384개에서 약 3.8 × 10^25번의 부동소수점 연산을 거쳐 사전학습됐습니다. 이 규모에서는 병렬화 여부가 아니라 어떤 통신 비용을 어느 차원에 배분할지가 문제입니다. Meta의 ISCA 2025 논문은 네 가지 병렬화를 함께 사용한 이유와 학습 중 그 조합을 바꿔야 하는 조건을 설명합니다[1].
네 가지 분할이 서로 다른 한계를 푸는 방식
완전 샤딩 데이터 병렬화(FSDP)는 파라미터·그래디언트·옵티마이저 상태를 나눕니다. 텐서 병렬화는 한 계층을 나누는 대신 잦은 집합 통신을 부담합니다. 파이프라인 병렬화는 계층 묶음을 스테이지에 배치하지만 마이크로배치가 부족하면 빈 구간이 생깁니다. 컨텍스트 병렬화는 긴 시퀀스를 나눠 GPU당 활성값을 줄이는 대신 어텐션 통신이 필요합니다.
Llama 3의 학습 단계는 시퀀스 길이, 배치, 모델 구조, GPU 수가 서로 다릅니다. 긴 컨텍스트 단계에서는 전역 배치가 작아져 일반적인 파이프라인 일정으로 빈 구간을 가리기 어렵습니다. Meta는 달라지는 배치와 계층 구성을 수용하는 파이프라인 일정, 여러 문서를 구분하는 마스크 어텐션을 유지하는 컨텍스트 병렬화를 설계했습니다.

진단 시간도 효율에 포함되는 범위
구현 결과는 8K 시퀀스에서 GPU당 약 400 TFLOPS, 131K에서 380 TFLOPS입니다. 컨텍스트 병렬 어텐션의 한 실험은 GPU를 1개에서 4개로 늘릴 때 3.89× 확장됩니다. 이 수치는 단일 커널 최고치가 아니라 학습 단계의 조건을 반영한 동작점입니다.
논문은 디버깅을 아키텍처 문제로 다룹니다. 수천 개 랭크가 동기화된 뒤에만 나타나는 수치 오류나 지연 랭크를 일반 응용 버그처럼 처리할 수 없습니다. 프로파일링, 재현 가능한 비교, 원인 랭크 식별이 유효 GPU 시간을 지키는 필수 기능입니다.
토폴로지보다 먼저 메모리 식을 맞추는 방식
4050억 매개변수 모델은 연산 장치 수만 세어 배치할 수 없습니다. 가중치, 그래디언트, 옵티마이저 상태, 활성값, 임시 버퍼, 통신 작업 공간이 HBM을 함께 사용합니다. 정밀도, 시퀀스 길이, 활성값 재계산, 학습 단계에 따라 각 항목의 크기도 바뀝니다. FSDP가 지속 상태를 나누어도 각 랭크는 현재 층에 필요한 조각을 모으고 역전파에 필요한 활성값을 유지해야 합니다[1].
같은 가중치라도 8K 토큰에서 들어간 배치가 131K에서는 들어가지 않을 수 있습니다. 긴 문맥은 활성값과 어텐션 상태를 키우고, 전역 배치를 줄이면 파이프라인을 채울 마이크로배치도 부족해집니다. 단계마다 랭크별 메모리 예산을 먼저 계산하고 안전 여유까지 확보한 뒤 통신 비용을 비교해야 합니다.
네 병렬화는 서로 다른 자원을 확보하는 방식
FSDP는 매개변수, 그래디언트, 옵티마이저 상태를 나누지만 층 실행 전후에 올개더(all-gather)와 리듀스 스캐터(reduce-scatter)를 수행합니다. 텐서 병렬화는 층 안의 연산을 나눠 메모리를 공유하지만 자주 집합 통신을 합니다. 파이프라인 병렬화는 층 묶음을 단계에 배치해 상태를 줄이는 대신 파이프라인의 빈 구간과 활성값 전송을 만듭니다.
컨텍스트 병렬화는 긴 시퀀스를 여러 랭크로 나눠 GPU별 활성값 부담을 낮춥니다. 어텐션에는 다른 조각의 정보가 필요하고, 여러 문서를 묶은 입력에서는 문서 마스크를 지켜야 합니다. 하나의 연속 시퀀스만 가정한 구현은 빨라도 학습 의미를 바꿀 수 있습니다.
네 방식은 서로 대체되지 않습니다. 텐서 병렬도를 높이면 HBM 사용량은 줄어도 모든 층의 통신이 늘고, 파이프라인 단계를 늘리면 마이크로배치가 적을 때 활용률이 떨어집니다. FSDP 그룹이 빠른 네트워크 영역을 넘으면 상태 수집 비용이 커집니다. 병렬도 조합은 알고리즘 상태를 물리 계층에 배치하는 설계입니다.
파이프라인의 빈 구간은 배치 구성의 문제
일반적인 파이프라인은 마이크로배치로 각 단계를 채우고 정상 상태를 거쳐 비웁니다. 마이크로배치 수가 단계 수보다 많으면 유휴 비율이 줄지만 전역 배치는 최적화 특성 때문에 무한히 늘릴 수 없고, 긴 시퀀스는 한 마이크로배치의 메모리도 크게 만듭니다.
Meta의 스케줄은 하나의 고정 비율보다 학습 단계와 배치 형태의 변화를 수용합니다. 순전파와 역전파 순서를 조정하면서 활성값의 사용 시점과 메모리 압력을 지킵니다. 목표는 교과서적인 빈 구간 비율만 낮추는 것이 아니라 시퀀스 길이와 누적 방식이 변해도 유효한 학습 배치를 진행하는 것입니다.
하드웨어가 빠른 링크를 제공해도 런타임에는 프로그래밍 가능한 스케줄, 비동기 전송, 세밀한 메모리 사용량 계산이 필요합니다. 하나의 고정 파이프라인에 맞춘 장치는 중요한 단계에서 자원을 놀릴 수 있습니다.
네트워크 계층이 조합을 제한하는 조건
16,384 GPU가 하나의 균일한 연결망에 붙은 것은 아닙니다. 서버 내부와 랙을 넘는 링크의 대역폭·지연이 다릅니다. 매 층 발생하는 텐서 집합 통신은 가능한 한 빠른 로컬 링크에 두고, 빈도가 낮은 FSDP나 파이프라인 트래픽은 메시지 크기와 겹침이 허용할 때 상위 계층을 건널 수 있습니다.
집합 통신 알고리즘도 메시지 크기와 그룹 모양에 따라 달라집니다. 링, 트리, 계층형 구현은 대역폭 효율과 지연 사이에서 서로 다른 선택을 합니다. 여러 병렬화가 동시에 통신하면 각 연산을 따로 최적화한 결과가 링크 경쟁을 만들 수 있습니다. 계산, 텐서 축소, 매개변수 수집, 단계 간 전송의 겹침을 함께 봐야 합니다.

GPU당 TFLOPS는 모델, 정밀도, 커널, 스케줄, 물리 배치, 프로파일 구간을 포함한 시스템 수치입니다. 최고 텐서 코어 수치나 시퀀스와 배치가 다른 학습 결과와 바로 비교하면 안 됩니다.
긴 문맥은 어텐션 비용 이상을 바꾸는 방식
131K 토큰에서는 활성값 저장과 어텐션 통신이 일차 제약이 됩니다. 컨텍스트 병렬화가 한 시퀀스를 나눌 수 있지만, 길이가 다른 문서와 마스크를 묶으면 부하 균형이 어렵습니다. 위치 수를 똑같이 나누는 것보다 실제 어텐션 연산량과 토큰 처리량을 기준으로 일을 배분해야 합니다.
긴 시퀀스는 전역 배치에 들어가는 독립 예제 수도 줄입니다. 데이터와 파이프라인 병렬성이 약해지는 시점에 메모리를 더 많이 묶어야 합니다. 활성값 체크포인팅은 HBM을 아끼지만 역전파에서 연산을 반복하므로 단계별로 연산, 링크, 메모리의 상대 비용을 비교해야 합니다.
8K의 약 400 TFLOPS와 131K의 380 TFLOPS는 평가 지점에서 처리량을 상당 부분 유지했다는 뜻입니다. 중간의 모든 길이가 같은 효율을 보이거나 통신 비용이 작다는 뜻은 아닙니다. 가장 긴 예제가 메모리 예약을 결정할 수 있으므로 단계별 곡선과 꼬리 동작이 필요합니다.
장애와 진단도 확장 효율에 포함되는 범위
3.8 × 10^25 연산을 수행하는 장기 작업은 하드웨어, 네트워크, 소프트웨어, 수치 오류를 만납니다. 재시작하면 마지막 체크포인트 이후 계산을 잃고, 느린 랭크 하나는 명확히 실패하지 않은 채 수천 동료를 기다리게 합니다. 유효 학습 처리량에는 체크포인트, 복구, 성능 저하 부품, 원인 분석 시간이 포함됩니다.
수치 오류는 처음 잘못된 값을 만든 뒤 한참 지나 손실값이 발산할 수 있습니다. 결정적 재실행, 랭크별 비교, 동기화한 로그, 범위를 좁히는 재현이 필요합니다. 모든 텐서를 기록할 수는 없으므로 저비용 상태 지표, 표본 프로파일, 이상 주변의 상세 기록을 계층으로 구성해야 합니다.
병렬도 전환에도 비용이 있는 구조
학습 단계 사이에 병렬도를 바꾸면 용량과 활용률을 회복할 수 있지만 모델 상태를 다시 나눠야 합니다. 매개변수, 옵티마이저 샤드, 체크포인트 레이아웃이 새 그룹과 맞지 않을 수 있습니다. 짧은 단계에서 조금 빨라져도 전환 정지와 네트워크 이동 비용을 회수하지 못할 수 있습니다.
남은 단계 길이, 예상 처리량 차이, 재배치 비용과 위험을 계산해야 합니다. 수천 랭크의 부분 재배치는 장애 지점이므로 경계에는 복구 가능한 체크포인트가 필요합니다. 설정도 체크포인트와 함께 버전으로 남겨 재시작한 작업이 같은 그룹을 복원해야 합니다.
적응형 병렬화는 제어 문제입니다. 오프라인 모델이 메모리와 토폴로지로 후보를 만들고 온라인 측정이 실제 집합 통신과 커널 성능을 확인합니다. 일시적인 잡음에 반응하지 말고 안전한 단계 경계에서 전환 비용을 회수할 수 있을 때만 바꿉니다.
다음 시스템이 제공해야 할 기능
가속기에는 빠른 집합 통신과 충분한 메모리뿐 아니라 그룹을 만들고 바꾸는 유연성이 필요합니다. 런타임은 알고리즘 선택, 전송 겹침, 작업 공간 예약을 지원하고, 랭크가 데이터·집합 통신·파이프라인 이웃·메모리 중 무엇을 기다렸는지 알려야 합니다.
스케줄러는 노드 내부부터 전역 패브릭까지 토폴로지를 알고 논리 그룹을 실제 빠른 경로에 맞춰야 합니다. 체크포인트 서비스는 샤드 레이아웃 전환을 감당하고, 컴파일러 커널은 텐서와 컨텍스트 분할이 달라져도 효율을 유지해야 합니다.
비교 시에는 모델과 정밀도, 시퀀스와 배치, 활성값 정책, 네 병렬도, 물리 배치, GPU당 처리량, 통신 비율, 메모리 여유, 체크포인트 간격, 장애 시간을 공개해야 합니다. 조건 없는 활용률 하나로는 유효 학습량을 알 수 없습니다.
이 사례가 일반화되지 않는 범위
Llama 3 구조, 학습 단계, Meta의 네트워크가 보고된 최적점을 결정했습니다. 전문가 혼합 모델, 다른 층 구성, 다른 옵티마이저, 더 큰 GPU 메모리에서는 조합이 바뀔 수 있습니다. 컨텍스트 병렬화를 1장치에서 4장치로 늘려 3.89배 확장된 실험도 해당 어텐션 조건의 결과이지 전체 장비까지 선형으로 늘어난다는 뜻은 아닙니다.
옮겨갈 수 있는 것은 숫자보다 판단 순서입니다. 상태를 먼저 맞추고, 잦은 통신을 빠른 링크에 두고, 배치 의미를 보존하며, 단계별 처리량과 진단·전환 비용을 함께 재야 합니다.
병렬화 방식은 함께 설계해야 할 이유
최상위 AI 모델의 학습을 데이터·텐서·파이프라인 병렬화 중 하나를 고르는 문제로 설명하기는 어렵습니다. 실제 시스템은 배치 구성과 네트워크 계층에 맞춰 네 가지 병렬화 방식을 계속 조합합니다. 다음 세대 가속기는 빠른 집합 통신뿐 아니라 분할 방식을 바꿀 메모리 여유와 수치·성능 오류를 추적할 관측 기능을 함께 제공해야 합니다.
병렬화 구성은 모델의 상수가 아닌 작업별 계약
네 종류의 병렬화를 고정된 조합으로 복제해서는 안 됩니다. 텐서, 파이프라인, 컨텍스트 병렬화와 데이터 병렬화는 서로 다른 링크를 사용하고, 서로 다른 유휴 구간과 복구 단위를 만듭니다. 시퀀스 길이, 마이크로배치 크기, 옵티마이저 상태, 체크포인트 주기, 실제로 배정받은 토폴로지가 바뀌면 적절한 비율도 달라집니다. 사전학습에 맞춘 구성이 장문맥 학습이나 서빙을 위한 후처리에서는 비효율적일 수 있습니다.
운영자는 작업 단계마다 버전이 붙은 병렬화 계획을 가져야 합니다. 배치 제약, 패브릭 계층별 예상 통신량, 메모리 여유, 재시작 경계, 재분할을 시작할 기준을 계획에 적어야 합니다. 목표 클러스터에서 대표 트레이스를 재생하면 최대 대역폭 비교만으로 보이지 않는 스토리지, 체크포인트, 다른 테넌트와의 경합을 확인할 수 있습니다. 최종 판단은 모든 GPU의 이용률이 높은지가 아니라 작업의 시간과 장애 예산 안에서 완료한 토큰 수가 늘어나는지로 내려야 합니다.
출처와 저작권 안내
이 글은 원문을 독립적인 문장과 구성으로 요약했습니다. 두 도판은 모두 새로 만들었고 원문의 도판·표를 재사용하지 않았습니다. 공개 논문은 CC BY 4.0이며 저작권은 저자에게 있습니다. (c) 2025.