본문으로 건너뛰기

© 2026 Molayo

Reddit요약2026. 05. 26. 15:11

최신 b9274 버전에서 MTP VRAM 누수 문제 해결

요약

llama.cpp의 최신 b9274 버전에서 MTP(Multi-Token Prediction) 모델 사용 시 발생하는 VRAM 누수 문제가 해결되었습니다. 서버가 sleep 상태로 진입할 때 해제되지 않던 draft 리소스들을 명시적으로 정리하여 메모리 부족 오류를 방지합니다.

핵심 포인트

  • MTP 모델 사용 시 VRAM 점유율이 지속적으로 상승하는 현상 수정
  • sleep/resume 주기마다 발생하는 리소스 미해제 문제 해결
  • spec, ctx_dft, model_dft 리소스를 명시적으로 리셋하여 메모리 누수 방지
  • use-after-free 방지 및 적절한 리소스 정리 순서 보장

B9274

MTP 모델을 사용한 지 몇 분이 지나면 언로딩(unloading)되는 문제를 겪고 있었습니다. 원인을 파악할 수 없었는데요. 어쨌든 이 내용이 그 문제와 직접적인 관련이 있는지는 모르겠지만, VRAM 점유율이 서서히 증가하는 현상(vram creep)을 관찰했기에 이 수정 사항이 도움이 되기를 바랍니다.

server : sleep 시 free draft/MTP 리소스를 해제하여 VRAM 누수 해결 (#23461)

server_context_impl의 destroy() 함수는 메인 모델과 컨텍스트(llama_init.reset()을 통해)만 정리했을 뿐, speculative decoder (spec), draft context (ctx_dft), 또는 draft model (model_dft)은 해제하지 않았습니다.

MTP (Multi-Token Prediction) 모델의 경우, ctx_dft는 GPU에 할당된 리소스(KV cache, compute buffers)를 보유하고 있는데, sleep 상태로 진입할 때 이들이 해제되지 않습니다. 각 sleep/resume 주기마다 기존 리소스가 해제되지 않은 상태에서 새로운 리소스가 할당되어, 결국 메모리 부족(out-of-memory) 오류로 서버가 충돌하는 VRAM 누수가 발생합니다.

해결 방법: llama_init을 리셋하기 전에 destroy() 내에서 spec, ctx_dft, model_dft를 명시적으로 리셋하여, use-after-free를 방지하고 적절한 정리 순서를 보장합니다.

AI 자동 생성 콘텐츠

본 콘텐츠는 r/OpenAI Codex (search)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0