AI Briefing

TurboQuant의 Qwen3.6 수정

speculative decoding silently broken for Qwen3.6 on the TurboQuant fork — PR to fix

·2026.04.22 08:17

핵심 내용

TurboQuant fork의 Qwen3.6 speculative decoding 버그를 수정했다.

자세히 보기

Qwen3.6-35B-A3B를 TurboQuant fork에서 돌릴 때 speculative decoding이 조용히 무시되고, 에러 없이 일반 디코딩으로 떨어지는 문제가 있었다.

원인은 Qwen3.6의 hybrid 구조였다. 일반 transformer가 아니라 recurrent layer가 섞여 있어, draft token이 거절될 때 내부 상태를 되돌리는 롤백이 필요했지만 TurboQuant 쪽 recurrent layer가 이를 지원하지 못했다.

  • mainline llama.cpp의 최근 PR #19493에서 이 문제가 먼저 수정됐다.
  • TurboQuant fork는 그 변경을 아직 반영하지 못해 speculative decoding이 사실상 동작하지 않았다.
  • 작성자는 이 패치를 fork에 병합했고, 벤치마크도 마쳤다고 밝혔다.

draft model과 main model의 vocab 호환성도 중요하다.

  • Qwen3.5-0.8B를 draft로, Qwen3.6-35B-A3B를 main model로 쓰면 vocabs not compatible 경고가 뜬다.
  • tokenizer가 완전히 같지 않으면 llama.cpp가 토큰을 변환하느라 추가 오버헤드가 생긴다.
  • 호환이 완벽하지 않아도 speculative decoding은 계속 돌지만, 모델 조합과 생성 내용에 따라 속도 이득은 줄 수 있다.

특히 코드 생성처럼 예측 가능한 토큰이 많은 작업에서는 여전히 큰 속도 향상이 가능하다.

이 한국어 요약은 AI가 자동으로 만들었습니다. 원문의 주장과 맥락은 원문에서 확인해 주세요. 저작권은 원저작자에게 있습니다.

AI 처리 방식을 확인하거나, 요약 오류와 출처 표기 문제, 삭제 요청을 문의 · 건의로 알려주세요.