기술 가이드

CPU 및 NVMe에 대한 최적화 상태 오프로딩

부족한 GPU 메모리 대신 CPU RAM 또는 NVMe SSD에 훈련(최적화 상태, 그라데이션, 때로는 가중치)의 무거운 기록을 보관하는 메모리 절약 트릭입니다.

이 가이드를 들어보세요AI 내레이션 · ~2 min

이 페이지에서2분 읽기
  1. 개요
  2. 심층 분석
  3. 실제 구현
  4. CPU 및 NVMe에 대한 옵티마이저 상태 오프로딩의 미래
  5. 실천에 옮기기
  6. 계속 탐색하세요
  7. 자주 묻는 질문

개요

It lets people train far larger models than their GPU's memory would otherwise allow.

심층 분석

Adam과 같은 옵티마이저를 사용하여 신경망을 훈련할 때 모든 매개변수에는 두 개의 실행 통계(운동량 및 분산)와 전체 정밀도의 가중치 사본 및 기울기 등 추가 수하물이 포함됩니다. 혼합 정밀도 훈련에서 이는 매개변수당 대략 총 16바이트가 될 수 있으며, 이는 가중치 자체의 2바이트를 왜소하게 만듭니다. 오프로드는 해당 수하물을 GPU에서 이동시킵니다. CPU 오프로드는 최적화 프로그램 상태를 PCIe 버스를 통해 일반 시스템 RAM으로 스트리밍하는 반면, NVMe 오프로드는 이를 빠른 솔리드 스테이트 디스크까지 푸시합니다. DeepSpeed의 ZeRO-Infinity 및 ZeRO-Offload로 대중화된 이 기술은 원시 속도를 용량으로 교환하여 단일 GPU 또는 소규모 클러스터가 수십억 개의 매개변수를 사용하여 모델을 미세 조정할 수 있도록 합니다.

실제 구현

DeepSpeed’s ZeRO-Offload tutorial trains a ten-billion-parameter GPT-2 configuration on a 32 GB V100, with CPU optimizer offloading and activation checkpointing.

A research team evaluates ZeRO-Infinity with CPU and NVMe tiers for a model that exceeds GPU-only capacity.

A fine-tuning team configures CPU optimizer offloading and measures host memory use and update time.

A team compares larger GPUs with offloading, accounting for CPU, storage, and transfer costs.

CPU 및 NVMe에 대한 옵티마이저 상태 오프로딩의 미래

모델이 GPU 메모리를 계속 초과함에 따라 계층형 오프로드는 이색적이지 않고 표준이 되고 있습니다. CPU-GPU 경계를 흐리게 하는 NVLink-C2C 및 CXL 메모리 풀과 같은 더 빠른 상호 연결과 프리페치할 상태를 예측하는 더 스마트한 스케줄러를 통해 더욱 긴밀하게 통합될 수 있습니다. Grace Hopper와 같은 통합 메모리 아키텍처는 PCIe 페널티를 줄이고 프레임워크는 다중 계층 오프로드를 거의 투명하게 만들어 취미 사용자가 적당한 하드웨어에서 대형 모델을 미세 조정할 수 있도록 추진하고 있습니다.

실천에 옮기기

왜 중요한가요?

  • 비용 및 예산. 아키텍처 결정은 수년 동안 성능과 운영 비용을 결정합니다.
  • 더 명확한 결정들. 기술 교육은 팀이 최신 스택뿐만 아니라 올바른 스택을 선택하는 데 도움이 됩니다.
  • 품질 관리. 더 나은 엔지니어링 선택은 생산 시 신뢰성 사고를 줄입니다.

조심하세요

  • 하나의 벤치마크를 최적화하면 더 광범위한 시스템 약점을 숨길 수 있습니다.
  • 인프라 및 유지 관리 비용은 종종 과소평가됩니다.
  • 시스템이 더욱 복잡해짐에 따라 보안 및 관찰 가능성의 격차가 커질 수 있습니다.

다음 단계

  1. 구현하기 전에 지연 시간, 품질, 비용 목표를 정의하세요.
  2. 현실적인 로드 및 데이터 조건에서 벤치마킹합니다.
  3. 오류, 드리프트 및 사용자 영향에 대한 계측기 모니터링.
  4. 확장하기 전에 롤백 및 사고 대응 경로를 준비하세요.

계속 탐색하세요

무료 뉴스레터

일일 AI 브리핑 받기

매주 평일 아침마다 3개의 검증된 AI 스토리를 일반 영어로 작성합니다. 무료이며, 광고 없음.

매주 평일마다 한 번 이메일을 받습니다. 한 번 클릭으로 구독 해지. 주소를 판매하거나 공유하지 않습니다.

자신을 테스트해 보세요

Take the Optimizer State Offloading to CPU and NVMe quiz

모든 답변에 즉각적인 피드백과, 과정을 통과하면 검증 가능한 ID가 있는 공유 가능한 인증서를 제공합니다.

퀴즈 시작

무료 AI 교육을 지원합니다. AI Understanding는 501(c)(3) 비영리 단체입니다 — 광고 없음, 유료 장벽 없음, 영원히. 기부하기

자주 묻는 질문

What is Optimizer State Offloading to CPU and NVMe?

부족한 GPU 메모리 대신 CPU RAM 또는 NVMe SSD에 훈련(최적화 상태, 그라데이션, 때로는 가중치)의 무거운 기록을 보관하는 메모리 절약 트릭입니다. 이를 통해 사람들은 GPU 메모리가 허용하는 것보다 훨씬 더 큰 모델을 훈련할 수 있습니다.

최적화 프로그램 상태를 CPU 또는 NVMe로 오프로드하는 주요 목표는 무엇입니까?

오프로드는 무거운 최적화 상태를 GPU에서 CPU RAM 또는 NVMe로 이동하여 GPU 메모리를 확보하므로 더 큰 모델을 동일한 하드웨어에서 교육할 수 있습니다.

For an Adam setup with two FP32 moments and an FP32 master weight, how much memory do those three values use per parameter?

Each FP32 value uses four bytes: two moments plus one master weight total twelve. A sixteen-byte mixed-precision estimate includes other tensors as well.

대규모 최적화 프로그램 오프로딩을 대중화한 프레임워크는 무엇입니까?

DeepSpeed의 ZeRO-Offload 및 ZeRO-Infinity는 CPU 및 NVMe에 대한 오프로딩 최적화 상태를 대규모로 도입하고 대중화했습니다.

CPU 또는 NVMe로 오프로드하는 데 드는 주요 성능 비용은 얼마입니까?

상태를 GPU 외부로 이동한다는 것은 데이터를 PCIe 또는 NVMe로 전송하는 것을 의미하며, 이는 GPU상의 메모리보다 느리므로 컴퓨팅과 겹치지 않는 한 처리량이 떨어집니다.

오프로딩 시스템은 전송 대기 시간의 상당 부분을 어떻게 숨깁니까?

스케줄러는 GPU가 여전히 컴퓨팅을 수행하는 동안 PCIe를 통해 필요한 파티션을 프리페치하여 대기 시간을 마스크하기 위해 컴퓨팅과 통신을 겹칩니다.