Qwen3.8-Flash-Next FP4를 로컬에서 실행하는 방법 (Blackwell과 55개 환경 변수가 필요함)
요약
NVIDIA가 Qwen3.8-Flash-Next 모델을 로컬 환경에서 실행하기 위해 FP4 양자화 버전을 출시했습니다. 이 버전은 BF16 원본 대비 용량을 크게 줄였으나, Blackwell 아키텍처와 55개의 복잡한 환경 변수 설정이 필요합니다. 본 글에서는 NVIDIA의 새로운 양자화 방식과 로컬 구동 방법을 상세히 다룹니다.
핵심 포인트
- Qwen3.8-Flash-Next 모델을 FP4로 경량화하여 로컬 실행 가능하게 함.
- NVIDIA는 일반적인 사후 학습 대신 QAD 방식을 사용하여 모델을 최적화함.
- Blackwell 아키텍처와 55개 환경 변수 설정이 필수적으로 요구됨.
- FP4 양자화를 통해 용량을 줄였으나, 정확도 손실은 미미한 수준임.
NVIDIA의 Qwen3.8-Flash-Next FP4 빌드는 디스크 용량으로 96 GiB입니다. BF16 원본은 약 355 GB입니다. NVIDIA에 따르면, 이 크기 축소로 인한 정확도 손실은 GPQA Diamond에서 0.7 포인트입니다. 만약 Qwen3.8 Flash Next를 로컬에서 실행하고 싶다면, 그것이 당연한 다운로드처럼 들릴 것입니다.
하지만 아직 그렇지 않습니다. 모델 카드 첫 줄에는 상위 버전의 vLLM이 이를 로드할 수 없다고 나와 있습니다. Blackwell만이 유일하게 지원되는 아키텍처이며, RTX PRO 6000 실행 스크립트는 vllm serve에 도달하기 전에 55개의 환경 변수를 내보냅니다.
본 게시물에서는 NVIDIA가 무엇을 변경했는지, 크기가 GGUF와 어떻게 비교되는지, 어떤 벤치마크 수치가 유효한지, 그리고 RTX PRO 6000 및 DGX Spark용 실행 명령어를 다룹니다. 저의 출처는 NVIDIA 모델 카드, Qwen 카드, Unsloth와 bartowski의 GGUF 페이지, 그리고 커뮤니티 속도 스레드입니다. 저는 이 체크포인트를 직접 실행해 본 적이 없으므로, 여기에 있는 모든 수치는 인라인으로 연결된 해당 페이지에서 가져온 것입니다.
NVIDIA가 실제로 변경한 것들
기본 모델은 Alibaba의 Qwen3.8-Flash-Next이며, 2026년 8월 26일에 출시되었습니다(Qwen 블로그). 이 모델은 총 파라미터가 125B이고 활성 파라미터가 6B인 MoE(Mixture of Experts) 구조이며, 51B의 n-gram 임베딩 테이블(카드에서는 PLE라고 부름)과 4B MTP 헤드를 가지고 있습니다. 비전 인코더와 하이브리드 어텐션(Gated DeltaNet 및 Qwen Sparse Attention)을 갖추고 있습니다. 네이티브 컨텍스트는 262K 토큰이며, 최대 1M까지 확장 가능합니다.
NVIDIA가 2026년 10월 5일에 nvidia/Qwen3.8-Flash-Next-FP4-Local을 공개했습니다. 이 모델 카드의 가장 흥미로운 부분은 제작 방식입니다. NVIDIA는 일반적인 사후 학습 양자화(post-training quant) 대신, Model Optimizer v0.47.0을 사용하여 양자화 인식 증류(quantization-aware distillation, QAD) 방식을 사용했습니다. BF16 모델이 교사(teacher) 역할을 하며, 저정밀도 가중치들은 이 교사의 토큰 확률 및 은닉 상태를 일치시키도록 훈련됩니다. 심지어 끝 생각(end-of-thinking)과 끝 응답(end-of-response) 행동에 대한 별도의 손실 함수까지 존재하는데, 이는 카드가 교사가 계속 추론하고, 사고를 마무리하며, 응답을 중단하는 결정에 초점을 맞춘다고 설명합니다. 제게는 이것이 양자화 모델의 영원히 생각하거나 절대 멈추지 않는 습관에 대한 직접적인 수정처럼 보입니다. 훈련 예산은 3 에포크(epochs) 동안 5억 토큰(tokens)으로, 2,500개의 트렁크 업데이트와 n-gram 테이블도 함께 훈련하는 1,500개의 공동 정제(joint-refinement) 업데이트로 구성되었습니다.
모든 것이 FP4로 끝나는 것은 아닙니다:
| 컴포넌트 | 정밀도 |
|---|---|
| 디코더 라우팅 전문가 (Decoder routed experts) | NVFP4 |
| ... |
따라서 어텐션(attention)은 8비트로 유지되고, 전문가들이 FP4 절감 효과를 담당합니다. 이는 합리적인 분배인데, 왜냐하면 라우팅된 전문가들에서 바이트가 많이 사용되기 때문입니다.
VRAM에서 FP4가 BF16 및 GGUF 대비 얼마나 절약되는가
게시된 크기이며, 저의 측정치가 아닙니다.
| 빌드 | 크기 | 출처 |
|---|---|---|
| BF16 (원본) | 355 GB | Unsloth docs |
| ... |
한 가지 알아둘 점: 96 GiB는 약 103 GB입니다. 이는 NVIDIA 빌드를 IQ4_XS와 UD-Q4_K_XL 사이에 위치시키며,
NVIDIA가 보고하는 정확도
| 정밀도 | GPQA Diamond | ToolEvalBench |
|---|---|---|
| BF16 | 92.2% | 89.4% |
| FP4-Local | 91.5% | 88.7% |
두 경우 모두 0.7 포인트가 하락했습니다. 저는 이것을 아직 손실이 없다고 부르지 않을 것입니다.
GPQA Diamond는 198개의 질문을 가지고 있으므로, 0.7 포인트는 대략 1.4개 질문에 해당합니다. 이는 단일 샘플링 실행의 노이즈 범위 내에 있으며, 양방향으로 해석될 수 있습니다: 손실은 작지만, 벤치마크가 그것이 작다는 것을 증명할 수는 없습니다.
NVIDIA의 BF16 기준값은 92.2이지만, Qwen 자체 카드는 동일 모델에 대해 91.7을 보고합니다. 이는 아마도 다른 하네스나 설정을 사용했기 때문일 것입니다. FP4를 Qwen의 수치와 비교하지 말고, NVIDIA의 BF16 수치와 비교해야 합니다. 그렇지 않으면 양자화가 단지 0.2 포인트만 손실되었다고 결론 내릴 것입니다.
그리고 비전이 있습니다. 이 카드는 이미지 및 비디오 입력을 나열하고, 비전 MLP를 NVFP4로 양자화한 다음, 어떠한 비전 벤치마크도 발표하지 않았습니다. 증류 데이터는 텍스트만입니다. 만약 당신이 이미지 입력을 위해 이 빌드를 선택했다면, 당신이 평가자가 된 것입니다.
비교를 위해 Unsloth는 자체 양자화에 대한 KL divergence를 발표합니다: UD-Q4_K_XL은 평균 KLD가 0.046893이고 BF16 대비 top-1 일치도가 92.255%입니다. 이것은 NVIDIA의 메트릭과 다른 것이므로, 발표된 수치만으로는 어느 쪽도 승자를 선언할 수 없습니다.
FP4를 지원하는 GPU와 런타임
Blackwell에 vLLM을 더하고, 커뮤니티 컨테이너에서만 가능합니다.
- 런타임: vLLM만. 이 카드는 NVFP4 스케일 팩터가
반면, 원본 Qwen 가중치(weights)는 vLLM, SGLang, Transformers and TokenSpeed에서 실행되며, SGLang은 day-0 지원을 제공했습니다.
NVIDIA의 빌드 역시 유일한 NVFP4 체크포인트는 아닙니다. LMSYS 게시물은 RadixArk/Qwen3.8-Flash-Next-NVFP4를 가리키는데, 이는 LMSYS가 모델과 같은 날 이용 가능했다고 밝힌 SGLang 체크포인트입니다. 이 체크포인트는 일반적인 사후 학습 양자화(post-training quant)이며, 전문가 라우팅만 사용하고 128개의 CNN/DailyMail 아티클을 512 토큰으로 자른 데이터로 보정되었고, GB300과 B300에서 검증되었습니다. LMSYS에 따르면 이는 배치 크기 1, TP4를 사용한 MTP(Multi-Token Prediction) 환경에서 B200에서 초당 540 토큰을 보고합니다. 이것은 데이터센터 하드웨어이지만, NVIDIA의 QAD 실행이 경쟁하는 것을 보여줍니다: 한쪽에서는 128개의 짧은 보정 샘플을, 다른 쪽에서는 5억 개의 증류(distillation) 토큰을 사용합니다.
실행 명령어: RTX PRO 6000 Blackwell
이는 카드에서 복사된 간소화된 원라인 명령어입니다:
docker run -d --name qwen38-tp1 --init --gpus "device=0" \
--restart on-failure --network host --ipc host --shm-size 32g --stop-timeout 30 \
--ulimit memlock=-1 --ulimit stack=67108864:67108864 \
...
카드에 있는 상세 경로는 원라인을 사용하더라도 읽어야 합니다. 왜냐하면 이 경로가 프로파일이 활성화하는 내용(quantization modelopt_mixed, kv-cache-dtype fp8, max-model-len 262144, max-num-seqs 16, gpu-memory-utilization 0.975)과 MTP 추측 디코딩(speculative decoding)의 "num_speculative_tokens":3을 보여주기 때문입니다. 메모리 활용률 0.975는 데스크톱에 거의 남지 않으므로, 헤드리스 박스나 디스플레이용 보조 GPU를 계획해야 합니다.
실행 명령어: DGX Spark
컨테이너를 시작합니다 (먼저 호스트에서 HF_TOKEN을 설정하세요):
mkdir -p $HOME/.cache/huggingface $HOME/.cache/vllm $HOME/.cache/flashinfer $HOME/.triton $HOME/.cache/b12x
docker run --rm -it \
...
내부적으로 카드는 14개의 변수( VLLM_PLE_TABLE_MEMORY="disk" 및 CUTE_DSL_ARCH="sm_121a" 포함)를 내보낸 다음, --load-format b12x, --max-num-seqs 8, --gpu-memory-utilization 0.8 및 4개의 추측 토큰(speculative tokens)을 사용하는 MTP로 vllm serve nvidia/Qwen3.8-Flash-Next-FP4-Local를 실행합니다. 이 블록 전체를 복사하여 붙여넣는 것이 직접 입력하는 것보다 좋습니다.
두 설정 모두 --reasoning-parser qwen3 및 --tool-call-parser qwen3_xml을 사용하므로, 포트 8000의 OpenAI 호환 API를 통해 도구 호출(tool calling)이 작동합니다. Qwen은 사고 모드(thinking mode)에 temperature=1.0, top_p=0.95, top_k=20을 권장합니다.
Blackwell가 아닌 경우의 더 저렴한 대안
GGUF와 llama.cpp. Unsloth의 실행 명령어:
unsloth run --model unsloth/Qwen3.8-Flash-Next-GGUF:UD-Q4_K_XL
Unsloth speed thread의 사람들은 Blackwell 워크스테이션을 사용하고 있지 않습니다. 한 사람은 RTX 3090에 128 GB DDR4를 사용하여 Q4_K_XL에서 19 t/s 디코드를 보고했습니다. 다른 사람은 Metal 최적화가 적용된 llama.cpp 브랜치를 사용하여 M1 Ultra 128GB에서 IQ4_NL로 깊이(depth) 0일 때 39.48 t/s를 얻었습니다. RTX 6000 PRO에서는 한 사용자가 Q4_K_XL에서 59.70 t/s TG를 보고했고, Unsloth의 문서는 양자화(quant)를 명시하지 않은 채 100 t/s 기준 대비 MTP로 RTX 6000 PRO 하나에서 170 t/s를 인용합니다.
NVIDIA는 FP4 빌드에 대한 처리량 수치(throughput numbers)를 전혀 발표하지 않았는데, 이는 로컬 추론을 목표로 하는 출시물에게는 이상한 누락입니다.
나의 의견
RTX PRO 6000 또는 DGX Spark를 소유하고 있다면 NVIDIA 빌드를 시도해 보세요. QAD는 실제 방법이며, 0.7 포인트 하락은 4비트급 양자화가 제공하는 것과 거의 같습니다. 다른 사람들은 이미 가지고 있는 하드웨어에서 주류(mainline) llama.cpp로 실행되며 단 하나의 내보내진 환경 변수도 필요 없는 GGUF를 사용하는 것이 좋습니다. 업스트림 vLLM이 스케일 포맷을 병합하면 다시 확인해 보세요. 왜냐하면 55개 변수로 구성된 설정은 제가 유지하고 싶지 않은 부분이기 때문입니다.
그래서, 벤더가 제공하는 FP4 양자화(quant)를 unsloth나 bartowski의 커뮤니티 GGUF와 비교하여 신뢰하시나요? 누군가 동일한 프롬프트에 대해 FP4-Local과 Q4_K_XL을 나란히 실행해보고 품질 차이를 확인한 적이 있습니까? 특히 이미지 입력에 대한 수치를 게시해 주세요. NVIDIA는 그러지 않았으니까요.
참고 자료 (Sources)
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기