본문으로 건너뛰기

KL 손실의 메모리·반복률 스케일링

Full Chunked KL은 청킹으로 메모리를 수십배 줄이고 256K 토큰을 11.59 GiB로 처리했다.

이 요약은 AI가 원문을 분석해 생성했습니다. 정확한 내용은 원문 기준으로 확인하세요.

TL;DR

동일한 하드웨어 조건(batch=1, tensor parallel=2, 4096-token 청크)에서 Full Chunked KL은 피크 VRAM을 크게 낮춰 32K에서 Full Dense KL 대비 약 15.6배 적은 메모리(5.45 GiB vs 85.21 GiB)를 기록했고, 256K까지 성공적으로 처리하면서 피크 VRAM을 약 11.59 GiB로 유지했습니다. Forward-Chunked Loss는 짧은 시퀀스에서 반복률이 높았지만 256K에서는 메모리와 속도 면에서 Full Chunked KL에 밀려 134.2 GiB를 요구하고 0.190 iter/s를 보였습니다. 결과적으로 청크 단위로 KL을 계산하는 방식이 긴 컨텍스트 학습에서 메모리 측면의 실용적 이점을 제공하며, 청킹 방식과 병렬화 설정에 따라 속도와 메모리 사이에 트레이드오프가 존재합니다.

실용적 조언

  • 긴 컨텍스트(수만~수십만 토큰)를 다루려면 전체 시퀀스를 한 번에 처리하는 Full Dense KL 방식은 메모리 한계로 현실적이지 않으므로, 4096토큰 같은 적절한 청크 크기로 분할해 Full Chunked KL 방식을 적용하는 것이 유효합니다. 입력을 청크로 나누어 각 청크에서 KL을 계산하고 필요 시 내부 상태(예: 캐시)를 관리하면 피크 VRAM을 5~11 GiB 수준으로 낮춰 256K 토큰 처리도 가능해집니다. 다만 청크 크기와 병렬화 설정(tensor parallel 등)에 따라 반복 속도나 통신 오버헤드가 달라지므로, 실제 파이프라인에서는 메모리 사용량과 처리량을 함께 측정해 적절한 균형을 찾아야 합니다.

섹션별 상세

Full Chunked KL 방식은 전체 시퀀스를 청크 단위로 처리해 GPU당 피크 VRAM을 크게 줄이는 접근으로, 이미지 상단의 주석과 그래프에서 32K 토큰 기준으로 Full Chunked KL이 5.45 GiB를 사용해 Full Dense KL의 85.21 GiB 대비 약 15.6배 낮은 메모리를 기록했습니다. 실험은 배치 크기 1과 tensor parallel 2, 그리고 4096-token 청크를 고정 조건으로 수행되어 청킹이 메모리 절감의 핵심 변수임을 분명히 합니다. 따라서 긴 문맥을 대상으로 한 지식증류나 KL 기반 최적화에서 메모리 한계를 극복하는 실용적 대안으로 해석할 수 있습니다.
Forward-Chunked Loss는 작은 시퀀스에서는 반복 속도(iteration rate)가 상대적으로 높았지만 시퀀스 길이가 늘어날수록 속도와 메모리 면에서 열세를 보였습니다. 256K 토큰 구간에서는 Forward-Chunked Loss가 높은 VRAM을 소모하여 Full Chunked KL 대비 약 11.6배 더 많은 메모리를 사용했고, 반복 속도는 Full Chunked KL의 0.630 iter/s 대비 0.190 iter/s로 약 3.3배 느렸습니다. 이 데이터는 청크 기반 기법들 사이에도 구현 방식(예: forward-only 손실 계산 vs. full-chunked 처리)에 따라 메모리·속도 상의 트레이드오프가 존재함을 나타냅니다.
그래프의 반복률 축은 로그 스케일로 제시되어 있어 시퀀스 길이가 커질수록 반복률이 급격히 떨어지는 패턴을 한눈에 확인할 수 있습니다. Full Dense KL은 비교적 짧은 시퀀스에서조차 메모리 상승이 급격하여 32K 이상에서 OOM에 도달했으나 Full Chunked KL은 256K까지 성공적으로 처리하면서 피크 메모리를 11.59 GiB 수준으로 유지했습니다. 이 결과는 장문 컨텍스트를 다루는 모델 학습 파이프라인에서 청킹을 통한 KL 계산 방식이 실용적인 확장성을 제공함을 시사합니다.

