매개변수 효율 미세조정(PEFT)은 작은 어댑터만 갱신하고 대부분의 모델 가중치를 고정합니다. 옵티마이저 상태와 체크포인트는 작아지지만 분산 실행의 통신이 사라지는 것은 아닙니다. 완전 샤딩 런타임은 각 계층을 실행하기 전에 고정 가중치를 모으고, 실행이 끝나면 메모리를 아끼기 위해 버립니다. 반복마다 같은 바이트가 GPU 사이를 이동하며, 실행 과정의 다른 시점에 메모리가 비어 있어도 활용하지 못할 수 있습니다.
mTuner는 메모리 용량을 하나의 고정 숫자로 보지 않습니다[1]. 텐서마다 필요한 시점이 다르고, PEFT에서는 대부분의 가중치가 변하지 않는다는 특징이 있습니다. 모아 둔 가중치 일부를 유지하고, 메모리 사용량이 높아지기 전에 버리며, 남는 용량으로 누적 구간을 늘릴 수 있다면 모델 품질을 바꾸지 않고 통신을 줄일 수 있습니다.
논문은 gather, discard, execute, checkpoint 네 동작을 가진 탄력적 텐서를 제안합니다. 텐서마다 상주 비율 또는 누적 비율을 조절할 수 있습니다. mTuner는 이를 이용해 시간별 메모리 활용률을 높이고 계산·통신 의존성을 완화하며, 실행 중 실제 여유 용량에 맞춰 그래디언트 누적을 조절합니다. PCIe 서버의 평균 처리량 개선은 28.3%, NVLink 서버는 14.5%였습니다. 같은 소프트웨어 아이디어가 통신이 느린 환경에서 더 큰 가치를 냈습니다.
통신 캐시로 활용할 수 있는 고정 가중치
완전 샤딩 데이터 병렬화에서는 각 GPU가 모델 매개변수의 일부만 갖습니다. 계층 계산 전에 GPU들이 전체 가중치를 all-gather로 모으고, 사용 후에는 전체 복사본을 버리고 샤드만 남깁니다. 큰 모델을 실행할 수 있지만 통신을 반복합니다. PEFT의 기본 가중치는 바뀌지 않으므로 모은 복사본을 유지하는 일은 수정되지 않은 데이터를 캐시하는 것과 같습니다. 일관성 유지나 쓰기 되돌림이 필요하지 않습니다.
정적 정책은 가중치를 계속 보존하거나 바로 버리는 둘 중 하나를 고릅니다. 올바른 선택은 반복 안에서도 달라집니다. 순방향 실행 동안 활성값 메모리가 늘고, 이후 해제되거나 재계산됩니다. 역방향에서는 그래디언트 버퍼가 생깁니다. 어떤 계층은 계산이 충분해 all-gather를 숨길 수 있지만 다른 계층은 통신 시간이 그대로 드러납니다. mTuner는 메모리 압력이 낮을 때 더 많은 가중치를 보존하고, 최대 사용 시점 전에 일부를 버립니다.
execute 동작은 텐서의 논리적 사용과 물리적 상주를 분리합니다. gather는 필요한 비율을 준비하고 discard는 해제하며 checkpoint는 경계 뒤에도 선택한 상태를 유지합니다. 그래디언트 같은 실행 중 텐서는 누적 비율로 동기화 전 작업량을 조절합니다. 배치 장소만이 아니라 시간을 표현할 수 있는 스케줄링 방식입니다.

