본문으로 건너뛰기

© 2026 Molayo

r/LocalLLaMA분석2026. 06. 19. 05:50

에이전트 코딩 작업을 위한 2-bit GGUF (<10Gb) 보정 (Calibration)

요약

에이전트 코딩 로그를 활용해 보정(Calibration)된 Qwopus3.6-27B-Coder의 2-bit GGUF 양자화 모델을 소개합니다. 10GB 미만의 소형 모델임에도 MTP 기술을 통해 SWE-rebench 벤치마크에서 60% 이상의 높은 통과율을 달성했습니다.

핵심 포인트

  • 에이전트 코딩 로그 기반 imatrix 보정으로 양자화 손실 최소화
  • MTP 기술 적용으로 디코딩 속도 1.26배 향상
  • IQ2_M 모델이 Q5_K_M 수준의 강력한 코딩 성능(63% pass rate) 증명
  • 도구 호출(tool-call) 채널 보호를 위한 특수 토큰 파싱 포함

요약 (TL;DR): 에이전트 코딩 로그로 보정된 Qwopus3.6-27B-Coder의 소형 양자화 모델 (< 10 Gb)이며, 번들로 제공되는 MTP를 통해 SWE-rebench에서 60% 이상의 통과율 (pass rate)을 달성했습니다.

포함된 내용:

📦 3가지 imatrix 보정 양자화 모델: IQ2_XS (8.9 GiB), IQ2_M (9.7 GiB), Q2_K_S (9.96 GiB)
⚡ MTP 초안 헤드 (draft head)를 Q8에서 손실 없이 유지하고 트렁크 (trunk)를 2-bit로 전환 → 1.26배 디코딩 속도 향상 (수락률 79.9%, n-max=1)
🎯 실제 에이전트 코딩 로그 (Claude Code, Qwen Code, opencode; 영어 및 Python 중심)로 보정
🔬 도구 호출 (tool-call) 채널을 보호하기 위한 특수 토큰 파싱을 포함한 하이브리드 중요도 행렬 (importance matrix; 활성화 + 가중치 에너지)

IQ2_M 양자화 모델은 크기가 절반임에도 불구하고 nebius/SWE-rebench 에이전트 코딩 벤치마크에서 Q5_K_M 양자화 모델의 통과율과 맞먹는 강력한 63%의 통과율을 달성했습니다. 또한 IQ2_M 양자화 모델은 동일한 체급의 비보정 (non-calibrated) 양자화 모델보다 루프 (loops)에 더 강하지만, 반복 페널티 (repetition penalty)를 1보다 크게 설정하지 않는 한 Q5_K_M만큼 강력하지는 않습니다.

지표 (Metrics)

지표FP16 (참조)Q2_KIQ2_XSIQ2_MQ2_K_S
파일n/aQ2_K.ggufIQ2_XS.ggufIQ2_M.ggufQ2_K_S.gguf
품질⭐⭐⭐⭐⭐
기술없음 (none)없음 (none)imatriximatrix
크기 (GiB)50.9010.408.899.749.96
BPW16.0003.2692.7943.0623.133
PPL (일반)6.48265.58359.88668.59618.0091
KLD med (일반)0.000000.11540.09500.05350.0566
top_p (일반)100.00%79.29%78.87%83.23%83.32%

일반 Q2_K는 더 큰 크기에도 불구하고 보정된 IQ2_M보다 더 나쁜 KLD 점수를 기록했습니다. 즉, 보정 (calibration)이 중요하다는 것을 보여줍니다.

SWE-rebench 결과
각 양자화 모델의 에이전트 코딩 능력은 로컬 llama-server를 가리키는 OpenAI Agents SDK를 사용하여 nebius/SWE-rebench의 10가지 실제 코딩 이슈에 대해 평가되었습니다. 각 nebius/SWE-rebench 이슈에 대해, 에이전트는 문제 설명과 함께 실패한 커밋에서 저장소가 미리 체크아웃된 전용 Docker 컨테이너로 셸 접속을 하는 라이브 bash 도구를 받습니다. 에이전트는 파일을 읽고, 테스트를 실행하고, 코드를 수정하는 과정을 반복하며 git diff를 생성하거나 단계 제한에 도달할 때까지 수행합니다.

그 후 패치는 컨테이너 내부에서 저장소의 FAIL_TO_PASS 테스트 스위트 (test suite)를 실제로 실행하여 등급이 매겨지므로, 합격/불합격 (pass/fail) 여부는 퍼지 매칭 (fuzzy matching)이 아닌 실제 실행 결과에 기반합니다. mini SWE-Agent를 사용하는 것도 시도해 보았으나, 유사한 패치율 (patch rate)을 보임에도 불구하고 이슈를 적절히 해결하지는 못했습니다.

지표 (Metric) Q2_K IQ2_XS IQ2_M Q2_K_S Q5_K_M

