오픈 소스연구 🇷🇺 08.08.2026 16:02

PyTorch에서 OOM 극복: 일반 GPU로 거대 그래프 학습하기

Disk Sparse AdamDisk Sparse Adam
한 개발자가 PyTorch용 아웃오브코어 옵티마이저인 Disk Sparse Adam(DSA)을 만들었습니다. 이 옵티마이저는 mmap을 통해 옵티마이저 모멘텀 상태를 디스크로 이동시켜, 대규모 희소 모델 학습 시 메모리 사용량을 대폭 줄입니다. 이를 통해 소비자용 GPU나 무료 Google Colab에서도 학습이 가능하며, 벤치마크 결과 백만 개 엔티티에서 VRAM 사용량이 0인 것으로 나타났습니다.
이 기사는 소비자용 GPU에서 수백만 개의 노드를 가진 지식 그래프 임베딩과 같은 대규모 희소 모델을 훈련하도록 설계된 PyTorch용 새로운 아웃오브코어 옵티마이저인 Disk Sparse Adam(DSA)을 소개합니다. 표준 torch.optim.SparseAdam은 첫 번째 및 두 번째 모멘트 상태를 메모리에 저장하는데, 1천만 개의 엔티티와 128차원 벡터를 가진 모델의 경우 약 10.24GB의 추가 메모리를 소비하여 종종 CUDA 메모리 부족 오류를 발생시킵니다. 대신 DSA는 이러한 모멘트 행렬을 이진 파일로 디스크에 저장하고 운영 체제의 mmap 메커니즘을 사용하여 메모리에 매핑하며, 각 최적화 단계에서 활성 배치의 상태만 읽고 씁니다. 이 옵티마이저는 표준 PyTorch 파이프라인의 드롭인 대체품으로 설계되었으며, 유클리드 공간과 쌍곡선(Poincaré ball) 공간을 모두 지원합니다. 저자는 옵티마이저 상태의 메모리 사용량이 기가바이트에서 메가바이트로 줄어든다고 보고하며, 백만 개의 엔티티가 있는 Kaggle 벤치마크에서 0.00MB의 VRAM 오버헤드와 초당 134,212개 샘플의 처리량을 보였습니다. DSA는 MIT 라이선스로 GitHub에서 사용할 수 있으며, 최상의 성능을 위해 NVMe SSD가 필요하고 torch.nn.Embedding 또는 EmbeddingBag에서 생성되는 것과 같은 희소 그래디언트만 지원한다는 제한 사항이 있습니다.
출처: Habr — хаб ИИ — 원문
관련 게시물 ↓
새로운 뉴스