논문 링크

Q : 이 논문을 아주 자세하게 읽고 논문의 강점과 독창적인 지점을 설명해주고 핵심 알고리즘을 예시 입력을 들어서 전체적인 과정을 설명해줘 추가적으로 논문의 한계점에 대해서도 알려줘

📌 결론 요약

논문 *“Duplex: A Device for Large Language Models with Mixture of Experts, Grouped Query Attention, and Continuous Batching”*은 저연산량(Op/B)이 지배적인 MoE 및 GQA 기반 LLM 추론을 위한 하드웨어 아키텍처 Duplex를 제안하며, GPU 단독 대비 최대 2.67×의 추론 속도42.03%의 에너지 절감 효과를 보여줍니다. 핵심은 **xPU (GPU 수준 고성능 연산기)**와 **Logic-PIM (로직 다이에 탑재된 저 Op/B 특화 연산기)**를 동시에 활용하여 MoE와 Attention Layer를 공동 처리(co-processing)하는 방식입니다.


📘 논문의 강점 및 독창성

구분설명
🎯 문제 정의Continuous batching으로 인한 MoE/Attention Layer의 DRAM 접근량 증가낮은 Op/B로 인한 GPU 활용률 저하
🧠 독창적 접근기존 PIM이 Op/B < 1 영역에 특화된 것과 달리, Op/B = 1~32 범위 최적화를 위한 Logic-PIM 제안
🔀 동시 처리 구조Attention과 MoE layer를 Op/B 기반으로 xPU와 Logic-PIM에 동적 분배하여 활용도 극대화
🔄 Co-processing 방식Expert 간 토큰 수 편차를 기반으로 expert-level parallelism, attention은 요청 단위로 병렬화
📊 성능 향상H100 대비 평균 2.07× throughput 향상, 28.19% 에너지 절감, TBT 지연 최대 58.3% 감소

⚙️ 핵심 알고리즘 및 구조 예시로 설명

🔧 예시 입력 조건


① Expert Co-processing 과정

단계작업 설명
1Gate-projection FC를 통해 각 토큰이 top-2 expert로 라우팅됨
2각 expert가 처리할 토큰 수 집계됨: 예컨대 Expert 0이 80개, Expert 1이 30개 등
3작업 분배: 토큰 수가 많은 Expert (예: 0, 2, 4)는 xPU, 적은 Expert (예: 1, 3, 5…)는 Logic-PIM에 할당
4각 단위는 독립적으로 GEMM → 활성화 → down-projection 수행
5down-projection의 partial sum은 xPU에서 all-reduce 수행 후 최종 MoE 출력 생성

② Attention Co-processing 과정


📈 실험 결과 요약 (정량적 수치)

비교 대상Throughput (tokens/s)TBT 지연에너지 소비
GPU (H100)1.0 (baseline)1.0x1.0x
Duplex2.07×↓58.3%↓28.2%
Duplex+PE+ET2.67×최대 ↓60.2%최대 ↓42.0%
2×GPU1.76×유사↑ 에너지 소비

⚠️ 한계점 및 고려사항

구분설명
🧠 Expert skew dependencyCo-processing 효과는 전문가 간 토큰 수 불균형이 있을 때 극대화됨. 균일 분포일 경우 효율 감소
🔁 KV cache 관리긴 시퀀스 및 대형 배치 시 KV 캐시가 메모리 병목. PagedAttention 등의 캐시 이관 기법 필요
🔃 Prefill-Decode 분리 처리Splitwise와 유사한 prefill/decoding 노드 분리 시 Throughput 하락 발생 (비효율적 weight 복제, 활용률 저하)
🔌 TSV 추가 및 PIM area overheadTSV와 로직 연산기 추가로 HBM3 logic die의 14.71% 면적 증가 발생 (하지만 기존 Bank-PIM 대비 작음)

✅ 정리

