RDNA3, llama.cpp KV VRAM 47% 절감 — CUDA에는 동급 기능 없어

RDNA3 비트 패킹으로 RX 7900에서 llama.cpp KV VRAM 47% 절감. 플래그, VRAM 계산, 4.9× 압축을 위한 TurboQuant.

RDNA3, llama.cpp KV VRAM 47% 절감 — CUDA에는 동급 기능 없어
Share

ml-org/llama.cpp/discussions/22411" target="_blank" rel="noopener noreferrer">llama.cpp GitHub 토론 및 lemonade-sdk 저장소에서 AMD 진행 상황과 CUDA 대응 개발 동향 모두를 확인하라.

자주 묻는 질문

RDNA3 cuts llama.cpp KV VRAM 47% — and CUDA has no equivalent

이 비트 패킹 최적화는 RDNA2나 RDNA4 GPU에서도 동작하나요, RDNA3 전용인가요?

2026년 5월 31일 기준으로 검증된 대상은 gfx1100(RDNA3)이다. lemonade-sdk/llamacpp-rocm 빌드 b1285는 RDNA3부터 RDNA4를 타깃으로 하므로, RDNA4(gfx1200, RX 9000 시리즈) 지원도 진행 중임을 알 수 있다. RDNA2(gfx1030, RX 6000 시리즈)는 아직 확인되지 않았다 — 레지스터 구조가 다르고 해당 아키텍처에 대한 벤치마크도 공개된 바 없다. RDNA2를 사용 중이라면, 대칭 KV 양자화로 융합 Flash Attention 속도 경로는 활성화할 수 있지만, RDNA3 레지스터 레이아웃에 특화된 47% VRAM 수치는 기대하기 어렵다.

q4_0 K + f16 V 같은 비대칭 KV 양자화를 사용하면 실제로 어떻게 되나요?

llama.cpp는 별도 오류나 경고 없이 비융합 어텐션 경로로 자동 전환된다 — 표준 출력에도 아무런 표시가 없다. VRAM 절감 효과와 융합 경로 속도 향상 모두 사라진다. 융합 경로가 활성화됐는지 확인하는 유일한 방법은 llama.cpp 시작 로그에서 초기화 시점의 "flash attention" 확인 문구를 찾는 것이다. 해당 문구가 없다면, VRAM 목적으로 해당 플래그들은 아무 효과가 없다. 이를 완전히 피하려면 대칭 쌍 — q4_0/q4_0 또는 q8_0/q8_0 — 을 사용하라.

47% KV VRAM 절감과 TurboQuant TURBO3_0의 4.9× 압축은 어떻게 비교되나요?

47% 절감은 약 1.9× 압축에 해당한다 — 원래 KV 캐시 크기의 약 53%를 유지한다. TURBO3_0의 4.9× 압축은 훨씬 더 공격적으로, KV 캐시를 FP16 크기의 약 20%까지 줄인다. 트레이드오프는 명확히 다르다: 레지스터 비트 패킹은 메인라인 llama.cpp에 더 가깝고, lemonade-sdk b1285에 사전 컴파일되어 제공되며, 테스트된 컨텍스트 길이에서 확인된 PPL 비용이 없다. TURBO3_0은 domvox 포크를 소스에서 빌드해야 하며, 측정된 +1.17% WikiText-2 PPL 저하를 감수해야 한다. 두 최적화는 함께 적용할 수 있다: TurboQuant가 더 큰 압축 배수를 제공하고, 레지스터 비트 패킹은 해당 압축된 표현 내에서 하드웨어 레지스터 효율을 극대화한다.

비트 패킹 최적화가 아직 llama.cpp 메인라인에 병합됐나요?

2026년 6월 1일 기준으로, ggml-org/llama.cpp 메인 저장소에서 특정 GitHub PR 번호나 병합 확인은 공개적으로 문서화되지 않았다. 이 최적화는 5월 31일 r/LocalLLaMA를 통해 커뮤니티에 공개됐고, 같은 날 AI Weekly가 이를 확인했다. lemonade-sdk/llamacpp-rocm 프로젝트는 메인라인 병합을 기다리지 않고 빌드 b1285에 사전 컴파일해 제공한다. 현재 병합 상태는 ggml-org/llama.cpp 풀 리퀘스트 목록에서 확인하라 — 해당 날짜의 확인 및 활발한 업스트림 활동을 감안하면 조만간 변경될 가능성이 높다.

