DeepSeek-V4-Flash-0731 在 GB10 上的取樣/投機解碼實測

in , ,
閱讀時間: 8 分鐘

延續上一篇的實測,我們來看看 DeepSeek-V4-Flash-0731 ,它是 V4-Flash 的正式版,模型結構與 V4-Flash-DSpark 相同,出廠就附帶投機解碼模組,284B 總參數、每 token 活躍 13B 的稀疏 MoE,原生 1M context,並支援可調整的推理深度。官方公布的代理向數字不錯,Terminal Bench 2.1 拿到 82.7,Toolathlon Verified 70.3,DeepSWE 54.4,和 Qwen3.8-27B 的 73.0 相比,差距是拉開一截的。由於這是,尚待第三方驗證,而本文主要討論是下面這兩件會影響選型的事。

DeepSeek-V4-Flash-0731 它適合的任務其實很明確,凡是前面推薦給 Qwen3.8-27B 的長時程代理工作,只要你公司或家裡的硬體放得下,都應該優先考慮它,包括長時程程式碼代理、整個 repo 的重構、跨多工具的自動化流程等等,都適合使用它來讓資料不離境,以及省雲端 AI API 的 token,關鍵任務輸出才給雲端,其他則在這個地端就可執行。

其次,它的混合注意力架構本來就是為了壓低超長 context 的推論成本而設計,1M context 加上 13B 活躍參數,prefill 與解碼速度都會比密集 27B 舒服,這對系統提示動輒上萬 token 的代理框架是實質優勢。

環境

項目值
機器NVIDIA GB10(DGX Spark),128 GiB 統一記憶體,driver 580.173.02 / CUDA 13.0
模型檔/var/lib/ds4-models/DeepSeek-V4-Flash-0731-IQ2XXS-w2Q2K-AProjQ8-SExpQ8-OutQ8-imatrix.gguf
檔案大小86,720,111,520 B = 80.76 GiB
DSpark 支援檔DeepSeek-V4-Flash-DSpark-support-0731.gguf,5,989,114,272 B = 5.58 GiB,stages=3 block=5 markov_rank=256
伺服器~/src/ds4/ds4-server,git 84cc882,2026-08-10 自建
常態旗標--ctx 100000 --batched-session 2 --kv-cache-continued-interval-tokens 2048 --cuda --warm-weights
記憶體規劃權重 80.76 + KV 1.64 + buffers 0.76 = 83.16 GiB(ctx=100000、兩個常駐 session 另需 4.81 GiB context buffer)

四個伺服器生命週期:

代號設定日誌
S1production 預設(batched 2、無 DSpark)~/ds4-server.log
S2無 batched、無 DSpark(對照組)raw/s2.log
S3無 batched、DSpark 開、DS4_DSPARK_STATS=1 DS4_DSPARK_SPEC_LOG=1raw/s3.log
S4batched 2、DSpark 開、同上儀表raw/s4.log

這次刊出前補測,其中看ds4-server --help thinking 到現在還寫著:In thinking mode, client sampling knobs are ignored like the official API.

那行說明是舊的,程式碼(ds4_server.c:11646-11656)只對客戶端沒送的旋鈕套用固定值,明送的 temperature / top_p / top_k / min_p 一律優先,README 也是這樣寫的。更進一步,request_init()(ds4_server.c:813-824)本來就對每一個請求先填上temperature 1.0、top_p 1.0、min_p 0.05,而思考模式那段填的是同樣這四個值,所以思考模式對取樣什麼都沒改。

因此實測(同一個 prompt、400 token、比對輸出的 sha256):

送出的參數思考三個 seed 的輸出
temperature 1.0, top_p 0.95(官方代理評測設定)開三份都不同
同上,但 seed 固定不變開兩次逐位元相同
temperature 0開三份逐位元相同
完全不送取樣參數開三份都不同
temperature 1.0, top_p 0.95關三份都不同(對照)
temperature 0關三份逐位元相同(對照)

