여러 GPU가 데이터를 병렬 처리하는 구조를 시각화한 이미지

분산학습의 이해 Part 2 - Data Parallelism: 데이터를 나눠 메모리를 줄이다

이전 글에서 GPU 메모리가 parameter memory와 activation memory로 나뉘고, 특히 activation memory가 batch size에 비례한다는 것을 분석했습니다. 큰 모델을 큰 batch size로 학습하려면 GPU 한 장으로는 메모리가 부족합니다. Data Parallelism(DP)은 이 문제에 대한 가장 직관적인 접근입니다. 데이터를 쪼개서 여러 GPU에 나눠주고, 각 GPU가 자기 몫의 데이터로 gradient를 계산한 뒤, 결과를 모아서 파라미터를 업데이트합니다. 이 글에서는 DP의 구체적인 동작 원리를 Parameter Server 아키텍처 기준으로 분석합니다. 1. Parameter Server 아키텍처 Parameter Server(PS) 아키텍처: PS가 파라미터를 관리하고, Worker GPU들이 gradient를 계산한다 ...

2026년 4월 15일 · 5 분 · Jesam Kim
GPU 메모리 구조를 시각화한 이미지

분산학습의 이해 Part 1 - GPU 메모리 분석: Parameter vs Activation

GPU 한 장으로 모델을 학습하다 보면 어김없이 만나는 에러가 있습니다. CUDA out of memory. 모델 파라미터 수만 보고 “이 정도면 들어가겠지” 싶었는데 실제로는 훨씬 더 많은 메모리를 요구합니다. Inference 때는 문제없이 돌아가던 모델이 Training에서는 메모리가 부족한 이유가 뭘까요? 이 글에서는 Neural Network 학습 루프의 각 단계를 따라가면서, GPU 메모리가 정확히 어디에 얼마나 쓰이는지를 수식과 함께 분석합니다. 1. Neural Network 학습 루프 한 iteration의 학습은 네 단계로 구성됩니다. Neural Network 학습 루프: Forward - Loss - Backward - Optimizer의 순환 구조 ...

2026년 4월 15일 · 5 분 · Jesam Kim

vLLM 아키텍처 해부: PagedAttention부터 Continuous Batching까지

1. 왜 LLM 서빙이 어려운가 최근 몇 년간 Claude, GPT-4, Llama 같은 대형 언어 모델을 프로덕션 환경에서 서빙하는 요구가 폭발적으로 증가했습니다. 하지만 실제로 모델을 서버에 올려 운영해보면, GPU 메모리 부족 문제에 빠르게 직면하게 됩니다. 일반적인 이미지 분류 모델이나 음성 인식 모델은 고정된 크기의 입력을 받아 한 번에 추론합니다. 하지만 LLM은 근본적으로 다릅니다. 텍스트를 생성할 때 토큰을 하나씩 순차적으로 출력하는 자기회귀(Autoregressive) 방식을 사용하기 때문에, 매 토큰 생성마다 이전에 나온 모든 토큰의 정보를 다시 참조해야 합니다. ...

2026년 3월 17일 · 7 분 · Jesam Kim
Some illustrations are generated using Amazon Bedrock image generation models (Nova 2 Omni, SD3.5 Large, Nova Canvas).