ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • GPU 메모리 대역폭 - V100, A100, H100 중심
    AI 2025. 7. 6. 18:42
    728x90

     

     

    GPU 메모리 대역폭 - V100, A100, H100 중심

     

     

     

     

    1. GPU 메모리 대역폭이란?

    GPU의 메모리 구조:

    [GPU 칩] <---메모리 버스---> [메모리 (HBM/GDDR)]
       |                              |
    CUDA 코어들                    모델 가중치
    텐서 코어들                    활성화 데이터
                                  KV 캐시

     

    대역폭의 의미:

    GPU 칩이 메모리와 초당 주고받을 수 있는 데이터양
    = 얼마나 빨리 모델 데이터를 읽고 쓸 수 있는가

     

     

    2. V100, A100, H100의 메모리 대역폭 비교
    V100 HBM2 16/32GB 900 GB/s 2017
    A100 40GB HBM2e 40GB 1,555 GB/s 2020
    A100 80GB HBM2e 80GB 2,039 GB/s 2021
    H100 HBM3 80GB 3,352 GB/s 2022
    H200 HBM3e 141GB 4,800 GB/s 2024

     

    3. 대역폭 차이가 실제 성능에 미치는 영향

    7B 모델 추론 성능 비교

    모델 크기: 14GB (FP16)
    작업: 토큰 1개 생성 시 모델 전체 읽기 필요
    
    V100 (900 GB/s):
    읽기 시간 = 14GB ÷ 0.9 GB/s = 15.6초
    → 이론상 최대 토큰/초: 0.064
    
    A100 40GB (1,555 GB/s):
    읽기 시간 = 14GB ÷ 1.555 GB/s = 9.0초  
    → 이론상 최대 토큰/초: 0.111
    
    A100 80GB (2,039 GB/s):
    읽기 시간 = 14GB ÷ 2.039 GB/s = 6.9초
    → 이론상 최대 토큰/초: 0.145
    
    H100 (3,352 GB/s):
    읽기 시간 = 14GB ÷ 3.352 GB/s = 4.2초
    → 이론상 최대 토큰/초: 0.238

    실제 측정 성능 (배치 처리 포함)

    7B 모델 실제 추론 속도:
    
    V100: ~8 토큰/초
    A100 40GB: ~25 토큰/초 (V100 대비 3.1배)
    A100 80GB: ~35 토큰/초 (V100 대비 4.4배)  
    H100: ~55 토큰/초 (V100 대비 6.9배)
    
    → 대역폭 증가에 비례해서 성능 향상

     

    4. 메모리 기술별 특징

    HBM2 (V100) - 1세대 AI 메모리

    특징:
    - 최초의 AI 전용 고대역폭 메모리
    - 4개 스택, 1024비트 버스
    - 상대적으로 낮은 대역폭
    
    한계:
    - 메모리 용량 부족 (최대 32GB)
    - 대용량 모델 처리 제한
    - 낮은 전력 효율

    HBM2e (A100) - 2세대 AI 메모리

    특징:
    - HBM2의 개선 버전
    - 더 높은 클럭, 더 많은 용량
    - AI 워크로드 최적화
    
    개선점:
    - 용량 대폭 증가 (80GB)
    - 1.7-2.3배 높은 대역폭
    - 전력 효율 개선

    HBM3 (H100) - 3세대 AI 메모리

    특징:
    - 차세대 메모리 기술
    - 8개 스택, 5120비트 버스
    - 극한의 대역폭
    
    혁신점:
    - 3.4TB/s 초고속 대역폭
    - 향상된 신호 무결성
    - AI 워크로드 완전 최적화

     

    5. 왜 이렇게 대역폭 차이가 날까?

    메모리 버스 구조 차이

    V100 (HBM2):
    [GPU] ←1024 bit 버스→ [4개 HBM2 스택]
    = 4-lane 고속도로
    
    A100 (HBM2e):  
    [GPU] ←1024-1536 bit 버스→ [6개 HBM2e 스택]
    = 6-lane 고속도로
    
    H100 (HBM3):
    [GPU] ←5120 bit 버스→ [8개 HBM3 스택]  
    = 20-lane 초고속도로

    메모리 클럭 속도 차이

    V100: HBM2 @ 1.75Gbps
    A100: HBM2e @ 2.4-3.2Gbps  
    H100: HBM3 @ 6.4Gbps
    
    클럭이 높을수록 = 같은 버스에서 더 빠른 전송

     

    6. 실제 AI 워크로드에서 대역폭 영향

    학습 시 메모리 접근 패턴

    # 학습 1스텝에서 필요한 메모리 접근
    
    # 순전파
    model_weights = read_memory(14GB)      # 모델 읽기
    activations = compute_forward(inputs, model_weights)
    write_memory(activations, 2GB)        # 활성화 저장
    
    # 역전파  
    activations = read_memory(2GB)         # 활성화 읽기
    model_weights = read_memory(14GB)      # 모델 다시 읽기
    gradients = compute_backward(activations, model_weights)
    write_memory(gradients, 14GB)         # 그래디언트 저장
    
    # 파라미터 업데이트
    model_weights = read_memory(14GB)      # 모델 읽기
    gradients = read_memory(14GB)          # 그래디언트 읽기
    optimizer_state = read_memory(28GB)    # 옵티마이저 상태 읽기
    new_weights = update(model_weights, gradients, optimizer_state)
    write_memory(new_weights, 14GB)       # 새 가중치 저장
    write_memory(new_optimizer_state, 28GB) # 새 상태 저장
    
    # 총 메모리 접근량: 약 130GB (읽기 + 쓰기)

     

    대역폭별 학습 속도 차이

    7B 모델 학습 1스텝 시간:
    
    V100 (900 GB/s):
    130GB ÷ 0.9 GB/s = 144초
    
    A100 80GB (2,039 GB/s):
    130GB ÷ 2.039 GB/s = 64초 (2.3배 빠름)
    
    H100 (3,352 GB/s):
    130GB ÷ 3.352 GB/s = 39초 (3.7배 빠름)

     

    7. 배치 처리에서 대역폭의 중요성

    배치 크기별 메모리 효율

    # 배치 1 (비효율적)
    for sample in range(1):
        weights = read_memory(14GB)    # 매번 모델 전체 읽기
        result = compute(sample, weights)
    # 1개 샘플당 14GB 읽기
    
    # 배치 32 (효율적)
    weights = read_memory(14GB)        # 한 번만 모델 읽기
    for sample in range(32):
        result[sample] = compute(sample, weights)  # 가중치 재사용
    # 32개 샘플당 14GB 읽기 (32배 효율적)

    대역폭이 높을수록 더 큰 배치 처리 가능

    V100: 메모리 부족 + 낮은 대역폭 → 작은 배치만 가능
    A100: 충분한 메모리 + 중간 대역폭 → 중간 배치 가능  
    H100: 충분한 메모리 + 높은 대역폭 → 큰 배치 처리 가능
    
    → 높은 대역폭 = 더 효율적인 병렬 처리

     

    8. 메모리 대역폭 최적화 기법

    GPU별 최적화 전략

    V100 최적화:

    - 작은 모델 사용 (7B 이하)
    - 양자화 적극 활용 (INT8)
    - 작은 배치 크기
    - 그래디언트 체크포인팅 필수

    A100 최적화:

    - 중간 크기 모델 (13B-30B)
    - FP16 혼합 정밀도
    - 적절한 배치 크기 (8-16)
    - ZeRO 옵티마이저 활용

    H100 최적화:

    - 대용량 모델 (70B+)
    - FP8 활용 (2배 빠른 처리)
    - 큰 배치 크기 (32+)
    - Transformer Engine 활용

     

    결론: 메모리 대역폭의 중요성
    • AI 모델은 Memory-Bound (계산보다 메모리 접근이 병목)
    • 대역폭이 2배 높으면 → 실제 성능도 거의 2배 향상
    • CUDA 코어 수보다 메모리 대역폭이 더 중요
    • 용량도 중요하지만 대역폭이 성능 결정

    V100 → A100 → H100로 갈수록 대역폭이 3.7배 증가하고, 실제 AI 성능도 그에 비례해서 향상된 게 대역폭의 중요성을 보여줌 

     

     

     

    https://developer.nvidia.com/ko-kr/blog/nvidia-hopper-architecture-in-depth/

     

    NVIDIA Hopper 아키텍처 심층 분석하기

    2022년 NVIDIA GTC 키노트 연설에서 CEO 젠슨 황이 새로운 NVIDIA Hopper GPU 아키텍처 기반의 새로운 NVIDIA H100 Tensor 코어 GPU를 소개했습니다. 이 게시물은 새로운 H100 GPU를 자세히 살펴보고 NVIDIA Hopper 아키

    developer.nvidia.com

     

     

    728x90

    'AI' 카테고리의 다른 글

    [GPU] NVIDIA GPU 세대별 비교표  (0) 2025.07.06
    [2023 Spring NLP Seminar] Data-Centric AI : Chapter 1  (0) 2023.04.05
    Discriminative Model / Generative Model  (0) 2023.02.24
    강화 학습 참고할 사이트  (0) 2021.09.23
    Argparse 자습서  (0) 2021.09.08
Designed by Tistory.