최신 AI 애플리케이션은 수억 개의 토큰을 처리하는 컨텍스트 윈도우와 수십억 개의 파라미터를 결합한 모델에 점점 더 의존하고 있습니다. 수개월간의 대화를 따라가는 AI 에이전트, 백과사전 한 세트에 맞먹는 방대한 판례를 추론하는 법률 보조 도구, 방대한 코드 저장소를 탐색하는 코딩 코파일럿 등과 같이, 수많은 입력과 대화 이력이 누적되는 상황에서 처음부터 끝까지의 문맥을 정확히 기억하고 반영하는 것은 응답의 관련성과 일관성을 위해 필수적입니다. 여기에 더해 사용자들은 빠르고 상호작용적인 응답을 기대합니다.
이처럼 방대한 데이터를 실시간으로 디코딩하고, 여러 GPU가 빠르게 확장 및 상호 통신이 가능해야 한다는 요구는 FP4 연산과 NVIDIA Blackwell 시스템이 제공하는 고대역폭 NVLink 도메인의 중요성을 부각시킵니다. 이번 블로그에서 소개하는 Helix Parallelism은 Blackwell과 공동 설계된 기술로, 초장기 컨텍스트에서 실시간 디코딩을 위한 기존 병렬화 방식 대비 최대 32배 더 많은 동시 사용자를 동일한 지연 시간 내에 처리할 수 있도록 합니다.
즉, AI 에이전트와 어시스턴트는 이제 그 어느 때보다 더 많은 사람들에게 더 빠르게 서비스를 제공할 수 있게 되었습니다.
(참고: 이 블로그에서 언급하는 “컨텍스트(context)”는 이전에 생성된 토큰들의 시퀀스를 의미하며, 각 디코딩 단계에서 접근되는 중간 키와 값 표현이 KV 캐시에 저장됩니다.)
디코딩 병목 현상: KV 캐시 및 FFN 가중치 읽기
실시간 디코딩을 대규모로 지원하려면, 디코딩(즉, 생성) 단계에서 두 가지 주요 병목 현상을 극복해야 합니다.
- Key-Value(KV) 캐시 스트리밍: 수백만 개 토큰의 컨텍스트를 처리할 때, 각 GPU는 샘플당 DRAM에서 과거 토큰의 방대한 이력을(KV 캐시) 읽어야 합니다. 이러한 지속적인 스트리밍은 DRAM 대역폭을 포화시키고, 토큰 간 지연 시간(Token-To-Token Latency, TTL)을 증가시키며, 컨텍스트 길이가 길어질수록 주요 병목 요소로 빠르게 작용하게 됩니다.
- Feed-Forward Network(FFN) 가중치 로딩: 자기회귀 디코딩 중에는 새로운 토큰을 생성할 때마다 큰 FFN 가중치를 DRAM에서 불러와야 합니다. 배치 크기가 작은 저지연 환경에서는 이 메모리 접근 비용이 효과적으로 분산되지 않아, FFN 가중치 읽기가 지연 시간의 주요 원인이 됩니다.
KV 캐시 스트리밍과 FFN 가중치 로딩이라는 이 두 가지 병목은 기존의 병렬화 전략으로는 동시에 최적화하기 어렵습니다.
Tensor Parallelism(TP)을 예로 들어보겠습니다. TP를 늘리면 가중치 로딩을 여러 GPU에 분산시켜 FFN 병목을 줄이고 TTL을 개선할 수 있지만, 그 효과에는 한계가 있습니다. Llama 모델에서 사용되는 Grouped Query Attention(GQA)이나 DeepSeek 모델의 Multi-Latent Attention(MLA) 같은 어텐션 구조에서는 여러 쿼리 헤드가 제한된 수의 KV 헤드를 공유합니다. Figure 2(c)에서 볼 수 있듯이, TP 수가 KV 헤드 수를 초과하면 GPU마다 샘플당 수백만 개 토큰의 KV 캐시를 복제하게 되며, 이는 자기어텐션을 위해 필요합니다. 그 결과, TP를 늘려도 KV 읽기량은 여전히 높게 유지되어 DRAM 대역폭을 다시 포화시키고 확장성을 제한하게 됩니다. MLA의 경우, KV 캐시 복제를 피하려면 TP의 상한이 단 하나로 제한됩니다.
그렇다면 실시간 상호작용성을 유지하면서 모델 크기와 컨텍스트 길이를 어떻게 동시에 확장할 수 있을까요? Helix Parallelism이 그 해답을 제시합니다.
Helix 실행 흐름
Helix는 어텐션과 FFN의 병렬화 전략을 시간적 파이프라인으로 분리하는 하이브리드 샤딩 전략으로, 수백만 토큰 디코딩 시 발생하는 KV 캐시 및 FFN 가중치 읽기 병목을 효과적으로 해결합니다.
아래 그림 1은 Helix가 하나의 트랜스포머 레이어 내에서 어텐션과 FFN의 실행을 어떻게 조율하는지를 보여줍니다. DNA 이중나선 구조에서 영감을 받은 Helix는 KV, 텐서, 전문가 병렬화 등 다양한 병렬화 차원을 하나의 통합된 실행 루프로 엮어냅니다. Helix는 어텐션과 FFN에 서로 다른 병렬화 전략을 적용함으로써 각 단계가 고유한 병목에 최적화된 구성으로 동작할 수 있도록 합니다. 이 모든 과정을 동일한 GPU 풀을 재사용하면서 수행하기 때문에, Helix의 재사용 접근법은 모델 전체에 걸쳐 연산이 흐르는 동안 GPU의 대기 시간을 제거하고 자원을 효율적으로 활용할 수 있게 합니다.

