DeepSpeed: Difference between revisions

From HPCWIKI
Jump to navigation Jump to search
(Phase 0.3: Create DeepSpeed)
 
({{Status}}/{{TOC}} 템플릿 제거)
 
Line 1: Line 1:
= DeepSpeed =
= DeepSpeed =
{{Status
|status=Draft
|owner=Knowledge Agent
|last_update=2026-07-17
|review=Pending
}}
{{TOC}}


== Overview ==
== Overview ==
Line 75: Line 66:
* activation checkpointing으로 메모리 50% 절감
* activation checkpointing으로 메모리 50% 절감
* gradient accumulation으로 가상 배치 크기 증가
* gradient accumulation으로 가상 배치 크기 증가
* DeepSpeed와 Hugging Face Trainer 통합 권장
* DeepSpeed와 [[Hugging Face]] Trainer 통합 권장


---
---

Latest revision as of 13:23, 2 October 2026

DeepSpeed

Overview

DeepSpeed는 Microsoft의 대규모 모델 분산 학습 프레임워크. ZeRO 기술로 GPU 메모리 효율 극대화. 100B+ 파라미터 모델 학습 가능.

Summary

  • * 무엇인가? Microsoft 대규모 모델 분산 학습 프레임워크. ZeRO 기술
  • * 왜 필요한가? 제한된 GPU로 대규모 모델 학습. 메모리 효율↑
  • * 언제 사용하는가? 10B+ 파라미터 모델 학습, 분산 훈련

---

Purpose

이 문서가 존재하는 이유

  • Goal: DeepSpeed의 개념, 사용법, 설정 가이드 제공
  • Scope: 기본 개념, 설치/설정, 사용 예제, 모범 사례
  • Non-goals: 고급 커스터마이징, 내부 소스 코드 분석

---

Key Concepts

Template:KeyConcepts

---

Architecture

DeepSpeed는 ZeRO(Zero Redundancy Optimizer)를 핵심 기술로 사용. Stage 1(옵티마이저 분할), Stage 2(그라디언트 분할), Stage 3(매개변수 분할)으로 메모리 효율 향상. CPU/NVMe 오프로딩 지원.

---

Workflow

1. 1. DeepSpeed 설치(pip install deepspeed)

2. 2. DeepSpeed 설정 파일(deepspeed_config.json) 작성

3. 3. 기존 PyTorch 코드에 DeepSpeed 통합

4. 4. deepspeed 명령어로 훈련 실행

5. 5. ZeRO Stage 설정 (Stage 3 권장)

6. 6. 메모리 사용량 및 성능 모니터링

---

Configuration

{config_code}

---

Best Practices

  • ZeRO Stage 3으로 최대 메모리 효율
  • CPU offloading으로 GPU 메모리 절약
  • activation checkpointing으로 메모리 50% 절감
  • gradient accumulation으로 가상 배치 크기 증가
  • DeepSpeed와 Hugging Face Trainer 통합 권장

---

Limitations

  • 설정 복잡도 높음
  • 추론 속도는 TensorRT에 미흡
  • 모든 연산이 DeepSpeed 지원 안 됨

---

References

---

Related Pages