首页 / 资讯详情

DeepSeek V4 多模态开源,我们把它的视觉链路拆了一遍

雷锋网 2026-09-01 10:38 中文

摘要

图片不只被编码,还直接参与 Attention、MoE 与 Agent 推理。 作者丨郑佳美 编辑丨岑 峰 这不是一个全新的模型突然出现。早在 8 月 21 日,DeepSeek 就已经把它接入 API,当时外界只能看到结果:V4 开始能处理图片,而且在 ApexBench、Agents' Last Exam、Chartography 等多模态 Agent 基准上整体提升。现在不一样了。随着权重和参考推理代码公开,V4 的视觉部分第一次可以直接拆开看。Vision Encoder 怎么处理图片,Aligner 怎么把视觉特征压进语言空间,视觉 Token 怎么进入 DFlash,MoE 又怎么给图片选择专家,这些东西都已经暴露出来。拆完代码会发现,DeepSeek 做的并不是简单给 V4 接一个看图模块。图片经过视觉编码以后,会被直接塞进 V4 原有的 Token 序列,继续参与长上下文 Attention、MoE 路由和后面的 Agent 推理。甚至连注意力窗口和专家路由,都专门为视觉 Token 改了规则。所以这次开放权重之后,更值得研究的问题已经从 V4 会不会看图,变成了另一件事:DeepSeek 到底是怎么把视觉塞进一个原本为长上下文和 Agent 设计的 V4 主干里的?01视觉怎样进入 V4先看一张图片怎样变成 V4 序列中的 Token。视觉前端是一套 32 层 ViT,隐藏维度 1024,拥有 16 个 Attention Head,patch size 为 14。图片先经过尺寸调整,再被切成 14 × 14 的 patch,每个 patch 映射成一个 1024 维向量。视觉位置编码使用二维 RoPE。代码会分别建立图像网格的横向和纵向坐标,再将两组位置写入 Attention。对于网页和 GUI,这种设计很关键,因为界面语义大量存在于空间关系里:按钮位于哪个区域,表头和数据怎样对应,弹窗覆盖了什么内容,图例和图表之间是什么位置关系。ViT 在这里负责先把二维结构建出来。问题出现在 ViT 后面。雷峰网V4 主干隐藏维度是 4096,视觉侧只有 1024,而且 ViT 产生的 patch 数量仍然偏大。DeepSeek 在两者中间放了一个 Aligner,同时解决维度转换和 Token 压缩。它会把相邻 3 × 3 个视觉特征放到一起,9 个 1024 维向量合并以后形成 9216 维输入,再经过 9216 → 4096 → 4096 的两层映射进入 V4。打个比方,这个 Aligner就相当于向“老板”V4汇报的秘书,先将老板要处理的文件进行精炼汇总:横向缩小 3 倍,纵向缩小 3 倍,所以进入语言主干的视觉网格规模大致下降到原来的九分之一。这一步非常关键。DeepSeek 没有直接降低 ViT 的观察密度,而是在视觉编码完成以后再压缩序列。前端仍然可以利用较密的 patch 读取页面细节,到了计算量更大的 V4 主干之前,再削减视觉 Token 数。配置里的 vision_max_n_token = 384 也应该放在这里理解。384 指的是进入 V4 序列后的单图预算,并非 ViT 只看 384 个 patch。ViT 前端实际处理的视觉单元更多,经过 3 × 3 Aligner 后,才被压缩成几

阅读原文(雷锋网)→

本站为资讯聚合平台,仅展示标题与摘要,原文版权归原发布方所有;如有侵权请联系我们删除。