파일 (File) Q2_K.gguf IQ2_XS.gguf IQ2_M.gguf Q2_K_S.gguf Q5_K_M.gguf
기법 (Technique) none imatrix imatrix imatrix none
크기 (Size, GiB) 10.40 8.89 9.74 9.96 19.50
반복 횟수 (Repetitions) 3 3 3 3 3
이슈 (Issues) 10 10 10 10 10
패치율 (Patch Rate) 88±12% 70±10% 100% 93±6% 100%
합격률 (Pass Rate) 30±10% 27±6% 63±6% 57±6% 57±6%
최대 턴 수 (Max Turns) 27±15% 57±25% 13±15% 10±17% 0%
평균 단계 (Mean Steps) 58.5±7.6 73.1±15.1 51.6±8.3 46.7±8.1 38.6±1.3
평균 토큰 (Mean Tokens) 1,335K±253K 1,779K±137K 784K±260K 922K±195K 588K±57K
도구 오류율 (Tool Error Rate) 14.6±6.4% 9.5±3.6% 12.6±1.8% 8.9±1.5% 12.1±0.2%
평균 실제 시간 (Mean Wall) 415±98s 558±182s 381±66s 425±259s 307±34s

샘플링 파라미터 (Sampling Parameters): temperature=0.25, top_p=0.95, top_k=20, min_p=0.0, presence_penalty=0.0, repetition_penalty=1.0, max_tokens=32768, ctx=131072, thinking=true, mtp=true, mtp_draft_n_max=2. 4060Ti (16Gb)에서 테스트됨

정의 (Definitions):

patched - 10개의 이슈 중 에이전트가 (해결하지 못했더라도) 패치를 생성한 개수
resolved - 10개의 이슈 중 패치가 모든 FAIL_TO_PASS 테스트를 통과한 개수
max_turns - 10개의 이슈 중 해결하지 못한 채 100단계 제한에 도달한 개수
mean_steps - 수행된 에이전트 단계 (agentic steps)의 평균 수 (Docker 접속, 파일 읽기, 코드 편집 등이 단계로 계산됨)
mean_tokens - 전체 에이전트 에피소드 동안 생성된 토큰의 평균 수
tool_err_rate - 에이전트가 실행할 수 없는 잘못된 셸 명령 (구문 오류, 잘못된 파일 경로 등)을 생성한 빈도
mean_wall - 에피소드당 평균 실제 경과 시간 (단계 제한에 도달한 경우 2시간으로 제한)

전반적으로, IQ2_M 양자화 (quant) 모델은 이 에이전트 코딩 벤치마크에서 63%라는 강력한 합격률을 달성했으며, 이는 2-bit 모델로서 매우 인상적인 수치입니다.

모든 양자화 (quant) 모델에서 나타나는 높은 패치 생성율 (patch rate)은 성능이 낮은 모델이라도 여전히 그럴듯한 패치를 생성할 수 있음을 시사합니다. 하지만 더 낮은 합격률 (pass rates)과 더 높은 최대 턴 수 (max turn rates)는 생성된 패치 중 상당수가 실제로 문제를 해결하지 못하고 있음을 나타냅니다. IQ2_M 양자화 모델은 약 20% 더 많은 단계 (steps)와 토큰 (tokens)을 사용함에도 불구하고 Q5_K_M만큼 성능이 좋게 작동합니다. 그러나 이러한 추가적인 단계와 반복 (iterations)은 단순히 루프 (loop)에 빠지는 것이 아니라, 모델이 스스로 수정 (self-correct)하고 더 많은 문제를 해결하도록 돕는 효과적인 과정으로 보입니다. 양자화 모델이 높은 평균 토큰 수 (mean tokens)와 높은 최대 턴 수 (max turn rate)를 동시에 보일 때는 대개 에이전트가 루프에 갇혀 있음을 의미합니다. 주목할 점은 Q5_K_M 모델은 이러한 문제를 해결할 때 최대 턴 수(100)에 도달하는 경우가 전혀 없다는 것입니다. 루프를 탈출하기 위해 이러한 양자화 모델들을 실행할 때 반복 페널티 (repetition penalty)를 1보다 크게 설정하여 실행할 것을 권장합니다. 샘플링 (sampling)으로 인해 발생하는 변동성을 고려하여, 각 양자화 모델에 대해 여러 번의 반복 실행을 수행하였으며, 해당 실행들의 평균 ± 표준 편차 (mean ± standard deviation)를 보고합니다.

빠른 시작 (Quick start):
ollama run hf.co/pearsonkyle/Qwopus3.6-27B-Coder-2bit-MTP-GGUF:IQ2_M

MTP 투기적 디코딩 (speculative decoding)을 사용하는 GPU의 경우:
llama-server --model Qwopus3.6-27B-Coder-IQ2_M.gguf \ --spec-type draft-mtp --spec-draft-n-max 1 \ --flash-attn on --n-gpu-layers 999

주의 사항 (Caveats):

  • 3.2-bpw 미만의 양자화 모델 — VRAM이 제약 사항일 때는 훌륭하지만, 사용 가능한 상황에서 Q4+ 모델을 대체할 수 있는 것은 아닙니다.
  • 보정 (Calibration)은 영어와 Python 위주로 진행되었습니다. 다른 언어나 코딩 이외의 작업 부하 (workloads)에서는 정확도 (fidelity)가 낮을 수 있습니다.

📎 HF Repo · Quant-Tuner · Log Miner · Agent Source · Calibration Data
submitted by /u/professormunchies
[link] [comments]

AI 자동 생성 콘텐츠

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

원문 바로가기
0

댓글

0