이 방식이 메모리를 새로 만드는 것은 아닙니다. 고정 가중치를 보존하면 활성값, 배치, 통신 임시 버퍼가 사용할 용량이 줄어듭니다. 잘못된 선택은 재계산을 늘리거나 메모리 부족을 일으킬 수 있습니다. mTuner는 텐서 크기와 동작 시간을 프로파일링해 정적 비율을 고르고, 관찰한 여유 용량에 따라 실행 중 누적을 조정합니다.
스케줄링 대상으로 바뀌는 통신 의존성
일반적인 런타임은 계층 실행 직전에 all-gather가 끝나도록 요구합니다. 미리 가져오기로 이전 계산과 통신을 겹칠 수 있지만 고정 순서는 링크나 계산 엔진을 놀게 할 수 있습니다. 탄력적 상주는 텐서 일부를 더 일찍 모아 실행까지 보존하도록 합니다. 이전 반복에서 남아 있는 텐서를 다시 모으지 않을 수도 있습니다.
체크포인트는 선택적으로 사용합니다. 활성값은 재계산해 메모리를 줄이고, 고정 매개변수는 보존해 통신을 줄일 수 있습니다. 스케줄러는 재계산 시간과 인터커넥트 시간을 비교합니다. PCIe 서버에서는 메모리 사용이 늘어도 집단 통신을 피하는 편이 유리한 경우가 많습니다. NVLink 서버에서는 같은 통신이 더 싸므로 텐서를 보존한 이익이 작아지고 더 큰 배치가 유리할 수 있습니다.
그래디언트 누적도 하나의 선택입니다. 누적 구간을 늘리면 동기화 빈도가 낮아지고 연산 집약도가 높아질 수 있지만 실행 상태를 더 저장합니다. mTuner는 전체 실행에 고정된 값을 쓰지 않고 여유 메모리에 따라 누적 비율을 바꿉니다. 모든 시점의 메모리 점유를 최대화하는 것이 아니라, 빈 바이트를 가장 많은 노출 시간을 없애는 작업에 쓰는 것이 목적입니다.
메커니즘을 드러낸 두 인터커넥트
PCIe 평가 서버에는 메모리 40GB인 NVIDIA A100 PCIe GPU가 여덟 개 있습니다. 네 GPU씩 트리형 PCIe 토폴로지에 연결되고 NUMA 도메인을 건너는 트래픽은 QPI를 통과합니다. NVLink 평가는 각 서버에 메모리 80GB인 NVIDIA H100 SXM GPU 여덟 개를 장착한 서버 네 대를 사용합니다. 모델은 Llama 2 7B부터 70B까지이며 입력 길이와 병렬 구성을 바꿨습니다.
PCIe 서버에서는 통신이 주된 제약입니다. 가장 강한 기준인 DeepSpeed는 이미 계산과 통신을 효율적으로 겹칩니다. mTuner는 이 기준보다 평균 28.3%, 최대 51.2% 높은 처리량을 냈습니다. 구현 기반인 Torch FSDP와 비교한 평균은 4.15×입니다. 이 큰 값에는 최적화되지 않은 FSDP 기준의 약점도 포함되므로 주된 비교값으로 쓰기 어렵습니다.
7B 모델은 여유 메모리가 많아 더 많은 상태를 유지할 수 있었고 약 40%의 개선을 보였습니다. 매개변수가 많은 30B와 70B에서도 논문이 설명한 구성은 약 27% 개선됐습니다. 입력 길이가 4096 이상이면 계산과 활성값 작업이 늘며 평균 가속은 34%였습니다.
NVLink 서버 네 대에서는 NVLink 통신 커널을 최적화한 Flux가 주로 가장 강한 기준입니다. mTuner는 평균 14.5%, 최대 24.8% 개선했습니다. 작은 개선율은 메커니즘과 맞습니다. 탄력적 텐서는 주로 통신을 줄이므로 빠른 패브릭에서는 피한 동작의 비용도 작습니다.