어텐션 단계
Helix는 KV Parallelism(KVP)을 적용하여 수백만 개 토큰의 KV 캐시를 시퀀스 차원으로 분할하고 이를 KVP개의 GPU에 분산합니다. 동시에, 어텐션 헤드에는 Tensor Parallelism을 적용하는데, 이를 TPA라고 하며 각 QKV 프로젝션을 분할하는 GPU 수를 의미합니다. 이 TPA 값은 KV 헤드 수보다 작거나 같게 유지하여 KV 캐시가 GPU 간에 중복되지 않도록 합니다.
이러한 샤딩 전략은 Figure 2(d)의 단순화된 예제를 통해 시각적으로도 설명됩니다. 그 결과, 총 N = KVP × TPA개의 GPU가 어텐션 연산에 협력하면서 KV 캐시를 복제하지 않고 처리할 수 있게 됩니다. 여기서 N은 전체 추론 실행에 사용되는 GPU의 총 수를 나타내며, 동일한 N개의 GPU 세트는 이후 FFN 단계에서도 재사용됩니다.

어텐션 이전의 all-gather 연산을 피하기 위해, Helix는 각 KVP GPU가 로컬 KV 헤드와 연결된 모든 쿼리 헤드를 보유하도록 하고, QKV 프로젝션을 중복 계산합니다. 이를 통해 각 KV 샤드에서 완전히 로컬하게 FlashAttention을 수행할 수 있습니다.
로컬 FlashAttention 이후에는, KVP GPU 간 쿼리 헤드 차원을 따라 단일 all-to-all 통신을 수행하여, 부분 어텐션 출력과 log-sum-exp 스칼라 값을 교환합니다. 중요한 점은 이 통신 비용이 배치 크기와 히든 차원에 따라 스케일되며, KV 캐시 길이와는 무관하다는 것입니다. 덕분에 컨텍스트 길이가 수백만 토큰으로 늘어나더라도 효율적인 처리가 가능합니다. 각 GPU는 로컬에서 정확한 SoftMax 정규화 결과를 재구성합니다.
이 all-to-all 단계는 동시에 KVP GPU를 attention 출력의 linear 연산을 위한 TP 그룹(TP = N = KVP × TPA)으로 재구성하는 역할도 합니다. 이 단계는 NVLink 및 NVL72의 고대역폭 인터커넥트를 활용하여, 대규모 GPU 간 빠른 집합 통신을 가능하게 합니다. Figure 2는 어텐션 단계의 다양한 샤딩 방식과 그 레이아웃을 고수준에서 보여줍니다.
TTL을 더욱 줄이기 위해, Helix는 HOP-B(Helix overlap pipeline-batch-wise)라는 세밀한 파이프라이닝 기법을 도입합니다. Figure 3에서 보여지듯, 이 기법은 배치 내에서 통신과 연산을 겹치도록 구성되어 있습니다. 하나의 토큰에 대한 어텐션 출력이 계산되는 즉시, 해당 토큰의 all-to-all 교환이 시작되고 동시에 다음 토큰의 어텐션 연산이 수행됩니다. 이처럼 연산과 통신을 밀접하게 겹치게 함으로써 통신 지연을 유용한 작업 뒤에 숨기고, GPU 활용률을 높이며 실시간 디코딩 속도를 더욱 향상시킵니다.