Duplex는 LLM의 연산량 불균형(Op/B 기반)에 최적화된 하드웨어-알고리즘 동시 설계 사례로, 특히 MoE+GQA+Continuous batching 조합에서 GPU 대비 확연한 성능 및 에너지 효율 개선을 달성합니다. 향후 이러한 hybrid device 설계가 GPU 대체 혹은 보완 구조로 점점 중요해질 가능성이 크며, Logic-PIM의 실리콘 구현이나 프레임워크 통합에 대한 후속 연구가 기대됩니다.


필요하다면 주요 Figure나 Table의 시각화 정리, 각 하드웨어 구성 요소별 UML/구조도 등도 도와드릴 수 있어요. 추가 요청 주세요.

Q : 논문의 핵심알고리즘을 예시를 들어 아주 자세하게 설명해주고 정리해 줘

Duplex 논문의 핵심 알고리즘은 **“expert and attention co-processing”**입니다. 이는 LLM의 Mixture-of-Experts (MoE) 및 Grouped-Query Attention (GQA) 계층에서 xPU와 Logic-PIM을 동시에 사용하여 연산을 병렬 처리하는 방식입니다. 이 알고리즘을 단순히 Layer 분리 수준이 아니라 fine-grained 수준에서 co-processing하는 것이 논문의 핵심 기여입니다.


✅ 개념 정리: Co-processing이 필요한 이유

Layer특징문제점 (GPU 기준)
MoE LayerTop-k Expert 선택 후 GEMM + activation토큰이 각 Expert로 분산돼 Op/B가 낮음 (1~4 수준), 연산기 활용도 저조
Attention Layer (GQA)Grouped Head들이 공유된 KV로 Attention요청마다 다른 KV → GEMV 연산 + DRAM 액세스 증가

이로 인해 기존 GPU는 연산량(Op/B)이 낮은 이 Layer들에서 11% 이하 활용률, 낮은 throughput, 높은 지연과 에너지 낭비 문제 발생.


🧠 핵심 아이디어: Expert & Attention Co-processing

구조

각 Layer의 연산량(Op/B)에 따라 적절한 연산기로 분배하여 병렬 수행 (co-processing)


📌 예시 기반 전체 프로세스 설명

🧪 입력 조건 (Mixtral 모델 기준)


① MoE Co-processing - 예시 기반 단계

  1. Gate Projection 실행 (xPU)

    • 각 토큰이 top-2 experts 선택됨
    • 예:
      • Req0: 토큰 512개 중 → Expert 0: 120개, Expert 1: 80개
      • Req1: Expert 0: 90개, Expert 2: 100개 등
  2. Expert별 토큰 수 계산
    → Expert별로 처리할 토큰 수 상이함 → 불균형 발생

  3. 작업 분배 (정책 기반)

    • xPU: 많은 토큰 할당된 expert (e.g., Expert 0, 2, 5)
    • Logic-PIM: 적은 토큰 expert (e.g., Expert 1, 3, 6)
  4. 연산 수행

    • 각 연산기에서:
      • Up-Projection (GEMM)
      • Activation (e.g., SiLU)
      • Down-Projection (GEMM)
  5. 결과 합산 (xPU)

    • 각 Logic-PIM과 xPU가 계산한 output을 all-reduce하여 최종 MoE output 생성
    • 이 단계는 xPU가 수행함

✅ 이 방식은 토큰 수 불균형을 활용해 각 연산기의 utilization을 높임


② Attention Co-processing - 예시 기반 단계

  1. Request 분류

    • Req3 (Prefill): Q 512개 / KV 512개 → GEMM, Op/B 높음
    • Req0~2 (Decoding): Q 1개씩 / KV 많음 → GEMV, Op/B 낮음
  2. 연산기 분배

    • Prefill attention: xPU
    • Decoding attention: Logic-PIM
  3. Attention 계산

    • GQA이므로 각 group head는 동일한 KV를 공유 → DRAM 접근량 절감
    • 각 request 간 독립 → Logic-PIM에서 Request-level 병렬, Head-level 병렬 수행

🔄 알고리즘 흐름 요약 (혼합 스테이지 기준)

