
RTX Pro 4500 (Oculink 연결) 환경에서 PrismaQuant, INT4 Autoround 및 NVFP4 W4A4 양자화 모델
요약
RTX Pro 4500 환경에서 vLLM을 활용해 PrismaQuant 및 NVFP4 양자화 모델을 실행하는 방법을 다룹니다. Blackwell 아키텍처에 최적화된 새로운 양자화 기법을 통해 모델 성능과 효율성을 극대화하는 사례를 소개합니다.
핵심 포인트
- PrismaQuant는 레이어별 최적 형식을 선택해 양자화 효율을 극대화함
- NVFP4 양자화는 현재 Blackwell 아키텍처 기반 vLLM에서만 지원됨
- Qwen3.6-27B 모델을 대상으로 한 다양한 비트수별 양자화 모델 사례 제시
- vLLM 0.24 버전을 활용한 Docker 기반의 구체적인 실행 환경 설정법 공유
이 작은 괴물(beast)은 이 서브레딧(subreddit)에서 설치 가능 여부를 문의한 이후 한동안 존재해 왔습니다. Beelink SER 8 8745 HS, AooStar eg01, 그리고 RTX Pro 4500 32GB 사양입니다. 제가 실행 중이던 Sakamakismile 모델은 어떤 이유에서인지 vLLM 0.22, 0.23, 0.24 버전 모두에서 Opencode와 Cline을 사용할 때 도구 호출(tool call) 오류를 발생시키고 사고 루프(thinking loops)에 빠지는 현상이 있었습니다. Froggeric Chat Template으로 교체해도 상황이 개선되지 않는 듯했습니다 (약 2일간의 집중적인 사용 동안은 비교적 괜찮았으나, 이후 다시 문제가 나타났습니다). 저는 사용 가능한 NVFP4 양자화 (quantized) 모델이 있는지 찾아보았습니다. 그러다 Nvidia DGX Spark 공식 포럼에서 논의되고 있는 PrismaQuant라는 새로운 양자화 (quantization) 방법을 발견했습니다. 간단히 말해, 이 방법은 특정 비트(bit)에서 모델의 역량을 극대화하기 위해 각 선형 레이어 (linear layer)에 가장 적합한 형식을 선택합니다. 주의할 점은 PrismaQuant 양자화 (quantization) 방법은 현재 Blackwell 아키텍처 (50 시리즈, RTX Pro 시리즈)를 위한 vLLM에서만 사용 가능하다는 것입니다. 또한, 매우 새로운 기술이기 때문에 현재 GGUF는 기본적으로 완전히 지원되지 않습니다.
| 모델 이름 (Model Name) | 양자화 비트 (Quantization Bits) | 가중치 크기 (Weight Size) | 베이스/소스 모델 (Base/Source Model) | 비고 (Notes) |
|---|---|---|---|---|
| rdtand/Qwen3.6-27B-PrismaSCOUT-Blackwell-NVFP4-BF16-vllm | ~5.31 bits | ~20 GB | Qwen3.6-27B | – |
| rdtand/Qwen3.6-27B-PrismaAURA-5.5bit-vllm | ~5.5 bits | ~23 GB | Qwen3.6-27B | PrismaSCOUT에 비해 양자화된 가중치당 비트가 더 높으며, 이론적으로 더 나은 응답 품질을 제공함 |
| rdtand/Qwen3.6-27B-PrismaQuant-Heretic-5.25bit-vllm | ~5.249 bits | ~22 GB | llmfan46/Qwen3.6-27B-uncensored-heretic-v2 | 실제 테스트되지 않음 |
0.24 vLLM을 사용한 PrismaSCOUT Docker 명령:
docker run -d --name vllm-prismascout --restart unless-stopped --gpus all --ipc=host -p 8000:8000 --env-file .env -e HF_HUB_OFFLINE=1 -e VLLM_USE_FLASHINFER_SAMPLER=1 -e VLLM_NVFP4_GEMM_BACKEND=flashinfer-cutlass -e PYTORCH_CUDA_ALLOC_CONF=expandable_segments:True -v /home/rw/vllm/models:/models:ro --entrypoint /bin/bash "vllm/vllm-openai:v0.24.0-cu129-ubuntu2404" -lc 'exec vllm serve /models/rdtand/Qwen3.6-27B-PrismaSCOUT-Blackwell-NVFP4-BF16-vllm --served-model-name Qwen3.6-27B-PrismaSCOUT-Blackwell-NVFP4-BF16-vllm --host 0.0.0.0 --port 8000 --max-model-len 200000 --gpu-memory-utilization 0.96 --kv-cache-dtype fp8 --quantization compressed-tensors --trust-remote-code --enable-chunked-prefill --reasoning-parser qwen3 --tool-call-parser qwen3_coder --enable-auto-tool-choice --max-num-seqs 1 --max-num-batched-tokens 8192 --speculative-config '"'{"method":"mtp","num_speculative_tokens":3}"'"' --performance-mode interactivity --attention-backend flashinfer --enable-prefix-caching --no-disable-hybrid-kv-cache-manager --limit-mm-per-prompt '"'{"image":4}"'"' --chat-template /models/rdtand/Qwen3.6-27B-PrismaSCOUT-Blackwell-NVFP4-BF16-vllm/chat_template.jinja'
0.24 vLLM을 사용한 PrismaAURA Docker 명령:
docker run -d --name vllm-prismaaura --restart unless-stopped --gpus all --ipc=host -p 8000:8000 --env-file .env -e HF_HUB_OFFLINE=1 -e VLLM_USE_FLASHINFER_SAMPLER=1 -e VLLM_NVFP4_GEMM_BACKEND=flashinfer-cutlass -e PYTORCH_CUDA_ALLOC_CONF=expandable_segments:True -v
/home/rw/vllm/models:/models:ro --entrypoint /bin/bash "vllm/vllm-openai:v0.24.0-cu129-ubuntu2404" -lc 'exec vllm serve /models/rdtand/Qwen3.6-27B-PrismaAURA-5.5bit-vllm --served-model-name Qwen3.6-27B-PrismaAURA-5.5bit-vllm --host 0.0.0.0 --port 8000 --max-model-len 150000 --gpu-memory-utilization 0.96 --kv-cache-dtype fp8 --quantization compressed-tensors --trust-remote-code --enable-chunked-prefill --reasoning-parser qwen3 --tool-call-parser qwen3_coder --enable-auto-tool-choice --max-num-seqs 1 --max-num-batched-tokens 8192 --speculative-config '"'{"method":"mtp","num_speculative_tokens":3}"'"' --performance-mode interactivity --attention-backend flashinfer --enable-prefix-caching --no-disable-hybrid-kv-cache-manager --limit-mm-per-prompt '"'{"image":4}"'"' --chat-template /models/rdtand/Qwen3.6-27B-PrismaAURA-5.5bit-vllm/chat_template.jinja' PrismaAURA는 정밀도가 더 높기 때문에 가중치 크기가 PrismaSCOUT보다 2GB 더 차지하므로, 컨텍스트 길이를 150K로 낮춰야 합니다. ---- PrismaQuant 레포지토리에서 가져온 PrismaSCOUT의 KLD 결과와 PrismaAURA 모델 가중치 크기에 대한 카드: KL mean vs BF16 rdtand/Qwen3.6-27B-PrismaAURA-5.5bit-vllm ~23 GB 0.0342 rdtand-Qwen3.6-27B-PrismaSCOUT-Blackwell-NVFP4-BF16-vllm-shipped-5p31 ~20 GB 0.0550810285 NVFP4 및 INT4 Autoround에 대한 다른 KLD 결과는 여기서 참고할 수 있습니다. PrismaAURA-5.5bit은 QuantTrio와 selimaktas 사이에 위치하며, PrismaSCOUT는 Cyankiwi INT4 Sakamakismile보다 위에 있습니다. PrismaSCOUT과 Lorbus는 모델에 포함된 토크나이저를 사용하여 210K 컨텍스트 길이까지 테스트되었습니다.
llama-benchy를 사용하여 이 3가지 모델에 대한 테스트 파라미터(Testing parameters)는 다음과 같습니다: --pp 2048 --tg 480 --depth 0 1000 5000 10000 20000 50000 100000 150000 200000 210000 --latency-mode generation --skip-coherence --concurrency 1--pp 2048 --tg 480 --depth 0 1000 5000 10000 20000 50000 100000 150000 200000 210000 --latency-mode generation --skip-coherence --concurrency 1 PrismaAURA를 llama-benchmarks로 130K 컨텍스트 길이까지 테스트한 파라미터는 다음과 같습니다: --pp 2048 --tg 480 --depth 0 1000 5000 10000 20000 50000 100000 130000 --latency-mode generation --skip-coherence --concurrency 1--pp 2048 --tg 480 --depth 0 1000 5000 10000 20000 50000 100000 130000 --latency-mode generation --skip-coherence --concurrency 1
| 모델 | 평균 PP, 0-100k (t/s) | 평균 TG, 0-100k (t/s) | 100k ttfr (ms) | 100k est_ppt (ms) | 100k e2e_ttft (ms) | 200k PP (t/s) | 200k TG (t/s) | 200k ttfr (ms) | 200k est_ppt (ms) | 200k e2e_ttft (ms) |
|---|---|---|---|---|---|---|---|---|---|---|
| Sakamakismile (NVFP4 W4A4) | 5,789.07 | 71.64 | 40,259.90 +/- 7.98 | 40,162.05 +/- 7.98 | 40,264.76 +/- 7.79 | 1,558.91 +/- 0.24 | 59.02 +/- 2.99 | 129,706.83 +/- 19.70 | 129,608.98 +/- 19.70 | 129,715.93 +/- 19.79 |
| PrismaSCOUT (NVFP4 + BF16) | 4,987.60 | 70.17 | 41,587.44 +/- 4.82 | 41,480.03 +/- 4.82 | 41,591.90 +/- 5.14 | 1,525.83 +/- 0.26 | 61.81 +/- 1.34 | 132,525.85 +/- 22.57 | 132,418.43 +/- 22.57 | 132,535.59 +/- 23.55 |
| PrismaAURA (NVFP4 + FP8 + BF16 혼합) | 4,259.20 | 64.84 | 43,834.67 +/- 2.13 | 43,839.15 +/- 2.17 | 테스트되지 않음 | 테스트되지 않음 | 테스트되지 않음 | 테스트되지 않음 | 테스트되지 않음 | 테스트되지 않음 |
| Lorbus (INT 4 Autoround) | 2,085.92 | 74.74 | 69,576.21 +/- 11.65 | 69,505.23 +/- 11.65 | 69,581.18 +/- 12.20 | 1,076.24 +/- 0.13 | 61.65 +/- 1.78 | 187,806.97 +/- 23.37 | 187,735.98 +/- 23.37 | 187,815.98 +/- 23.34 |
KLD 및 생성 속도(generation speed)와 관련하여 다른 분들에게 참고가 될 수 있을 것 같아 이 포스트를 작성하게 되었습니다. 원본 llama-bency 테스트 결과와 진행 로그(progress log)는 이 리포지토리(repo)에도 업로드해 두었습니다. 나중에 tool-eval-bench를 사용해서도 테스트할 계획이며, 아마 또 다른 포스트가 될 것 같습니다.
추신: 오타 수정 및 /u/Kulidc가 r/LocalLLaMA에 제출한 모델 카드(model card)를 제공했습니다 [link] [comments]
AI 자동 생성 콘텐츠
본 콘텐츠는 r/OpenAI Codex (search)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기