본문으로 건너뛰기
r/LocalLLaMA조회 2

RTX 3090에서 Qwen3.8-27B 추론 가속

자체 출력 기반 speculative decoding과 양자화·커널 최적화로 RTX 3090의 Qwen3.8-27B가 단일 요청 124 tps와 262k 컨텍스트를 달성했다.

이 요약은 AI가 원문을 분석해 생성했습니다. 정확한 내용은 원문 기준으로 확인하세요.

TL;DR

RTX 3090용 Qwen3.8-27B inference engine은 단일 요청 처리량을 기본 sampling 약 114 tps, greedy 약 124 tps까지 높였으며, 이전 수치는 각각 90 tps와 98 tps였다. 자체 출력에 맞춘 draft vocabulary로 speculative decoding 후보의 누락을 줄이고, 모델 hidden states로 보정한 GPTQ-int4 lm_head와 MTP module 및 Triton Split-KV attention kernel을 결합한 결과다. Split-KV kernel은 1.5k 컨텍스트에서 5배, 16k에서 10배 빨라졌고 sampler patch는 기본 sampling 처리량을 4% 높였다. KVarN 4/2비트 KV cache를 사용하면 262k 컨텍스트가 들어가지만 100k 컨텍스트 디코드는 약 20% 느려지며, 동시 요청 64개에서의 피크 처리량은 약 1,000 tps로 유지됐다.

실용적 조언

  • 재현 가능한 성능 비교를 위해 저장소의 bench/run_benchmarks.sh를 실행하고 verify.sh로 설치된 패치가 실제 적용됐는지 확인할 수 있다. 기본 구성은 fp8 KV cache, int8 lm_head와 embed_tokens, fp16 recurrent state, int8 activations, MTP-4 draft를 함께 사용한다. 긴 컨텍스트가 필요하면 vLLM 0.27.1용 KVarN KV cache를 KV=kvarn 및 CTX=huge 설정으로 선택할 수 있지만 100k 컨텍스트에서는 디코드 속도가 약 20% 낮아진다.

섹션별 상세

RTX 3090에서 실행되는 Qwen3.8-27B inference engine의 단일 요청 속도가 기본 sampling 기준 약 90 tps에서 약 114 tps로, greedy 기준 98 tps에서 약 124 tps로 높아졌다. 핵심 변화는 모델 자체 출력으로 draft vocabulary를 구성해 웹 텍스트 기반 목록의 누락을 줄인 데 있다. 기존 목록의 coverage가 전체 출력에서 약 92%, 코드에서 83%였던 반면 새 목록은 97.5%를 포괄해 greedy 처리량을 98 tps에서 109 tps로 끌어올렸다.
GPTQ-int4를 lm_head와 MTP module에 적용하면서 모델 자체 hidden states를 calibration에 사용해 양자화 오차를 제한했다. 그 결과 PPL은 0.6% 증가했지만 GSM8K 점수와 speculative decoding의 acceptance는 유지됐고, 단계당 처리 시간은 1.8ms 줄었다. 약 1GB 크기의 fast variant를 Hugging Face에서 내려받아 별도 경로로 사용할 수 있도록 구성했다.
여러 draft를 검증할 때 FlashAttention-2가 single-query decode에만 KV 분할을 적용해 RTX 3090의 82개 SM 중 24개만 사용하던 문제가 있었다. 작성자는 Triton 기반 Split-KV attention kernel로 verify 단계를 분리해 1.5k 컨텍스트에서 5배, 16k 컨텍스트에서 10배 빠르게 만들었다. 여기에 sort-free top-k/top-p와 multi-block softmax를 적용한 sampler patch를 더해 기본 sampling 처리량을 4% 높였다.

용어 해설

추측 디코딩(Speculative Decoding)
작은 draft 모델이 다음 토큰 후보를 먼저 생성한 뒤 target 모델이 여러 토큰을 한 번에 검증하는 추론 방식이다. 검증 결과가 거부되지 않은 후보는 그대로 사용해 순차 디코딩의 계산 시간을 줄이며, 이 글에서는 정확한 sampled distribution을 유지한다.
KV 캐시(KV Cache)
Transformer가 이전 토큰의 Key와 Value를 저장해 긴 대화에서 같은 어텐션 계산을 반복하지 않도록 하는 메모리 구조다. 저장 공간이 컨텍스트 길이에 따라 커지므로 양자화를 적용하면 262k 토큰을 RTX 3090에 적재할 수 있지만 디코드 속도는 100k 컨텍스트에서 약 20% 느려진다.
멀티토큰 예측(MTP)
한 번에 여러 미래 토큰을 예측하는 모듈로, 여기서는 MTP-4 draft를 생성해 target 모델의 검증 단계를 보조한다. 40k 토큰 draft head와 자체 출력에 맞춘 draft vocabulary를 사용해 후보가 강제로 거부되는 비율을 낮추고 단일 요청 처리량을 높인다.
GPTQ 4비트 양자화(GPTQ-int4)
모델 가중치를 4비트 정수로 압축해 메모리 사용량과 연산 비용을 줄이는 양자화 방식이다. 이 글에서는 모델 자체 hidden states로 lm_head와 MTP module을 보정했으며, PPL은 0.6% 증가했지만 GSM8K와 acceptance는 유지되고 단계당 1.8ms가 줄었다.

언급된 도구

vLLM추천

vLLM 0.27.1에 KVarN 4/2비트 KV cache를 포팅해 최대 262k 토큰 컨텍스트를 적재하는 실행 환경으로 사용됐다.

Triton추천

여러 draft를 검증하는 verify 단계에서 KV를 분할하는 소형 attention kernel을 구현하는 데 사용됐다.

FlashAttention-2중립

기존 verify 단계의 attention 구현으로 사용됐지만 여러 draft 상황에서 KV 분할이 제한돼 Split-KV kernel로 보완됐다.

AI 분석 전체 내용 보기

AI 요약 · 북마크 · 개인 피드 설정 — 무료

출처 · 인용 안내

원문 발행 2026. 08. 19.수집 2026. 08. 19.출처 타입 REDDIT

인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.