이런 독자에게 맞습니다

단일 GPU 학습에서 멀티 GPU와 대규모 모델 학습 시스템으로 넘어가고 싶은 독자.

선수 지식

기본적인 딥러닝 학습 경험, GPU 사용 경험, 그리고 학습 루프가 어떻게 돌아가는지에 대한 일반적인 이해.

이 시리즈에서 얻을 수 있는 것

  • data, tensor, pipeline parallel 전략의 트레이드오프를 이해하게 됩니다
  • 대규모 모델 학습에서 통신, 메모리, 프레임워크 설계가 어떻게 얽히는지 보게 됩니다
  • Megatron-LM, DeepSpeed, FSDP를 더 시스템적인 관점에서 읽을 수 있게 됩니다

전체 글

  1. 1

    분산 LLM 학습 01 - 왜 LLM 학습은 분산 시스템 문제가 되는가

    여러 GPU를 붙이는 순간 학습 코드는 계산만의 문제가 아니라 메모리와 통신, 장애 복구까지 포함한 시스템 문제가 된다

  2. 2

    분산 LLM 학습 02 - Synchronous SGD와 Data Parallel의 진짜 비용

    가장 기본적인 분산 학습 방식인 data parallel은 단순해 보이지만 gradient 동기화와 메모리 복제 비용을 함께 안고 있다

  3. 3

    분산 LLM 학습 03 - All-Reduce, Ring, 그리고 통신 비용 읽는 법

    분산 학습에서 가장 자주 등장하는 collective인 all-reduce를 이해해야 gradient synchronization 비용을 제대로 읽을 수 있다

  4. 4

    분산 LLM 학습 04 - PyTorch DDP는 내부에서 무엇을 하는가

    DDP는 단순 래퍼가 아니라 autograd hook, gradient bucket, process group을 사용해 동기화를 조직하는 런타임이다

  5. 5

    분산 LLM 학습 05 - Global Batch Size, Gradient Accumulation, Learning Rate Scaling

    GPU 수를 늘리는 일은 단순한 throughput 증가가 아니라 optimizer가 보는 batch 의미를 바꾸는 일이다

  6. 6

    분산 LLM 학습 06 - LLM 학습의 메모리는 어디에 쓰이는가

    파라미터만 보는 순간 분산 학습 판단을 잘못하게 된다. activation, gradient, optimizer state를 함께 봐야 한다

  7. 7

    분산 LLM 학습 07 - NCCL과 토폴로지: 왜 같은 GPU 수인데 속도가 다를까

    분산 학습 성능은 GPU 개수보다 GPU들이 어떤 링크로 연결되어 있는지에 더 크게 흔들릴 때가 많다

  8. 8

    분산 LLM 학습 08 - Tensor Parallel의 기본: 모델 내부 연산을 어떻게 나누는가

    모델이 한 GPU에 안 들어가기 시작하면 더 이상 데이터만 나누는 것으로는 부족하고 연산 자체를 분할해야 한다

  9. 9

    분산 LLM 학습 09 - Transformer에서 Tensor Parallel이 실제로 들어가는 위치

    tensor parallel은 추상 개념이 아니라 attention projection, output projection, MLP 같은 구체적인 지점에 들어간다

  10. 10

    분산 LLM 학습 10 - Sequence Parallel과 긴 컨텍스트의 비용

    모델 크기만 커지는 것이 아니라 컨텍스트 길이도 길어지면 activation 메모리와 통신 패턴이 다시 달라진다

  11. 11

    분산 LLM 학습 11 - Pipeline Parallel의 기본과 Stage 분할 감각

    모델을 레이어 단위로 여러 stage에 나누는 순간 계산 분할뿐 아니라 idle time과 stage imbalance가 핵심 문제가 된다

  12. 12

    분산 LLM 학습 12 - GPipe, 1F1B, Interleaving: Pipeline Schedule은 어떻게 고르는가

    pipeline parallel의 효율은 레이어 분할보다 schedule 선택에 더 크게 흔들릴 때가 많다

  13. 13

    분산 LLM 학습 13 - Activation Checkpointing과 Recomputation의 트레이드오프

    메모리를 아끼기 위해 계산을 다시 하는 전략은 단순한 옵션이 아니라 분산 학습 설계의 중심 선택지다

  14. 14

    분산 LLM 학습 14 - ZeRO Stage 1, 2, 3는 각각 무엇을 없애는가

    ZeRO는 하나의 기술이 아니라 어떤 메모리 복제를 줄일 것인지 단계적으로 선택하는 체계다

  15. 15

    분산 LLM 학습 15 - FSDP는 DDP와 무엇이 다르고 언제 유리한가

    FSDP는 전체 파라미터를 shard한 채 필요할 때만 모아 쓰는 방식으로 메모리 문제를 직접 겨냥한다

  16. 16

    분산 LLM 학습 16 - Communication Overlap은 어떻게 step 시간을 숨기는가

    분산 학습 최적화의 핵심은 통신을 없애는 것이 아니라 계산 뒤에 숨어서 끝나게 만드는 데 있다

  17. 17

    분산 LLM 학습 17 - Checkpoint, Resume, Fault Tolerance는 왜 핵심인가

    긴 분산 학습에서는 빠른 step만큼이나 중단 이후 안전하게 이어가는 능력이 중요하다

  18. 18

    분산 LLM 학습 18 - Deadlock, Timeout, OOM: 분산 학습 디버깅의 기본기

    분산 학습 디버깅은 에러 메시지 읽기보다 어느 rank가 어떤 collective 앞에서 멈췄는지 구조적으로 좁히는 일이다

  19. 19

    분산 LLM 학습 19 - Megatron-LM과 DeepSpeed를 어떻게 읽을 것인가

    프레임워크를 이름으로 기억하기보다 어떤 병렬화와 어떤 상태 관리를 추상화하는지로 읽어야 한다

  20. 20

    분산 LLM 학습 20 - 실제 LLM 학습 스택을 설계하는 순서

    분산 학습 전략은 멋있는 기법을 조합하는 일이 아니라 현재 병목에 맞는 최소 구조를 선택하고 검증하는 일이다