메모리 장벽의 시대: AI 칩 원가의 3분의 2를 메모리가 차지하는 이유

소프트웨어 엔지니어와 AI 실무자로서 우리는 연산 능력(compute)에 엄청난 시간을 쏟습니다. 테라플롭스(teraFLOPs)를 벤치마킹하고, 커널 실행 오버헤드를 최적화합니다. 또한 하드웨어가 허용하는 한 최대한 많은 SM(Streaming Multiprocessor)에 연산을 병렬화하려고 노력합니다. 하지만 우리가 개발한 모델을 구동하는 하드웨어의 물리적 현실은 이미 근본적으로 바뀌고 있습니다.
Epoch AI에서 최근 발표한 데이터에 따르면, 최신 AI 칩 전체 부품 원가에서 메모리가 차지하는 비중이 거의 3분의 2 수준까지 증가했습니다. 우리는 공식적으로 '메모리 장벽(Memory Wall)'에 부딪혔으며, 이 장벽은 인공지능의 경제학을 완전히 새롭게 재편하고 있습니다.
#어떤 일이 일어나고 있는가: Epoch AI의 분석 결과
지난 수십 년 동안 반도체 산업은 무어의 법칙(Moore's Law)을 따랐습니다. 로직 회로는 작아졌고, 트랜지스터 가격은 저렴해졌으며, 프로세서는 점점 더 빨라졌습니다. 그 결과 연산 로직을 담고 있는 실리콘 다이(die)가 제조원가명세서(BOM)에서 절대적인 비중을 차지해 왔습니다.
하지만 Epoch AI의 최근 분석은 AI 가속기 시장에서 이러한 패러다임이 완전히 역전되었음을 보여줍니다. 오늘날 거대한 신경망에 데이터를 공급하는 데 필요한 초고속 메모리, 특히 HBM(High Bandwidth Memory)이 플래그십 AI GPU 제조 원가의 약 66%를 차지하고 있습니다.
이는 HBM의 제조 및 패키징 공정이 극도로 복잡하기 때문입니다. PCB 위에서 프로세서 옆에 배치되는 기존 GDDR 메모리와 달리, HBM은 메모리 다이를 수직으로 쌓아 올립니다. 그리고 미세한 실리콘 관통 전극(TSV, Through-Silicon Vias)을 사용해 이를 연결해야 합니다. 이렇게 쌓아 올린 메모리 스택은 TSMC의 CoWoS와 같은 첨단 실리콘 인터포저 위에 연산 다이와 나란히 배치됩니다. 이 공정은 수율을 확보하기가 악명 높을 정도로 까다롭고 재료비 또한 비쌉니다. 이제 AI 하드웨어를 구축할 때 병목 현상을 일으키는 것은 연산 능력이 아닙니다. 연산 장치에 데이터를 공급하는 과정 자체가 병목입니다.
#왜 중요한가: 메모리 장벽의 경제학
소프트웨어 개발자나 데이터 과학자가 하드웨어 BOM 원가까지 신경 써야 하는 이유는 무엇일까요? 하드웨어 경제학이 클라우드 요금과 API 비용을 결정하기 때문입니다. 궁극적으로는 어떤 아키텍처가 상업적으로 배포 가능한지를 결정하는 핵심 요소가 됩니다.
가속기 원가의 3분의 2가 메모리에 들어간다는 것은, 모델 크기를 키울 때 비용이 기하급수적으로 증가한다는 의미입니다. 모델 크기가 커지면 선형적으로 더 많은 메모리 용량이 필요하기 때문입니다. AWS나 GCP에서 AI 인스턴스를 대여할 때, 우리는 단순히 행렬 곱셈 연산 능력에 대한 비용만 지불하는 것이 아닙니다. 칩에 부착된 물리적인 HBM3 또는 HBM3e 메모리에 대한 프리미엄을 주로 지불하고 있는 셈입니다.
이러한 구조는 클라우드 제공업체들이 메모리 용량에 갈수록 인색해지는 이유를 설명해 줍니다. 플래그십 GPU가 엄청난 FLOPs를 자랑하더라도 메모리 용량이 80GB나 144GB로 제한되어 있다면 어떨까요? 대규모 모델을 추론할 때 텐서 병렬화(Tensor Parallelism)를 통해 가중치를 여러 GPU에 분산시켜야 합니다. 이는 운영 비용을 크게 증가시키고 네트워크 지연(latency)을 유발합니다.
#기술적 의미: 우리는 메모리 바운드(Memory-Bound) 상태에 있습니다
기술적인 관점에서 볼 때 메모리 비용이 지배적으로 변한 현상은 최신 딥러닝의 근본적인 병목 현상과 정확히 일치합니다. 대형 언어 모델(LLM)은 연산 바운드(compute-bound)가 아니라 심각한 메모리 바운드(memory-bound) 상태에 있습니다.
LLM이 토큰을 하나씩 생성하는 자동 회귀(Autoregressive) 생성 방식에서는 생성되는 모든 단일 토큰마다 메모리에서 연산 유닛으로 전체 모델 가중치 행렬을 읽어와야 합니다. 뿐만 아니라 추론 엔진은 과거의 컨텍스트를 다시 계산하는 것을 방지하기 위해 GPU 메모리에 'KV 캐시(Key-Value Cache)'를 유지합니다.
메모리가 얼마나 빨리 고갈되는지 확인하기 위해, 추론 과정에서 KV 캐시 크기를 계산하는 간단한 Python 코드를 살펴보겠습니다.
def calculate_kv_cache_gb(batch_size, seq_len, hidden_size, num_layers, precision_bytes=2):
"""
Calculates the memory required to store the KV cache for a transformer model.
precision_bytes: 2 for FP16/BF16
"""
# 2 represents the Key and Value tensors
bytes_per_token = 2 * hidden_size * num_layers * precision_bytes
total_bytes = batch_size * seq_len * bytes_per_token
return total_bytes / (1024 ** 3) # Convert to GB
# Example for a Llama-3-70B style model (80 layers, 8192 hidden size)
# with a batch size of 32 and a context window of 8,192 tokens:
cache_size = calculate_kv_cache_gb(batch_size=32, seq_len=8192, hidden_size=8192, num_layers=80)
print(f"KV Cache Size: {cache_size:.2f} GB")
# Output: KV Cache Size: 6.25 GB (Just for the cache, not the model weights!)
FP16 기반의 70B 파라미터 모델이 차지하는 140GB의 메모리 공간에, 긴 컨텍스트 윈도우와 동시 접속 사용자를 처리하기 위한 거대한 KV 캐시를 더해보십시오. 하드웨어 벤더들이 왜 그 비싼 HBM을 인터포저 위에 최대한 많이 집어넣으려고 필사적인지 금방 이해할 수 있습니다.
#장벽 극복하기: 소프트웨어 전략
메모리가 가장 큰 비용을 차지함에 따라, 현재 AI 분야에서 가장 영향력 있는 소프트웨어 엔지니어링은 메모리 최적화에 집중되어 있습니다. 업계는 다음과 같은 기술들로 대응하고 있으며, 현대의 개발자라면 이를 반드시 이해해야 합니다.
- 양자화 (Quantization: INT8, INT4, FP8): 가중치와 활성화 함수(activations)의 정밀도를 낮춥니다. FP16에서 INT4로 전환하면 모델을 로드하는 데 필요한 메모리 대역폭을 절반으로 줄이고 추론 속도를 두 배로 높일 수 있습니다.
- PagedAttention: vLLM을 통해 널리 알려진 이 기술은 KV 캐시를 운영체제의 가상 메모리처럼 취급합니다. 메모리 단편화를 제거하여 동일한 물리적 메모리 공간에서 훨씬 더 큰 배치 크기(batch size)를 처리할 수 있게 해줍니다.
- GQA (Grouped-Query Attention): Llama-3와 같은 모델에 적용된 아키텍처 변화입니다. KV 헤드의 수를 줄여 KV 캐시가 차지하는 메모리 공간을 직접적으로 축소시킵니다.
#다음 단계: 하드웨어와 아키텍처의 미래
HBM 레티클 크기의 물리적 한계로 인해, 단일 칩에서 메모리를 영원히 확장할 수는 없습니다. 따라서 하드웨어 벤더들은 적극적으로 대안을 모색하고 있습니다.
- CIM (Compute-In-Memory): SRAM 어레이 내부에서 행렬 곱셈을 직접 수행하는 아키텍처입니다. 메모리와 로직 사이에서 발생하는 비용 소모적인 데이터 이동을 제거합니다.
- 광 인터커넥트 (Optical Interconnects): 실리콘 포토닉스를 사용하여 여러 연산 다이가 각각의 HBM 스택을 초저지연으로 공유할 수 있게 합니다. 이를 통해 사실상 거대한 하나의 논리적 GPU를 구성합니다.
- 대안적 패러다임: Mamba나 RWKV와 같은 상태 공간 모델(SSM, State Space Models)이 대표적입니다. 이들은 시퀀스 길이에 상관없이 상태 유지에 일정한 크기의 메모리만 차지합니다. 기하급수적으로 늘어나는 KV 캐시 문제를 본질적으로 회피할 수 있습니다.
#결론
AI 칩 원가의 3분의 2를 메모리가 차지한다는 Epoch AI의 분석 결과는 단순하고 흥미로운 공급망 통계에 그치지 않습니다. 이것은 현대 소프트웨어 엔지니어링을 정의하는 핵심적인 제약 조건입니다.
강력한 연산 능력에만 의존하여 무식하게 성능을 끌어올리던 시대는 끝났습니다. 앞으로 다가올 AI 혁명의 다음 단계에서는 메모리를 가장 귀중한 자원으로 다루는 엔지니어와 연구자들이 승리자가 될 것입니다. 프로덕션 환경에 모델을 배포하든 저수준의 CUDA 커널을 작성하든, 우리의 최우선 목표는 이미 바뀌었습니다. 이제 수학적인 계산 공식에 대한 고민은 잠시 내려놓고, 데이터의 이동에 대해 고민해야 할 때입니다.