固定 seed 重跑會拿到一模一樣的輸出,換 seed 才會分歧,分歧來自取樣器。而且思考模式在 temperature 1.0 下產出的東西,跟它自己在 temperature 0 下產出的東西根本不一樣。

全伺服器唯一真的強制貪婪的地方,是 DSML 工具呼叫的結構性 token(ds4_server.c:11657-11659),而且字串參數的內容還被排除在外。這一點也看得出來,同一個工具請求換三個 seed,函式名稱與參數骨架逐位元相同,body 欄位的內容每次都不一樣。

DSpark 在代理工作負載下保不住加速

把 DSpark 真的掛上去(--mtp 支援檔 5.58 GB --dspark),開伺服器自己的DS4_DSPARK_SPEC_LOG 逐輪計數。每組 1 暖機 + 2 量測,速率取伺服器自算的解碼速率(不含 prefill):

條件無投機DSpark倍率走投機路徑的 token
思考 + temperature 017.8819.001.06×98.8%
思考 + temperature 1.0 / top_p 0.9517.6917.711.00×0%
思考 + 不送取樣參數(代理框架的實際行為)17.8017.811.00×0%
思考 + 官方取樣 + 工具17.7618.581.05×23.8%
思考 + temperature 0 + 工具17.8420.561.15×100%

這樣的測試結果顯示 :

第一,取樣一開,DSpark 一次都不提案。 中間兩列的 spec enter 是 0 行,不是「有提案但接受率低」。這兩件事在報告裡必須分開,因為它們的解法完全不同。對照組(不掛 DSpark)在貪婪 17.88 與官方取樣 17.69 之間幾乎沒有差別,所以差距全部來自投機失效,不是取樣本身的成本。

第二,就算全程貪婪,加速也只有 1.06×。 關機時的彙總統計是accept_rate=82.20% avg_accept=0.683,接受率看起來漂亮,但 no_draft=2135、scheduler_skips=1694,大部分輪次根本沒有草稿可用。 24.2 秒對上 628 秒的目標模型時間,約 3.8%。

第三,production 設定直接把投機關掉。s->batched_mode = (batched_sessions > 0),而投機路徑要求 !batched_mode(ds4_server.c:11669)。我們常態跑 --batched-session 2 讓排程任務與互動代理不互相卡住;加上這個旗標之後,即使 temperature 0、即使 DSpark 已載入,spec enter 還是 0 行,速度回到 17.66。
代理框架要並行就得開 batched session,一開就沒有投機,這道門比取樣還要前面。

代理情境(帶工具、官方取樣)確實還撿得到 1.05×,來自工具呼叫骨架被強制貪婪的那一小段,佔了那一輪 23.8% 的 token。但那是單輪、單工具、214 token 的形狀撐出來的比例,真實代理回合的思考與散文段落應該多半遠長於此,所以這個比例只會更低。

結論因此就會改成,DeepSeek V4 Flash 0731 的處境跟 Muse-Glimmer 相同,不是相反。投機解碼的加速在真實取樣設定下留不下來,這條規律到目前為止沒有例外。

單台 GB10 跑得動 DeepSeek V4 Flash 0731,但只能 2-bit 量化

這台 GB10 跑的 0731,用的是 IQ2_XXS 混合量化,檔案 80.76 GiB,加上 KV 1.64 GiB 與 buffer 0.76 GiB,規劃 83.16 GiB,
而且它就是我們 dsh 代理框架的後端,已經穩定服務好幾天。這個版本的模型呢,末六層 experts 改用 Q4_K 的版本約 97.6 GB,對 128 GiB 的機器沒有餘裕。所以正確的說法是單台 128 GB 的 GB10 放不進 Q4 級別的量化,只能跑 2-bit 的混合量化,不是放不進主流量化版本,這也是它和上一篇文章我們提到前三款地端模型真正的差別,這三款是一台就跑得動,且不必在量化上讓步的東西。