TEXT
[Input] → Embedding → LayerNorm
[MHA/GQA] → Logic-PIM (decoding) + xPU (prefill)
[MoE Layer]
   ├─ Expert 0, 2, 5 → xPU
   └─ Expert 1, 3, 6 → Logic-PIM
[AllReduce (MoE output)] → xPU
[Projection, Residual, LayerNorm] → xPU
클릭하여 더 보기

🔄 속도 향상을 위한 추가 기술: Lookup Table 기반 Expert 분배


🧩 정리

구성요소기여
🔄 Co-processing연산기 활용률 향상, Op/B 기반 계층 분할
⚖️ Expert 분배Load balancing 기반 GPU + Logic-PIM 동시 활용
🔁 Attention 병렬Request & Head 병렬화로 GQA 연산 최적화
🧠 LUT 기반 스케줄링런타임 오버헤드 최소화하면서 최적화된 분배 결정

이 알고리즘은 앞으로 MoE 기반 LLM이 점점 커지면서 단일 GPU로는 감당하기 어려운 low Op/B 연산을 효율적으로 처리하기 위한 핵심 기술이 될 수 있습니다.

필요하시면 LUT 구성 방식, 또는 expert 분배 알고리즘의 의사코드 수준으로도 풀어드릴 수 있어요.

Q : 이 논문에서 제시한 결과를 자세하게 보고 다른 방법론에 비하여 특출난 점과 논문에서 제기하는 어떠한 방법이 이러한 결과를 도출하게 되었는지 논문에서 제시하는 이유와 너의 생각을 알려줘

좋습니다. Duplex 논문은 Mixture-of-Experts (MoE), Grouped Query Attention (GQA), 그리고 Continuous Batching으로 구성된 최신 LLM 환경에서 GPU가 가진 낮은 연산 활용률과 메모리 병목 문제를 해결하고자 xPU + Logic-PIM 기반 이기종 연산 구조를 제안합니다. 이 구조로 기존 GPU 및 기타 PIM 기반 구조 대비 탁월한 성능/에너지 효율을 달성하였습니다.


📊 논문에서 제시한 주요 실험 결과

비교 대상Throughput 향상TBT (p50) 감소E2E Latency 감소Energy 감소
GPU (H100)기준선 (1.0×)기준선기준선기준선
2× GPU (H100)1.76×↓ 낮음↓ 약간 감소✖ 증가
Duplex2.07×↓ 58.3%↓ 60.2%↓ 28.2%
Duplex+PE+ET최대 2.67×↓ 최대 58.3%↓ 35~60%↓ 42.03%

🔁 평가 모델: Mixtral, GLaM, Grok1, LLaMA3, OPT
⚙️ 테스트 조건: (Lin, Lout) ∈ [256–4096], Batch size ∈ [32–128]


🧩 어떤 방식이 이런 성능 향상을 이끌었는가?

1. 💡 Logic-PIM 아키텍처 설계

→ 결과:
연산 밀도는 낮고 메모리 접근량이 많은 Layer (MoE, GQA)를 PIM이 효율적으로 분산 처리


2. 🔀 Expert / Attention Co-processing

→ 결과:
✔️ 연산 리소스 활용률 증가
✔️ Co-processing을 통해 병렬 처리로 latency 감소
✔️ batching 효과 손실 없이 throughput 증가


3. 📈 연산량 (Op/B)에 따른 스케줄링 최적화

예시:


4. 🔄 Continuous Batching 구조 최적화


🧠 저자의 주장 vs 나의 해석

항목논문 설명나의 해석
🎯 문제 정의Continuous batching에서의 낮은 Op/B로 GPU 자원 미활용타당함. 특히 decoding-only stage에서 대부분의 시간이 MoE/Attention에 소비됨
🚀 성능 향상 근거Op/B 기반 device selection + co-processing단순 Layer 이동이 아닌 intra-layer 분할이라는 점에서 큰 구조적 차별성 존재
⚙️ Logic-PIM 우수성DRAM die 대신 logic die에 연산기 배치로 area 효율 및 Op/B 대응 범위 확장TSV 밀도 증가를 효과적으로 활용했다는 점에서 실리콘 구현 관점에서도 설득력 있음
📉 경쟁 구조 대비Bank-PIM은 Op/B 증가 시 성능 급감실제 Mixtral 등 고 Op/B GQA 모델에서 Duplex가 압도적 우위 확보