NVIDIA CUDA 사용자도 대칭 KV 양자화의 이점을 누릴 수 있나요?

그렇다, 부분적으로. 대칭 KV 양자화는 CUDA에서도 융합 Flash Attention 경로를 활성화하여, 어텐션 커널 중 메모리 대역폭이 줄어드는 속도 이점을 제공한다. CUDA 사용자가 얻지 못하는 것은 RDNA3에서 47% VRAM 절감을 이끄는 하드웨어 레지스터 비트 패킹이다. CUDA에서 양자화된 KV 캐시의 VRAM 절감은 저장 시 정밀도 감소 — 값당 비트 수 감소 — 에서 나오며, 레지스터 패킹 배수는 없다. 융합 어텐션 속도 이점은 두 플랫폼 모두에서 공유되지만, 레지스터 수준의 VRAM 효율 이점은 현재 글 작성 시점 기준 AMD RDNA3 전용이다.

결정 프레임워크: 오늘 무엇을 실행할 것인가

오늘 llama.cpp를 RX 7900 시리즈 카드에서 실행 중이라면, 즉각적인 조치는 간단하다: lemonade-sdk 빌드 b1285로 전환하고, --flash-attn -ctk q4_0 -ctv q4_0를 추가한 뒤, 시작 로그에 "flash attention"이 나타나는지 확인하라. 이 조합은 47% KV VRAM 절감을 제공하며, 품질 비용은 거의 없고 처리량 손실도 1% 미만이다. 24GB 카드에서 최대 32K~55K 토큰 컨텍스트 길이를 사용하는 대부분의 사용자 — 16K의 Qwen3-32B와 Llama 3.3-70B 듀얼 카드 설정 포함 — 에게 이것이 완전한 솔루션이다. 포크 불필요. 소스 빌드 불필요. 벤치마킹이 필요한 품질 트레이드오프도 없다.

27B 이상 모델에서 80K+ 컨텍스트를 목표로 하고 비트 패킹 여유분이 부족하다면, 다음 단계는 domvox 포크의 TurboQuant TURBO3_0이다. +1.17% PPL 비용을 감수하고, gfx1100용 소스 빌드 후 24GB 예산 내에서 실행이 완료되는지 확인하라. 128K 컨텍스트의 경우, TurboQuant와 대칭 비트 패킹 플래그를 함께 사용하는 것이 올바른 스택이다 — 해당 규모에서 24GB 카드 기준으로 어느 하나만으로는 충분하지 않다.

하드웨어 선택에 대한 더 넓은 함의: 2026년 5월 기준, RDNA3는 로컬 LLM 추론의 KV 캐시에서 명확하고 측정된 VRAM 효율 우위를 보유하고 있으며, 이에 해당하는 CUDA 대응 기능은 확인된 바 없다. CUDA가 레지스터 수준의 동급 기능을 갖추면 이 우위가 줄어들 수 있지만, 글 작성 시점에서 그러한 구현은 문서화된 것이 없다. 현재 장기 컨텍스트 로컬 추론을 위한 하드웨어를 적극적으로 선택하는 개발자에게, 이것은 벤치마크 각주가 아닌 결정에 반영할 가치가 있는 구체적인 기술적 차별화 요소다.

최종 업데이트: 2026-06-01. 2026년 5월 31일 공개된 커뮤니티 벤치마크 기반, AI Weekly 확인; lemonade-sdk 빌드 b1285; llama.cpp GitHub 토론 #22411#21526. 레지스터 비트 패킹 최적화의 업스트림 PR 병합 상태는 발행 시점에 미확인 — 이를 메인라인 동작으로 간주하기 전에 ggml-org/llama.cpp 저장소에서 현재 상태를 확인하라.