이미지 분석

메모리와 반복률을 비교한 두 개의 라인 차트(피크 VRAM, iteration rate)가 포함된 벤치마크 이미지
Chart

첫 번째 패널은 피크 VRAM을 시퀀스 길이(4K에서 256K)별로 보여주며 Full Dense KL(빨강)이 32K 부근에서 이미 메모리 급증과 OOM에 도달하는 반면 Full Chunked KL(녹색)은 256K에서도 약 11.59 GiB의 낮은 피크 VRAM을 유지합니다. 두 번째 패널은 반복률을 로그 축으로 표시해 시퀀스 길이가 증가할수록 반복률이 급격히 떨어지는 경향을 보여주며, 256K에서는 Full Chunked KL이 Forward-Chunked Loss보다 약 3.3배 빠른 반복률(0.630 vs 0.190 iter/s)을 기록한 사실을 확인할 수 있습니다. 우측의 요약 박스는 32K와 256K 포인트에서 메모리 절감 배수와 반복률 차이를 수치로 제시해 청킹 방식의 메모리 이점과 일부 구간에서의 속도 우위를 뒷받침합니다.

메모리와 반복률을 비교한 두 개의 라인 차트(피크 VRAM, iteration rate)가 포함된 벤치마크 이미지

용어 해설

KL 손실(KL loss)
KL 손실은 두 확률분포 사이의 차이를 수치화하는 지표로, 모델 출력 분포와 목표 분포의 거리를 측정하는 데 쓰입니다. 학습 중에는 출력 분포가 기준 분포를 따르도록 확률 분포를 조정하는 목적함수 역할을 하며, 특히 지식증류(kd)에서 교사 모델과 학생 모델 간 일관성을 유지하는 용도로 널리 사용됩니다. 긴 시퀀스를 다룰 때 전체 시퀀스에 대해 확률을 계산하면 메모리 사용이 급증하기 때문에 계산 방식(예: chunking)에 따라 메모리·성능 특성이 크게 달라집니다.
청킹(토큰 분할)(Chunking (4096-token chunks))
청킹은 전체 시퀀스를 더 작은 고정 길이 블록으로 나누어 순차 처리를 수행하는 방식입니다. 입력을 4096토큰 단위로 나누어 각 청크에서 손실과 그래디언트를 계산하면 전체 시퀀스를 한꺼번에 처리할 때보다 VRAM 사용량을 크게 낮출 수 있습니다. 다만 청크 간 의존성을 어떻게 유지하느냐에 따라 반복 속도(iteration rate)와 정확도에 영향을 줄 수 있습니다.
Tensor Parallel(2-way)(Tensor parallel 2)
Tensor parallel은 모델 파라미터와 계산을 여러 GPU에 분산하는 병렬화 기법으로, 여기서는 2-way 구성을 사용해 하나의 배치를 두 GPU에 나누어 처리합니다. 이 방식은 단일 GPU 메모리 한계를 완화하지만 통신 오버헤드가 생기며 청킹과 결합할 때 전체 메모리·속도 결과에 영향을 줍니다. 벤치마크에서 동일한 tensor-parallel 설정을 유지하면 비교 대상들 간 메모리 차이가 청킹 전략에 기인한 것임을 더 명확히 할 수 있습니다.
Out-Of-Memory(메모리 부족)(OOM band)
OOM은 GPU 메모리가 부족해 더 이상 계산을 진행할 수 없는 상태를 가리키며, 그래프에서는 임계 시퀀스 길이에서 측정이 중단된 지점을 의미합니다. 벤치마크에서 OOM 밴드는 특정 방법이 해당 시퀀스 길이 이상을 처리하지 못했음을 표시하므로, 같은 하드웨어 조건에서 더 긴 시퀀스를 성공적으로 처리한 방법이 실용적 이점이 큽니다. 청킹 기법이 OOM 한계를 밀어내어 더 긴 컨텍스트를 가능하게 만들었는지도 이 수치로 판단할 수 있습니다.

언급된 리소스

문서kd_benchmark_results.csv
AI 분석 전체 내용 보기

AI 요약 · 북마크 · 개인 피드 설정 — 무료

출처 · 인용 안내

원문 발행 2026. 08. 11.수집 2026. 08. 11.출처 타입 REDDIT

인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.