Model Parallelism With Subnetwork Data Parallelism
이 논문은 모델을 구조화된 서브네트워크로 분할하여 활성화 값을 교환하지 않고도 여러 워커에 걸쳐 학습함으로써, 다양한 아키텍처와 규모에 걸쳐 성능을 유지하거나 향상시키면서도 상당한 메모리 절감(28%-60%)을 달성하는 분산 학습 프레임워크인 Subnetwork Data Parallelism (SDP)을 소개한다.
원본 논문은 CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) 라이선스로 제공됩니다. 이것은 아래 논문에 대한 AI 생성 설명입니다. 저자가 작성하거나 승인한 것이 아닙니다. 기술적 정확성을 위해서는 원본 논문을 참조하세요. 전체 면책 조항 읽기
당신은 거대하고 똑똑하지만, 엄청나게 배가 고픈 로봇(대규모 AI 모델)에게 말하는 법이나 이미지를 인식하는 법을 가르치려 한다고 상상해 보세요. 문제는 이 로봇을 위해 너무 크고 비싼 주방이 필요해서, 오직 소수의 사람들만이 그 주방을 지을 여유가 있다는 점입니다. AI의 세계에서 이 "주방"은 강력한 그래픽 카드(GPU)에 있는 컴퓨터 메모리(RAM)를 의미합니다.
이 논문은 이 거대한 로봇들을 훈련시키는 새로운 방법인 **서브네트워크 데이터 병렬성(Subnetwork Data Parallelism, SDP)**을 소개합니다. 여기서는 이해를 돕기 위해 간단한 비유를 통해 이 방식이 어떻게 작동하는지 설명합니다.
기존 방식: "전체 복제"의 문제
전통적으로 거대한 AI를 훈련시키기 위해 연구자들은 **데이터 병렬 처리(Data Parallelism, DDD)**라는 방법을 사용합니다.
- 비유: 당신에게 거대한 연회를 준비하려는 8명의 요리사(GPU) 팀이 있다고 상상해 보세요. 기존 방식에서는 모든 요리사가 전체 레시피 북과 모든 식재료의 완전한 복사본을 하나씩 다 가집니다. 그들은 모두 전체 요리를 만들고, 맛을 본 다음, 다음 라운드에서 레시피를 어떻게 개선할지 서로 의견을 나누기 위해 소리를 높여 대화합니다.
- 문제점: 이것은 매우 낭비적입니다. 각 요리사는 자신의 레시피와 재료를 담아둘 수 있는 아주 큰 주방을 가져야 합니다. 만약 레시피가 너무 크다면, 주방이 폭발해 버리거나(메모리 부족) 요리사들이 아예 요리를 할 수 없게 됩니다.
새로운 방식: "특화된 팀" (SDP)
저자들은 **서브네트워크 데이터 병렬성(SDP)**을 제안합니다. 모든 요리사에게 전체 레시피를 주는 대신, 레시피를 특정 섹션으로 나누어 서로 다른 요리사들에게 할당하는 방식입니다.
- 비유: 이제 요리사 A는 전채 요리만을 담당하고, 요리사 B는 스프를, 요리사 C는 메인 코스 요리를 담당합니다.
- 전체 요리를 공유하지 않음: 결정적으로, 그들은 전체 음식을 주고받을 필요가 없습니다. 그들은 자신들이 작업 중인 특정 식재료에 대해서만 이야기합니다.
- 주방이 작아짐: 요리사 A는 전채 요리 레시피만 가지고 있으면 되기 때문에, 그들의 주방은 훨씬 작아질 수 있습니다. 이를 통해 훨씬 작고 저렴한 주방에서도 거대한 연회를 준비할 수 있게 됩니다.
- 결과: 훨씬 더 큰 로봇을 훈련시키거나(또는 더 빠르게 훈련하거나), 훨씬 더 비싼 주방 없이도 가능해집니다.
작업을 나누는 두 가지 방법
논문은 이 "서브 레시피"를 요리사들에게 할당하는 두 가지 다른 방식을 테스트합니다.
포워드 마스킹 (Forward Masking, "재료를 잘라내는" 방식):
- 작동 방식: 요리사는 요리를 시작하기 전에 자신이 사용하지 않기로 한 재료들을 말 그대로 버립니다. 그들은 자신에게 할당된 요리의 부분만을 요리합니다.
- 장점: 사용하지 않는 재료를 저장조차 하지 않기 때문에 공간을 가장 많이 절약합니다. 이는 마치 수프를 끓이면서 당근과 양파만 사고, 나머지 식재료 목록은 완전히 무시하는 것과 같습니다.
- 단점: 레시피의 일부를 무시하기 때문에, 전체적인 그림을 학습하기 위해 몇 번의 배치를 더 거쳐야 합니다.
백워드 마스킹 (Backward Masking, "책 전체를 읽되, 노트는 자기 것만 쓰는" 방식):
- 작동 방식: 요리사는 맥락을 이해하기 위해 전체 레시피 북(전체 모델)을 읽지만, 요리를 어떻게 개선할지에 대한 노트를 적을 때는 자신이 책임지는 섹션에 대해서만 기록합니다.
- 장점: 요리사가 전체 식사를 이해하고 있으므로 수학적으로 조금 더 "정직한" 방식이며, 공간을 절약하면서도 더 안전하고 안정적인 학습이 가능합니다.
무엇을 발견했는가?
연구진은 이 두 가지 매우 다른 유형의 AI를 대상으로 테스트했습니다:
언어 모델 (LLMs): 텍스트를 작성하는 "LLaMA" 모델 같은 것들입니다. 이들은 5억 개와 10억 개의 "뉴런"(파라미터)을 가진 모델을 훈련시켰습니다.
- 결과: 메모리 요구량을 28%에서 60%까지 줄였습니다. 어떤 경우에는 이전에는 거대한 주방이 필요했던 모델을 훨씬 작은 주방에 넣을 수 있었으며, AI의 언어 능력이 떨어지는 일도 없었습니다.
- 보너스: SDP가 다른 메모리 절약 기술들("액티베이션 체크포인팅" 및 "FSDP")과 완벽하게 호환된다는 것을 발견했습니다. 이는 마치 레고 블록을 쌓는 것과 같아서, SDP를 다른 방법들과 결합하여 메모리 사용량을 무려 **85%**까지 획기적으로 줄일 수 있습니다.
이미지 분류기: 사진을 인식하는 모델(ResNet 및 Swin Transformer 등)입니다.
- 결과: 표준 이미지 데이터셋(CIFAR)을 사용하여 이 모델들을 훈련시켰습니다. 메모리를 훨씬 적게 사용함에도 불구하고(때로는 원래의 40% 수준까지), 이 AI는 전체 크기 버전만큼이나 이미지를 잘 인식했습니다. 어떤 경우에는 "특화된 팀" 방식이 오히려 AI가 더 잘 학습하도록 도와주는 "정규화(Regularization, 과하게 생각하는 것을 방지하는 방법)" 역할을 하기도 했습니다.
핵심 요약
이 논문은 새로운 종류의 AI를 발명하거나 병원 또는 자율주행차에서 사용하는 새로운 AI 방식을 제안하는 것이 아닙니다. 대신, 이 논문은 물류 문제를 해결합니다.
이것을 건설 현장의 인력을 조직하는 새로운 방법이라고 생각해보세요. 모든 노동자에게 초고층 빌딩의 전체 설계도를 주어 주머니를 너무 무겁게 만드는 대신, 각 노동자에게 그들이 맡은 특정 층의 설계도만 주는 것입니다. 그들은 여전히 같은 초고층 빌딩을 짓지만, 훨씬 적은 공간을 차지하며, 동일한 자원으로 더 높은 건물을 지을 수 있습니다.
핵심 요점:
- SDP는 거대한 AI 모델을 여러 컴퓨터에 걸쳐 작은 조각으로 나눕니다.
- 모든 컴퓨터가 전체 모델을 보유할 필요를 없애, 메모리를 28%~60% 절약합니다.
- 사용 방식의 변경 없이 기존 AI 모델(LLaMA, ResNet 등)과 함께 사용할 수 있습니다.
- 다른 메모리 절약 기술과 결합하여 훨씬 더 많은 공간을 절약할 수 있습니다(최대 85%).
- 그럼에도 불구하고, AI는 전통적인 방식만큼(또는 때로는 그보다 더 잘) 성능을 유지합니다.
연구 분야의 논문에 파묻히고 계신가요?
연구 키워드에 맞는 최신 논문의 일일 다이제스트를 받아보세요 — 기술 요약 포함, 당신의 언어로.