🔬 다른 방법론과 차별점 요약

항목Duplex기존 PIM (Bank-PIM 등)GPU only
Layer 처리 방식Intra-layer Co-processingLayer offloadingFull layer GPU 처리
Target Op/B1–32<1제한 없음, 그러나 저 Op/B 비효율
하드웨어 위치Logic Die (HBM 내부)DRAM Die별도 SoC
Throughput2.67×~1.4–1.6×baseline
Latency↓ 최대 60%↓ 일부 감소높음
Energy↓ 28–42%중간높음
Weight Duplication 문제없음있음없음

✅ 결론 요약

Duplex의 뛰어난 성능은 단순히 하드웨어 추가 때문이 아니라,
🔹 Op/B-aware 연산 분배 전략,
🔹 intra-layer 수준의 fine-grained co-processing,
🔹 HBM logic die를 활용한 Logic-PIM 구조 설계,
🔹 그리고 continuous batching에 최적화된 실행 스케줄링
이 유기적으로 작동한 결과입니다.

**“단순히 더 많은 연산 자원을 사용하는 것이 아니라, 더 똑똑하게 분산하고 배치하는 것”**이 Duplex가 특출난 이유입니다.

Q : 이 논문의 입력데이터와 추론 과정에 대해서 예시를 들어 아주 자세하게 설명해 주겠니? 추가적으로 모델아키텍처의 구성 및 모델을 구성하는 연산과 메모리 요구량 컴퓨팅 요구량 대해서도 설명해줘

좋습니다. 이 논문에서 다루는 Duplex 구조는 **LLM 추론 (inference)**의 연산 병목을 해결하기 위한 하드웨어적 접근이며, 논문 전반에서 Mixtral, GLaM, Grok1 같은 MoE 기반 디코더-중심 LLM 구조를 대상으로 성능을 분석합니다. 아래는 예시 기반으로 입력 데이터와 추론 경로, 그리고 모델 아키텍처 구조 및 각 연산의 메모리·컴퓨팅 요구량을 상세하게 설명한 내용입니다.


1. 🧪 예시 기반 입력 데이터와 추론 경로

📌 예시 설정

항목
Request 수4개 (Req0 ~ Req3)
각 Request의 Input Length (Lin)512 tokens
Output Length (Lout)128 tokens
ModelMixtral-47B
MoE 구성8 experts, top-2 선택
AttentionGrouped Query Attention (deggrp = 4)
StageMixed stage (Req0~2: decoding, Req3: prefill)

2. 🧠 모델 아키텍처 구성 (MoE + GQA 기반 디코더)

▼ 구조 요약

TEXT
[Embedding]
[Decoder Block × N]  ← 32~80 layers
   ├── LayerNorm
   ├── Grouped Query Attention (GQA)
   ├── Residual Add
   ├── MoE Layer (Gate + FFN experts × N_ex)
   └── Residual Add
[LM Head]
클릭하여 더 보기

3. 🔄 추론 과정 상세 예시

▶ Stage 1: Prefill (Req3)


▶ Stage 2: Decoding (Req0~2)


4. ⚙️ 각 연산별 요구 자원 분석

연산 종류설명메모리 요구량연산량 (FLOPs)Op/B (대략)처리 위치
EmbeddingToken → vectorLin × dmodelnegligible-xPU
QKV 생성Linear FC ×3O(B×d²)O(B×d²)높음 (≥32)xPU
GQA AttentionQ·KT → Softmax → VGEMV (1×d · d×seq)낮음1~8Logic-PIM
MoE GateFC + Top-kd→Nex, k=2낮음~1xPU
MoE FFN (Expert)FC1 → Act → FC2B×2×dint×dmodel높음 (조건부)1~10xPU/Logic-PIM 혼합
AllReduce (MoE output)expert별 partial sum 결합bandwidth ↑낮음-xPU
LM HeadFC → vocabO(d×V)매우 높음≥64xPU

