DGX Spark에서 공식 Ling-3.0-flash INT4 모델 속도를 20.8에서 38.7 tok/s로 올리는 두 가지 설정
Two flags took the official Ling-3.0-flash INT4 from 20.8 to 38.7 tok/s on one DGX Spark
핵심 요약
공식 Ling-3.0-flash INT4 모델을 DGX Spark에서 최적화하여 추론 속도를 대폭 향상시키는 설정법을 공유함.
- 성능 최적화 — --enforce-eager 옵션 제거 및 MTP spec decode 활성화로 속도 향상
- vLLM 포크 사용 — 올바른 어텐션 경로를 위해 전용 vllm-ling-v3 포크 사용 필수
- 벤치마크 결과 — 커뮤니티 GGUF 모델보다 빠른 38.7 tok/s 달성
- 모델 특성 — INT4는 단기 문맥에서 빠르지만 장기 문맥에서는 Q5 GGUF가 더 안정적임
공식 INT4 모델은 단일 DGX Spark에서 로드됩니다. 기본 설정으로는 속도의 대부분을 낭비하게 되어 20.8 tok/s에 그칩니다. 두 가지 변경 사항을 적용하면 38.7 tok/s까지 올라갑니다.
이 정보가 어디서 나왔는지 간단히 배경을 설명하자면, 저는 inclusionAI에서 Ling 관련 업무를 하고 있으며 이 수치들은 제 것이 아닙니다. sudoingX가 자신의 Spark에서 직접 실행하고 레시피를 공개했습니다. 그의 허락을 받아 여기에 재게시합니다.
--enforce-eager를 제거하여 cudagraphs가 실제로 실행되도록 하세요.
MTP spec decode를 켜세요. 드래프트 레이어는 이미 체크포인트 내에 포함되어 있습니다:
--speculative-config '{"method": "bailing_hybrid_v3_mtp", "num_speculative_tokens": 1}'
이런 식으로 설정하면 공식 INT4 모델은 이 장비에서 대부분이 기본으로 사용하는 커뮤니티 GGUF 모델(35.2 tok/s)을 넘어 38.7 tok/s를 기록하며, 같은 장비에서 256K 컨텍스트 윈도우 전체를 처리할 수 있습니다.
속도보다 경고 사항이 더 중요합니다. 기본 vLLM에는 V3 지원이 없습니다. 잘못된 어텐션 경로로 실행되는데, 에러는 나지 않지만 문제가 생기기 전까지는 괜찮아 보이는 유창한 출력을 내놓습니다. 반드시 포크 버전인 inclusionAI/vllm-ling-v3의 ling_3_0 브랜치를 사용해야 합니다.
그의 레포에는 서빙 스크립트, 콜드 스타트 샤드 프리즈를 위한 워치독, 벤치마크 방법, 그리고 모든 내용을 기록한 FINDINGS.md가 있습니다:
https://github.com/sudoingX/dgx-spark-ling
그의 테스트에서 나온 한 가지 주의점: INT4는 단거리 주자로서 약 30K 컨텍스트 미만에서는 가장 빠르지만, 커뮤니티 Q5 GGUF는 장기 컨텍스트 마라톤에서 더 안정적으로 성능이 저하됩니다. 만약 Spark를 가지고 있는데 결과가 그와 다르다면, 그냥 두지 말고 여기에 공유해 주셨으면 합니다.