이 수치는 고정된 통계 품질에 도달하는 전체 학습 시간 감소가 아니라 처리량 개선입니다. 같은 미세조정 연산을 실행하지만, 배포 환경에서는 옵티마이저 동작, 유효 배치, 체크포인트 의미를 다시 확인해야 합니다. 서버 수와 GPU 세대도 다르므로 PCIe와 NVLink 결과는 가격이 통제된 비교가 아니라 메커니즘 비교입니다.
고정 가중치와 단일 작업이라는 적용 조건
mTuner의 이점은 기본 가중치가 바뀌지 않는 데서 나옵니다. 전체 매개변수 학습은 가중치를 수정하므로 캐시 복사본을 다시 쓰기 전에 동기화하거나 무효화해야 합니다. 추론은 역방향 실행이 없어 텐서 생명주기가 다릅니다. 탄력적 텐서라는 추상화는 사용할 수 있지만 이익이 나는 동작과 정확성 규칙은 달라집니다.
메모리 단편화와 할당기 동작은 텐서 크기로 예상한 여유를 줄일 수 있습니다. 집단 통신도 임시 버퍼가 필요하므로 NCCL 진행을 막는 텐서를 보존해서는 안 됩니다. 동적 판단에는 제어 비용이 있고 메모리 수요가 빠르게 변하면 정책이 흔들릴 수 있습니다. 구현은 PyTorch와 FSDP에 통합되어 있으며 다른 프레임워크에는 텐서 생명주기와 집단 통신 의존성을 보는 같은 수준의 기능이 필요합니다.
PCIe 서버 안의 토폴로지도 중요합니다. 한 분기의 GPU 네 개가 통신하는 비용과 QPI 및 다른 PCIe 루트를 건너는 비용은 다릅니다. 실제 토폴로지를 프로파일링하고 프로세스를 알맞게 묶어야 합니다. 탄력성은 잘못된 NUMA 배치가 잃은 대역폭을 되찾지 못하지만 경계를 건너는 전송 횟수는 줄일 수 있습니다.
평가는 하나의 미세조정 작업 또는 통제된 멀티서버 환경을 전제로 합니다. 공유 클러스터에서 한 작업이 고정 가중치를 더 보존하면 다른 작업의 진입을 막을 수 있습니다. 클러스터 스케줄러는 작업 하나의 처리량과 전체 점유율 중 어느 것을 목표로 할지 정해야 합니다. PEFT로 남은 메모리는 캐시, 배치, 다른 테넌트에 쓸 수 있고 각 선택의 사업상 분모가 다릅니다.
PCIe 서버를 위한 실행 판단 기준
멀티 GPU 미세조정에는 NVLink가 필수라고 생각하기 쉽습니다. mTuner는 더 구체적인 판단 기준을 제시합니다. 기존 겹치기를 적용한 뒤에도 노출된 집단 통신 시간을 먼저 측정하고, 반복 동안 일시적으로 비는 메모리를 확인해야 합니다. 여유 용량과 반복되는 all-gather가 함께 있다면 고정 텐서 캐시로 PCIe 격차의 일부를 줄일 수 있습니다. 피한 전송의 비용이 클수록 소프트웨어의 가치도 커집니다.
PCIe가 NVLink와 같아지는 것은 아닙니다. NVLink는 더 높은 대역폭을 제공하며 제거할 수 없는 통신이 많은 작업에 필요합니다. mTuner는 인터커넥트에 들어가는 작업량을 바꿉니다. 고정 가중치가 깨끗하게 재사용 가능한 상태를 만들고 기존 PCIe GPU 서버를 보유한 조직의 PEFT에 특히 적합합니다.
구매 평가에서는 런타임과 미세조정 방식을 함께 측정해야 합니다. 소프트웨어가 보존할 수 있는 데이터를 반복해서 버린다면 최대 인터커넥트 대역폭만으로 유효 토큰 처리량을 알 수 없습니다. 반대로 런타임이 여유 바이트를 통신 감소로 바꿀 수 있다면 큰 GPU 메모리에는 추가 가치가 생깁니다. 메모리 용량, 텐서 생명주기, 패브릭 대역폭은 하나의 스케줄링 문제입니다.
출처와 저작권 안내
이 글은 Silicon & Systems가 작성한 편집 분석입니다. 원문의 추상화, 평가, 적용 한계를 우리 표현으로 다시 썼습니다. 원문의 문장, 표, 도판은 재수록하지 않았고 이 페이지의 도판은 모두 새로 만들었습니다. 논문과 소스 코드는 USENIX ATC 2025 페이지에서 확인할 수 있습니다. 저작권은 저자에게 있습니다. 2025.