※ d: hidden dim (예: 4096), dint: intermediate dim (예: 14336), V: vocab size (예: 50K)


5. 📦 Memory 요구량 (in decoding stage)

항목요구량
KV Cache2 × d × Lin × batch size × FP16 = 2×4096×512×4×2B ≈ 8MB
MoE expert weight각 expert FFN: (FC1 + FC2) ≈ 2 × d × dint × Nex = 약 2GB
GQA weightWQ, WK, WV 공유되므로 전체 FC 연산용 가중치: 수십 MB

6. ⚡ Computing 요구량 (per stage)

Stage 유형주요 연산FLOPs (대략)병목 Layer
PrefillGQA + MoE1–2 TFxPU에서 집중 처리
Decoding-onlyGQA (GEMV) + MoE (GEMM)수백 GFLogic-PIM에 최적

→ 연산량 자체는 prefill이 크지만, 전체 요청 수 대비 decoding-only stage가 80% 이상을 차지
→ Op/B 낮은 decoding 단계에서 Logic-PIM이 매우 유효함


✅ 정리

항목Duplex의 설계/알고리즘에서 어떻게 대응하는가
다양한 Op/B 계층 존재GQA (Op/B 4–8), MoE (Op/B 1–10), FC (Op/B ≫ 32)
→ 연산기 할당 전략Op/B에 따라 Logic-PIM vs xPU에 동적 분배
긴 sequence → KV cache ↑KV 캐시를 bank bundle 단위로 분산 + migration 지원
Token 단위 processing토큰별로 서로 다른 expert에 분기 → Fine-grained expert routing
Memory 대역폭 병목DRAM die 대신 Logic die에 연산기 탑재 + TSV 확장으로 해결

Q : 이 논문의 한계를 극복하기 위한 방법으로 어떤 연구흐름이 있는지 정리해서 자세하게 설명해 줘

좋습니다. Duplex 논문은 Logic-PIM과 xPU의 연산 특성을 활용하여 LLM의 MoE+GQA 구조를 고속으로 추론하는 뛰어난 설계입니다. 그러나 여전히 몇 가지 설계적/시스템적 한계를 가지고 있으며, 이를 극복하기 위한 후속 연구 흐름을 정리해보면 다음과 같습니다.


✅ 1. 한계 요약 및 대응 연구 흐름