그림 3(위쪽)에서는 HOP-B가 적용되지 않은 경우, 8개의 요청이 어텐션 연산을 동시에(lockstep) 수행하고, 이후 all-to-all 통신이 순차적으로 이어지는 모습을 보여줍니다. 반면 아래쪽 차트에서는 HOP-B가 적용된 경우, 한 요청의 통신이 다음 요청의 연산과 겹쳐서 수행되며, 세밀한 파이프라이닝을 통해 TTL을 줄이는 효과를 확인할 수 있습니다.
FFN 단계
어텐션 이후에는 동일한 N = KVP × TPA개의 GPU 풀을 유휴 시간 없이 FFN 블록 실행에 재할당합니다. all-to-all 단계에서 생성된 출력은 이미 히든 차원 기준으로 N개의 GPU에 분산되어 있으므로, 후속 linear projection 연산은 TP 모드(TP = N)로 즉시 실행됩니다. 각 GPU는 로컬 가중치 샤드를 사용하여 행렬 곱 연산을 수행하고, TP = N의 GPU 간 all-reduce에 참여해 최종 출력을 완성합니다.
Helix는 이 후 동일한 N개의 GPU를 다시 구성하여 FFN 연산을 수행합니다. 일반적인 dense 모델에서는 1D TP(N = TPF) 구성으로, MoE 모델에서는 2D TP × Expert Parallel(N = TPF × EP) 그리드로 구성됩니다.
분산 KV 연결
디코딩 중에는 새로 생성된 각 토큰이 쿼리 연산을 위해 모든 KVP GPU에 브로드캐스트됩니다. DRAM 병목을 방지하기 위해 Helix는 KV 캐시 업데이트를 KVP 랭크 간 라운드로빈 방식으로 분산 처리합니다. 예를 들어, 토큰 116은 KVP 0으로, 1732는 KVP 1로 보내는 식입니다. 이를 통해 KV 성장을 균등하게 유지하고, GPU 간 메모리 사용을 균형 있게 분산하며, 시퀀스 길이나 배치 크기에 상관없이 일관된 처리량을 확보할 수 있습니다.
Blackwell 기반 시뮬레이션 결과
Helix는 장기 컨텍스트를 가진 LLM 디코딩에서 새로운 성능 기준을 제시합니다. Figure 4는 DeepSeek-R1 671B 모델이 100만 토큰의 컨텍스트를 디코딩할 때의 정규화된 처리량-지연 시간 파레토 경계선을 보여줍니다. 이 파레토 경계는 TP, EP, PP, KVP와 같은 모델 분할 전략과 배치 크기를 체계적으로 변화시키며 수천 개 구성을 시뮬레이션한 결과입니다.
- 고정된 지연 시간 예산 내에서 Helix는 동시 사용자 수를 최대 32배까지 향상시킬 수 있습니다(즉, GPU당 토큰 처리 속도 32배 증가).
- 낮은 동시 접속 환경에서는 Helix가 사용자 상호작용성을 최대 1.5배 향상시킬 수 있습니다(즉, 최소 TTL을 최대 1.5배까지 감소).
이러한 성과는 KV 캐시와 FFN 가중치를 모든 가용 디바이스에 분산하여 DRAM 부담을 크게 줄이고 연산 효율을 높였기 때문에 가능했습니다. Helix는 처리량-지연 시간 파레토 경계를 확장함으로써, 더 낮은 지연 시간에서도 더 높은 처리량을 달성할 수 있도록 합니다. 자세한 내용은 본문에 첨부된 논문을 참고하시기 바랍니다.

추론 프레임워크로 확장 예정
Helix Parallelism은 Blackwell의 최신 기능과 공동 설계되어, 상호작용성을 희생하지 않고도 수백만 토큰 규모의 모델을 대규모로 서빙할 수 있는 청사진을 제시합니다. 이 최적화 기술이 추론 프레임워크에 적용되는 과정을 계속해서 지켜봐 주시기 바랍니다.