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

vLLM에서 Qwen 3.5 프롬프트 재처리 속도를 높이는 최적화 설정

vLLM 0.17.0의 새로운 캐시 및 성능 모드 설정을 활용하여 Qwen 3.5 모델의 긴 문맥 처리 시 발생하는 프롬프트 재처리 지연 문제를 해결하는 방법을 공유한다.

실용적 조언

  • vLLM nightly 이미지를 사용하여 최신 최적화 기능을 적용한다.
  • 긴 문맥 사용 시 enable-prefix-caching을 활성화하여 중복 계산을 방지한다.
  • 메모리 부족 시 kv-cache-dtype fp8_e4m3를 사용하여 캐시 크기를 줄인다.

섹션별 상세

Qwen 3.5 모델의 긴 문맥 처리 시 발생하는 병목 현상을 지적했다. 대화가 길어질수록 이전 메시지를 포함한 전체 프롬프트를 다시 계산하는 과정에서 지연 시간이 기하급수적으로 증가하여 모델 사용이 불가능한 수준에 이르렀다. 특히 코딩 에이전트와 같이 문맥이 누적되는 작업에서 응답까지 수 분이 소요되는 문제가 발생했다.
vLLM 0.17.0 nightly 버전에서 도입된 Mamba 관련 설정이 성능 향상의 핵심이다. mamba-cache-mode를 align으로 설정하고 mamba-block-size를 8로 지정함으로써 하이브리드 아키텍처 모델의 캐시 효율성을 극대화했다. 이러한 설정은 하이브리드 모델의 상태 공간 모델(SSM) 구성 요소가 이전 문맥을 더 빠르게 참조하도록 돕는다.
performance-mode를 interactivity로 설정하여 실시간 대화 환경에 최적화된 추론 스케줄링을 적용했다. 이는 긴 문맥의 코딩 에이전트 작업이나 대화형 서비스에서 응답 대기 시간을 줄이는 데 결정적인 역할을 했다. 기존의 처리 방식보다 사용자 경험 측면에서 즉각적인 반응을 이끌어내는 데 효과적이다.
enable-prefix-caching과 enable-chunked-prefill 옵션을 병행 사용했다. 접두사 캐싱은 중복된 프롬프트 계산을 방지하고, 청크 단위 프리필은 대규모 토큰 입력을 효율적으로 나누어 처리하여 GPU 메모리 압박을 완화했다. 이 조합을 통해 긴 문맥에서도 프롬프트 전체를 재처리하지 않고 필요한 부분만 계산하는 구조를 완성했다.

용어 해설

접두사 캐싱(Prefix Caching)
프롬프트의 공통된 앞부분을 캐싱하여 재사용하는 기술이다. 동일한 시스템 프롬프트나 이전 대화 내역을 매번 다시 계산하지 않아도 되므로 추론 시작 시간을 단축하고 연산 자원을 절약한다.
청크 단위 프리필(Chunked Prefill)
긴 프롬프트를 작은 단위(청크)로 나누어 처리하는 방식이다. 한 번에 모든 토큰을 처리할 때 발생하는 메모리 피크를 방지하고 GPU 연산 자원을 효율적으로 분배하여 전체적인 처리 효율을 높인다.
KV 캐시(KV Cache)
트랜스포머 모델 추론 시 이전 토큰의 Key와 Value 값을 저장하는 메모리 영역이다. 매 생성 단계마다 전체 문맥을 다시 계산하지 않게 도와주며, FP8 등의 양자화를 통해 메모리 사용량을 줄일 수 있다.
맘바 아키텍처(Mamba Architecture)
기존 트랜스포머의 어텐션 메커니즘 대신 상태 공간 모델(SSM)을 활용하는 구조이다. 문맥 길이에 따라 연산량이 선형적으로 증가하여 매우 긴 문맥에서도 효율적인 처리가 가능한 것이 특징이다.

코드 예제

bash
docker run --rm \
 --label "$CONTAINER_LABEL" \
 --runtime=nvidia \
 --gpus '"device=0,1,2"' \
 --privileged \
 --ipc=host \
 --ulimit memlock=-1 \
 --ulimit stack=67108864 \
 -p 5000:5000 \
 -e CUDA_DEVICE_ORDER=PCI_BUS_ID \
 -e LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu:/lib/x86_64-linux-gnu \
 -e PYTORCH_ALLOC_CONF=expandable_segments:True,max_split_size_mb:512 \
 -e VLLM_SLEEP_WHEN_IDLE=1 \
 -e OMP_NUM_THREADS=16 \
 -e VLLM_USE_DEEP_GEMM=0 \
 -e VLLM_USE_FLASHINFER_MOE_FP16=1 \
 -e VLLM_USE_FLASHINFER_SAMPLER=0 \
 -v /home/daniel/vllm/models:/models \
 -v ~/.cache/qwen35/vllm:/root/.cache/vllm \
 -v ~/.cache/qwen35/torch:/root/.cache/torch \
 -v ~/.nv/qwen35/ComputeCache:/root/.nv/ComputeCache \
 vllm/vllm-openai:nightly \
 --model /models/qwen3.5-awq \
 --served-model-name qwen3.5-awq \
 --host 0.0.0.0 \
 --port 5000 \
 --max-model-len 225000 \
 --max-num-batched-tokens 8192 \
 --pipeline-parallel-size 3 \
 --kv-cache-dtype fp8_e4m3 \
 --max-num-seqs 2 \
 --tool-call-parser qwen3_coder \
 --reasoning-parser qwen3 \
 --enable-auto-tool-choice \
 --optimization-level 3 \
 --enable-prefix-caching \
 --trust-remote-code \
 --language-model-only \
 --performance-mode interactivity \
 --mamba-cache-mode align \
 --mamba-block-size 8 \
 --enable-chunked-prefill \
 --async-scheduling \
 --override-generation-config '{ "temperature": 0.60, "top_p": 0.95, "top_k": 20, "min_p": 0.0, "presence_penalty": 0.0, "repetition_penalty": 1.0, "max_tokens": 16384 }'

vLLM nightly 버전을 사용하여 Qwen 3.5 모델을 최적화된 설정으로 실행하는 Docker 명령어

언급된 도구

vLLM추천

LLM 추론 엔진

Qwen 3.5중립

대형 언어 모델

AI 분석 전체 내용 보기

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

출처 · 인용 안내

원문 발행 2026. 03. 10.수집 2026. 03. 10.출처 타입 REDDIT

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