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 등)에 따라 반복 속도나 통신 오버헤드가 달라지므로, 실제 파이프라인에서는 메모리 사용량과 처리량을 함께 측정해 적절한 균형을 찾아야 합니다.
섹션별 상세
이미지 분석

첫 번째 패널은 피크 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 한계를 밀어내어 더 긴 컨텍스트를 가능하게 만들었는지도 이 수치로 판단할 수 있습니다.
언급된 리소스
AI 요약 · 북마크 · 개인 피드 설정 — 무료
출처 · 인용 안내
인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.