DeepSeek V4 開放權重與參考推理程式碼後,其視覺處理鏈路首次完整公開。此前,V4 已於 8 月 21 日接入 API,支援圖片輸入,並在 ApexBench、Agents' Last Exam、Chartography 等多模態 Agent 基準上整體提升。如今,隨著權重公開,外界得以拆解其視覺模組的詳細實現:圖片並非簡單編碼後附加,而是被直接融入 V4 原有的 Token 序列,參與長上下文 Attention、MoE 路由及後續 Agent 推理。
視覺前端採用 32 層 ViT,隱藏維度 1024,16 個 Attention Head,patch size 為 14。圖片先被切分為 14×14 的 patch,每個 patch 對映為 1024 維向量,並使用二維 RoPE 進行位置編碼,以保留網頁、GUI 等介面中的空間關係。ViT 之後,一個 Aligner 模組將相鄰 3×3 的視覺特徵合併,形成 9216 維輸入,再經兩層對映(9216→4096→4096)進入 V4 主幹(隱藏維度 4096)。這一設計將視覺網格規模壓縮至約九分之一,同時保留前端較高的觀察密度。配置中的 vision_max_n_token = 384 表示進入 V4 序列後的單圖 Token 預算,而非 ViT 處理的 patch 數量。
視覺 Token 進入序列時,並非按普通逐行順序排列。程式碼通過 build_image_block() 新增 IMAGE_START、換行、Padding 和 IMAGE_END,並將相鄰兩行視覺網格交織,同時使用 COMPRESS_PAD_TO = 4 使視覺序列與 4 Token 邊界對齊,與 V4 主幹中 compress_ratio = 4 的壓縮層粒度一致。這顯示視覺序列的組織方式考慮了後續壓縮主幹的處理需求。
進入主幹後,視覺 Token 並未完全按文書處理。V4 先正常生成文本 embedding,再通過 merge_image_embeddings() 將視覺 embedding 寫入圖片佔位區域。文字與圖片在隱藏層進入同一 4096 維空間,但視覺 Token 保留了特殊身份——影像特殊 Token 位於詞表(大小 129280)之外,主幹可通過檢查 input_ids 判斷當前位置來自圖片。
在 Attention 層面,V4 的普通區域性滑窗僅 128 Token,而一張圖片可佔近 384 個語言側 Token。為保持圖片內部遠距離區域的聯絡,程式碼加入 get_image_visible(),識別 IMAGE_START 與 IMAGE_END,擴充套件圖片內部的可見範圍,並要求整段圖片在 prefill 階段一次寫入。
MoE 方面,V4 擁有 256 個路由專家,每個 Token 啟用 6 個專家。視覺 Router 增加了獨立的 bias_vl,用於調整視覺 Token 的專家選擇順序,而路由權重仍來自原始 scores。Hash-MoE 層對視覺 Token 跳過基於 Token ID 的對映,直接根據隱藏狀態重新選擇專家。這種設計使視覺與文字共享主幹和專家池,但允許視覺走不同的可見關係和專家分配路徑。
官方釋出時強調 Multimodal Agent,Responses API 支援圖文輸入和工具使用。瀏覽器 Agent 是典型場景:模型讀取網頁截圖,執行點選等操作,再讀取新截圖,迴圈往復。每輪觀察都需要重新執行圖片縮放、patch 化、ViT、Aligner 及 prefill,導致任務執行時間越長,視覺編碼和反覆 prefill 的佔比越高。V4 支援超過 100 萬 Token 上下文,可容納長任務軌跡,但連續幾十輪觀察後,歷史中會積累大量視覺 Token,帶來重複計算問題——相鄰截圖可能僅區域性變化,卻仍被整體重新編碼。
後續最佳化方向可能包括快取 ViT 中間結果、視覺差分(僅更新變化區域)、混合環境表示(DOM 或 Accessibility Tree 與視覺模型結合)等。MoE 部署也面臨挑戰:視覺 Token 的獨立 bias_vl 可能導致不同視覺輸入形成不同專家負載,需通過真實推理資料評估。
DeepSeek V4-Flash-Vision-Exp 的開放,將視覺從“編碼死物”轉變為參與 Attention、MoE 與長上下文推理的“原生上下文”。這重新定義了上下文——不僅包含文字,還包括網頁狀態、介面變化和圖表結構。當視覺模組成為環境介面,模型得以形成“讀取環境-產生行動-工具改變環境-繼續推理”的完整迴圈。開放權重後,研究者可從視覺壓縮、Attention 可見範圍、專家路由和多輪推理效率等層面深入分析。行業競爭的門檻已從“能否看懂圖片”提升至“能否以足夠低的計算開銷持續理解環境”,這將成為視覺 Agent 底座成熟度的關鍵。