한계점상세 설명대응 연구 흐름
🎯 A. Co-processing 결정의 정적 정책Token 수 기반 expert 분배는 미리 측정된 LUT에 의존함. → 동적 부하 변동이나 QoS에 민감하지 않음🔹 Reinforcement Learning 기반 동적 expert scheduling
🔹 QoS-aware routing (e.g., latency-bound co-processing)
🔹 System-level runtime profiler 연동
🔄 B. Bank bundle 충돌 및 memory mapping overheadLogic-PIM ↔ xPU 간 병렬 접근 시 DRAM bank 충돌 가능성 있음 → 메모리 매핑 전략이 복잡함🔹 Bank-aware compiler pass 또는 Placement-aware runtime
🔹 DRAM row/bank-aware memory allocator
🔁 C. KV Cache migration/recomputation overhead긴 문장이나 대규모 배치 시 KV Cache가 DRAM을 초과하여 성능 저하🔹 PagedAttention 방식 채택 (유닉스 OSDI'23)
🔹 Layer-wise KV compression, recomputation trade-off 연구
🔹 CPU-GPU-Disk 계층화된 캐시 관리
⚙️ D. Static hardware resource partitioningLogic-PIM과 xPU의 리소스를 정해진 연산 계층에만 사용 → under-utilization 가능🔹 Elastic co-execution 구조 (범용 연산기를 동적 할당)
🔹 Resource Virtualization: on-demand PIM/XPU pooling
💾 E. Weight duplication 문제 (Splitwise와 유사)Prefill/decoding 분리를 위한 Layer weight 복제 시 메모리 낭비 발생🔹 Weight offloading/streaming 구조
🔹 Expert weight eviction/cache 교체 방식 연구
🔹 On-the-fly expert recomputation (e.g., Code-MoE 구조)
🧠 F. Expert 선택 불균형 (Expert Skew)실제 추론에서는 특정 Expert에 많은 토큰이 몰리는 현상 발생🔹 Load-balanced MoE router (e.g., Switch-Router [Fedus’21])
🔹 Routing-aware scheduling (traffic-aware 토큰 분배)
🔹 Entropy-regularized gating function

🔍 2. 관련 후속 연구 흐름 상세

🔸 A. Reinforcement Learning 기반 Co-processing Scheduler


🔸 B. DRAM-aware Memory Allocation


🔸 C. KV 캐시 압박 대응 (PagedAttention 등)


🔸 D. Unified Reconfigurable Architecture (PIM-XPU Fusion)


🔸 E. Weight Duplication 회피


🔸 F. Expert Skew 대응


📌 정리: Duplex의 확장을 위한 연구 흐름 지도

TEXT
 ┌──────────────┐
 │ Duplex 구조  │
 └────┬─────────┘
┌───────────────────────────────────────────────┐
│ 1. Co-processing Sched. → Reinforcement-based │
│ 2. Memory mapping        → DRAM-aware runtime │
│ 3. KV Cache 문제         → PagedAttention, SparseCache │
│ 4. Weight duplication     → Streaming, Recomputation │
│ 5. Expert skew            → Balanced Router / Load-Aware Gate │
│ 6. Elastic HW 활용        → Reconfigurable / Unified PIM │
└───────────────────────────────────────────────┘
클릭하여 더 보기

✅ 마무리

Duplex는 우수한 하드웨어 구조와 알고리즘을 설계했지만, 실시간 부하 변화, 불균형 expert 트래픽, 메모리 스케줄링 복잡성, 캐시 압박 등은 여전히 미해결 과제로 남아 있습니다. 이에 대한 연구는 동적 실행환경 적응성스케일러블 모듈성이라는 두 축을 중심으로 발전하고 있으며, 앞으로의 LLM serving 시스템에서 필수 요소로 자리잡을 것입니다.

물론입니다. Duplex 논문을 깊이 있게 이해하기 위해 다음 세 가지 질문을 중심으로 생각해보시면 매우 효과적입니다. 복사 붙여넣기 쉽게 포맷했습니다.


Q : Duplex는 왜 기존 PIM 구조(예: Bank-PIM, BankGroup-PIM)보다 Logic-PIM 구조를 선택했으며, 이 구조가 실제로 MoE와 GQA 연산에서 어떤 방식으로 Op/B 효율성과 연산 병렬성을 개선하는가?

좋은 질문입니다. 이 질문은 Duplex 논문의 설계 근거와 아키텍처 선택이 성능에 어떤 영향을 주었는지를 깊이 파악하는 핵심입니다. 아래에서 논문 내용과 함께 제 해석을 통합하여 정리하겠습니다.


✅ 왜 기존 PIM(Bank-PIM, BankGroup-PIM)이 아닌 Logic-PIM인가?

1. 기존 PIM 구조의 한계

구조연산기 위치Op/B 타겟 범위주요 한계
Bank-PIMDRAM bank 내부< 1연산기 수 제한, 고 Op/B 시 비효율, DRAM 공정 제약
BankGroup-PIMDRAM bank group< 1유사 문제 + DRAM 내 버퍼 크기 제한
Logic-PIM (Duplex 제안)HBM logic die1~32 (MoE, GQA에 적합)연산기 확장 용이, 고대역폭 TSV 활용 가능

2. Logic-PIM 구조의 장점

(1) 연산 밀도 (Op/B)

(2) 연산 확장성

(3) 연산 병렬성 확보


⚙️ MoE와 GQA 연산에서 Logic-PIM의 구체적 역할

1. MoE Layer (Top-k FFN)

token-level imbalance를 활용한 병렬 분산 실행


2. GQA Layer (Grouped Query Attention)

GQA 연산의 메모리 접근량이 높고 연산량이 적은 특성을 잘 맞춤


📊 성능 수치 요약 (논문 결과)

구조ThroughputTBT latencyEnergy적합 Op/B
GPU1.0×기준선기준선전체 가능, 저 Op/B에서 비효율
Bank-PIM~1.2–1.4×약간 개선일부 절감Op/B < 1
Logic-PIM (Duplex)최대 2.67×↓ 58% 이상↓ 42%Op/B 1–32 (MoE, GQA)

🧠 결론 및 제 해석

Duplex는 기존 PIM 구조가 근본적으로 가지는 공정 제약, 연산기 확장 한계, 메모리 병목 문제를 피하기 위해 Logic-PIM을 채택했습니다. 이 구조는:

필요하시면 Logic-PIM의 DRAM 다이 구조나 연산 경로를 그림으로 도식화해서 설명드릴 수도 있어요.

Q : Expert와 Attention Co-processing에서 각 연산을 xPU와 Logic-PIM에 어떻게 동적으로 분배하고, 이 과정에서 연산량 불균형(Token 수 차이, GQA 구조 등)을 어떻게 활용하여 성능을 높이는가?

이 질문은 Duplex의 핵심 설계 아이디어를 깊이 이해하는 데 매우 중요합니다. Duplex는 단순히 Layer를 처리 유닛에 정적으로 배정하는 것이 아니라, MoE와 Attention 연산을 Fine-grained 수준에서 xPU와 Logic-PIM에 동적으로 분배하여 연산 병렬성과 리소스 활용률을 극대화합니다.


✅ 개념 요약: Expert & Attention Co-processing

구성 요소병렬 처리 대상분배 기준담당 처리기
MoE Layer (Experts)Expert별 FFN각 expert가 처리할 토큰 수xPU (토큰 많음), Logic-PIM (토큰 적음)
Attention Layer (GQA)Request별 Attention요청 유형 (prefill vs decoding)xPU (prefill), Logic-PIM (decoding)

1. 🧠 Expert Co-processing: MoE Layer 처리

💡 왜 필요한가?

📦 분배 알고리즘

  1. Gate-projection FC를 통해 각 토큰 → top-2 expert 라우팅
  2. 각 expert가 맡은 token 수를 집계
  3. 논문이 제안한 LUT 기반 연산 시간 추정표를 사용:
    • 각 expert 처리 시간 (token 수 기준) in xPU vs Logic-PIM
  4. 목표: 전체 실행 시간이 최소가 되도록 expert를 할당

✨ 성능 향상 요인


2. 🔄 Attention Co-processing: GQA 처리

💡 왜 필요한가?

📦 분배 정책

요청 유형연산 특성처리기
PrefillQ: 전체 입력 (512개), KV 공유xPU
DecodingQ: 1개 토큰, KV 공유Logic-PIM

✨ 성능 향상 요인


3. 🔀 분배 시 고려되는 “연산량 불균형"의 활용

A. Expert skew

B. GQA 구조의 그룹화 특징


🧪 실험 결과로 본 효과

구성MoE 실행 시간Attention 처리 시간Overall Throughput
All xPU높음 (underutilized)비효율적1.0× (baseline)
All Logic-PIM병목 발생일부 개선
Co-processingLoad-balancedOp/B별 최적 처리↑ 2.67×

✅ 결론 요약

Duplex는 단순한 계층 분할이 아닌, 토큰 수 기반 Expert 분배 + 요청 유형 기반 Attention 분할이라는 fine-grained Co-processing 전략을 도입합니다. 이 전략은 다음을 실현합니다:

필요하시면 이 Co-processing 알고리즘을 의사코드나 그림으로 시각화해서 정리해드릴 수도 있어요.

Q : Duplex 아키텍처는 continuous batching 기반 LLM 추론에 최적화되어 있다고 주장하는데, 구체적으로 어떤 시나리오나 실험 결과가 이러한 주장의 근거가 되며, 반대로 어떤 조건에서 이 구조가 비효율적일 수 있는가?

Duplex가 Continuous Batching 기반 LLM 추론에 최적화되어 있다는 주장은 논문 전체에서 반복적으로 강조되는 핵심입니다. 이를 뒷받침하는 구체적인 시나리오와 실험 결과를 정리하고, 반대로 Duplex가 비효율적일 수 있는 조건도 함께 분석해보겠습니다.


✅ Duplex가 Continuous Batching에 최적화된 이유

📌 Continuous Batching 이란?


1. 📈 실험 결과 기반 정량적 근거

A. Stage 비중 분석 (논문 Fig. 5a)

Stage 유형전체 stage 중 비율특징
Decoding-only약 80~90%Op/B 낮음, 주요 병목 발생
Mixed stage10~20%Prefill 포함, Op/B 다소 높음

→ 대부분의 연산이 decoding-only stage에서 발생하며, 이 구간이 low Op/B 연산 위주로 구성됨
Logic-PIM 최적 적용 대상


B. Throughput & Latency 성능 향상 (논문 Fig. 11, 12, 13)

비교 대상Throughput (tokens/s)TBT Latency 감소 (p50)
GPU기준선 (1.0×)-
2× GPU1.76×일부 감소
Duplex2.07×58.3% 감소
Duplex+PE+ET최대 2.67×최대 60% 감소

→ continuous batching에서 dominant stage인 decoding-only를 Logic-PIM으로 빠르게 처리함으로써
전체 system-level latency와 throughput을 동시에 향상시킴


C. 실시간 요청 시나리오 (Fig. 13, QPS 실험)

QPSGPU2× GPUDuplex
4~9처리 가능가능가능
10~14처리 불가 (큐 대기 증가)가능가능 (14 QPS까지)
≥15모든 구조에서 overloadoverloadoverload

낮은 TBT 유지 + 높은 최대 처리량(QPS) 보장
→ Duplex는 Continuous Batching 환경에서의 serving 안정성도 우수


2. 💡 Continuous Batching 구조와 Duplex 설계의 Alignment

Duplex 설계 요소Continuous Batching과의 정합성
Logic-PIM의 low Op/B 최적화대부분 decoding-only stage 연산이 해당됨
Co-processing (expert/token 단위)stage별 다양한 token 수에 맞춤형 분배 가능
KV cache 분리 및 migration 구조decoding stage 캐시 증가 문제를 대응할 수 있도록 설계
Bank-bundle 기반 DRAM 매핑decoding stage 집중 시 DRAM 충돌 회피

⚠️ Duplex가 비효율적일 수 있는 조건

1. Prefill 중심 요청 비중이 높을 때 (e.g., 단발형 Q&A)

→ 이 경우 Duplex의 Logic-PIM 리소스가 놀거나 under-utilized 될 수 있음


2. Expert 간 토큰 분포가 균등할 때

Co-processing 이점이 희석됨


3. Sequence length가 너무 짧은 경우

Duplex의 구조적 투자 대비 실익이 줄어듦


✅ 정리

Duplex는 continuous batching에서 decoding-only stage가 성능 병목이 되는 구조적 특성을 정확히 포착하여,

하지만, prefill 비중이 과도하게 높거나, token 분포가 균등하거나, sequence가 짧은 경우에는 Duplex의 구조적 장점이 약화될 수 있습니다.

결론적으로 Duplex는 “LLM Serving 환경에서 대화형 continuous generation 추론에 최적화된 구조”라고 평가할 수 있습니다.

필요하시면 Duplex가 비효율적인 조건에서 어떻게 구조를 개선할 수 있을지도 제안해드릴 수 있어요.

라이선스

저작자: Jaehun Ryu

링크: https://jaehun.me/posts/duplex-a-device-for-large-language-models-with-mixture-of-experts-grouped-query-attention-and-continuous-batching/

라이선스: CC BY 4.0

이 저작물은 크리에이티브 커먼즈 저작자표시 4.0 국제 라이선스에 따라 이용할 수 있습니다. 출처를 밝히면 상업적 목적을 포함해 자유롭게 이용 가능합니다.

댓글

검색 시작

검색어를 입력하세요

↑↓
ESC
⌘K 단축키