본문으로 건너뛰기

© 2026 Molayo

Reddit요약2026. 05. 18. 20:05

RTX 3090에서 Hermes Agent를 위한 Qwen 3.6 27B MTP 최적화 및 b9200 업데이트 벤치마킹

요약

RTX 3090 환경에서 Qwen 3.6 27B MTP 모델을 사용하여 Hermes Agent의 성능을 최적화한 사례를 다룹니다. 기존 MTP 설정이 에이전트 워크플로우에서 낮은 초안 수락률과 속도 저하를 유발하는 문제를 llama.cpp b9200 업데이트와 커스텀 설정을 통해 해결했습니다. 결과적으로 메모리 트래픽 병목을 해소하여 토큰 생성 속도와 초안 수락률을 크게 개선했습니다.

핵심 포인트

  • 표준 MTP 플래그가 에이전트 워크플로우의 엄격한 문법 요구사항에서는 오히려 성능 저하를 일으킬 수 있음
  • llama.cpp b9200 릴리스의 메모리 트래픽 최적화가 VRAM 대역폭 병목 해소에 핵심적인 역할 수행
  • 24GB VRAM 환경에서는 --parallel 1 설정과 낮은 룩어헤드(n-max 3) 설정이 효율적임
  • 최적화 적용 후 초안 수락률이 최대 77%까지 상승하며 추론 성능이 안정화됨

업데이트됨 (b9200 게시 후)

Unsloth에서 제공하는 새로운 Qwen 3.6 27B mtp gguf를 사용하여 hermes agent의 백엔드로 실행한 업데이트 버전입니다. 설정을 조정하는 과정에서, 현재 권장되는 Unsloth mtp 플래그가 엄격한 다회차(multi-turn) 에이전트 워크플로우(agentic workflows)에서 오히려 성능 병목 현상을 일으키고 초안 수락률(draft acceptance rates)을 떨어뜨린다는 점을 발견했습니다. mtp 메모리 트래픽 오버헤드를 구체적으로 해결한 최신 llama.cpp b9200 릴리스와 커스텀 설정을 결합하자 상황이 완전히 반전되었습니다.

하드웨어/소프트웨어

  • RTX 3090 (24GB VRAM) — 현재 온도를 낮추기 위해 언더볼팅(undervolted) 상태
  • Ryzen 7 5700G / 64GB
  • Qwen3.6-27B-IQ4_NL.gguf
  • llama-server (소스에서 컴파일된 b9200+, 커밋 #23234)
  • hermes agent (spillover를 제한하기 위해 64K 컨텍스트로 설정)

기본 mtp 설정의 문제점

표준 권장 mtp 플래그(--spec-draft-n-max 6 및 --spec-draft-p-min 0.75)를 실행했을 때 에이전트 루프(agentic loops)에서 저조한 결과가 나왔습니다. 생성 속도는 약 7–8 t/s였으며, mtp 초안 수락률은 22–26% 수준을 맴돌았습니다.

에이전트 워크플로우는 경직되어 있습니다. 6-토큰 룩어헤드(lookahead)는 빈번하게 잘못된 문장 부호를 예측하고, 메인 모델이 초안을 거부하면 GPU는 계산을 버리고 다시 계산하게 되어 mtp의 속도 향상 효과를 완전히 상쇄합니다. 또한 병렬 슬롯(parallel slots)을 명시적으로 선언하지 않으면 llama-server는 기본값인 4로 설정되어, 사용되지 않는 컨텍스트 슬롯을 관리하느라 메모리 대역폭을 소모합니다.

해결책 및 b9200의 향상 효과

24GB 그래픽 카드에서 에이전트 워크플로우를 실행할 경우, 슬롯을 하나로 제한하고, 룩어헤드를 3으로 낮추며, 엄격한 구문(syntax)에서 주저하지 않도록 p-min 임계값을 제거하십시오. 프롬프트 처리(prompt processing) 중에 배치 내 모든 토큰에 대해 전체 로짓(logits)을 복사하는 것을 방지하는 b9200 릴리스와 결합된 최적화된 실행 명령은 다음과 같습니다:

.\build\bin\Release\llama-server.exe
-m D:\models\Qwen3.6-27B-IQ4_NL.gguf
--spec-type draft-mtp
--spec-draft-n-max 3
--ctx-size 65536
--parallel 1
--flash-attn on
--cache-type-k q8_0
--cache-type-v q8_0 "

--port 8081

결과 (업데이트 전 vs b9200 업데이트 후)

업데이트 전 (최적화 플래그 적용 상태):

  • 프롬프트 처리 (Prompt processing) 속도는 약 ~560 t/s를 기록했습니다.

  • 토큰 생성 (Token generation) 속도는 짧은 작업에서 17.06 t/s, 무거운 컨텍스트 추론 루프 (context reasoning loops) 중에는 ~9.5 t/s를 기록했습니다.

  • 초안 수락률 (Draft acceptance rate)은 77%까지 상승했습니다 (짧은 룩어헤드 (lookahead)가 엄격한 포맷팅에 더 효과적임을 증명함).

b9200 업데이트 후:

  • 프롬프트 처리 (Prompt processing) 속도는 약 ~611 t/s로 안정화되었습니다.

--parallel 1과 결합된 메모리 트래픽 수정 (memory traffic fix)의 진정한 마법은 VRAM 버스 (VRAM bus)의 병목을 해소하여 텍스트 생성 단계가 실제로 원활하게 작동할 수 있게 한다는 점입니다.

  • 토큰 생성 (Token generation) 속도는 짧은 작업에서 최고 27.44 t/s를 기록했으며, 에이전트가 도구 호출 (tool calls)과 메인 메모리 사이를 활발하게 전환하는 무거운 컨텍스트 루프 중에도 매우 사용 가능한 수준인 13.69 t/s로 안정화되었습니다.

  • 초안 수락률 (Draft acceptance rate)은 표준 턴 (standard turns)에서 약 ~70%의 견고한 수치를 유지했습니다.

유령 병렬 슬롯 (ghost parallel slots)이나 6-토큰 룩어헤드 거부 (6-token lookahead rejections)로 인해 VRAM 버스가 막히지 않는다면, 언더볼팅 (undervolted)된 3090으로도 밀도가 높은 27B 모델에서 거의 30 t/s를 밀어낼 수 있습니다!

AI 자동 생성 콘텐츠

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

원문 바로가기
2

댓글

0