那 2-bit 的品質到底會不會降低很多呢?有讀者寫信來關切這件事情,我們用專案自帶的評分題庫抽測 24 題(GPQA Diamond、SuperGPQA、AIME 2025 輪替),思考模式開啟,取樣用同一組官方設定(temperature 1.0、top_p 0.95),每題回覆上限 4096 token來測試,結果是 21/24 通過,AIME 7/8、GPQA Diamond 7/8、SuperGPQA 7/8,跑了 31 分鐘。三題失敗裡有兩題是撞到 4096 token 上限被截斷,只有一題是真的答錯,以下是實測結果。

IQ2_XXS 量化的品質抽測

ds4-eval 自帶題庫(GPQA Diamond / SuperGPQA / AIME 2025 / COMPSEC,三者輪替),取前 24 題(伺服器須停機,CLI 自己載 80.76 GiB 權重):

./ds4-eval -m /var/lib/ds4-models/DeepSeek-V4-Flash-0731-IQ2XXS-...gguf --cuda \
  --plain --questions 24 --tokens 4096 --think --temp 1.0 --top-p 0.95 --seed 1 \
  --trace raw/eval-iq2xxs-q24.trace

取樣設定是官方代理評測的 1.0 / 0.95,思考模式開啟。

結果:21/24 通過,3 題失敗,執行 31 分鐘。

題庫通過
AIME 20257 / 8
GPQA Diamond(含 1 題 modified)7 / 8
SuperGPQA7 / 8

三題失敗中有兩題是撞到 4096 token 上限被截斷(第 4 題 GPQA Diamond、第 9 題 AIME2025-02,gen 欄都是 4096),只有第 14 題 SuperGPQA 是在 81 個 token 內給出錯誤答案。也就是說 4096 的回覆預算讓分數偏低,不是偏高。24 題在 p≈0.875 下的 95% 信賴區間約 ±13 個百分點。

老實說,這個數字並不能拿來幹嘛,因為是絕對值,並非量化折損的數字。但因為本機沒有同一款模型高位元量化的對照組(Q4 那階 97.6 GB 塞不進來),確實無法說明 Q2 會掉多少品質。上游也明講這個題庫是回歸測試集,不該當成官方 GPQA/SuperGPQA/AIME 分數引用。我們只能說,24 題在這個通過率下的 95% 信賴區間約 ±13 個百分點,確實沒有崩掉,但不適合說掉了幾分,就實務上,這個版本之所以很多社群會採用,應該就是它能打能用吧,輸出品質掉的分數差異可能沒有太大,大家還能接受,畢竟它的智商比上一篇文章提到的這三款模型要強。

地端 AI 選型結論

搭配 Hermes Agent 與 OpenClaw,現階段的答案仍然是 GB10 肯定首選 DeepSeek V4 Flash 0731 的,但理由只剩一個而不是兩個。
能力面它是同價位帶的天花板,代理任務跑錯重來的成本邏輯在它身上同樣成立,2-bit 量化在我們的抽測裡沒有明顯崩壞。
但投機解碼在它身上占便宜這條理由要刪掉,實測下來它跟 Muse-Glimmer 一樣,投機的加速在真實取樣設定下留不住。

唯一的門檻仍然是記憶體,單台 GB10 跑得動 2-bit 的混合量化,跑不動 Q4 那一階。要吃到更好的量化,就是 CyberQ 接下來要做的雙 GB10 vLLM 部署。

這個測試我們重跑的目的,是驗證 DeepSeek-V4-Flash-0731 的思考模式使否會強制忽略取樣參數,讓貪婪路徑意外生效,等於官方附的 DSpark 投機模組在代理工作負載下能保住加速。

結論大致上這段架設與預期的前半段是錯的,後半段幾乎是錯的。 思考模式對取樣參數沒有任何特殊待遇,DSpark 在代理框架的實際請求形狀下一次都不提案,而如果開了 production 設定(--batched-session 2)更是不分溫度、直接把整條投機路徑關掉。