DeepSeek 开放 V4 多模态权重,公开视觉链路:图片经 ViT 和 Aligner 压缩后,以特殊 Token 直接参与 Attention、MoE 与 Agent 推理。开源不仅展示视觉如何融入长上下文主干,也暴露了多模态 Agent 的重复计算成本。
DeepSeek 在 8 月 21 日将 V4 接入 API,外界当时只看到它能处理图片,并在多模态 Agent 基准上表现提升。随着权重和参考推理代码公开,V4 的视觉链路第一次可以拆开研究:图片不只被编码,还直接参与 Attention、MoE 与 Agent 推理。



视觉前端是一套 32 层 ViT,隐藏维度 1024,patch size 14。图片先被切成 14×14 的 patch,每个映射成 1024 维向量,位置编码采用二维 RoPE,能保留网页或 GUI 的空间关系。
V4 主干隐藏维度是 4096,视觉侧只有 1024,patch 数量也偏大。DeepSeek 在两者之间放了 Aligner:把相邻 3×3 视觉特征合并,9 个 1024 维向量拼成 9216 维,再经 9216→4096→4096 映射进入主干。相当于把视觉网格缩小到九分之一,同时完成维度对齐。

配置里的 vision_max_n_token=384 指的是进入 V4 序列后的单图预算,并非 ViT 只看 384 个 patch。前端处理更多 patch,经 3×3 Aligner 后压成几百个语言侧视觉 Token。对 Agent 而言,这直接决定每次观察环境要新增多少上下文。

另一个易忽略的细节:视觉 Token 不按普通逐行顺序进入。build_image_block() 会加入特殊标记,把相邻两行交织,并通过 COMPRESS_PAD_TO=4 让序列与 4 Token 边界对齐。V4 主干有大量 compress_ratio=4 的压缩层,两者粒度一致,说明视觉序列刻意配合了后端的压缩设计。


所以从像素到 V4 的完整路径是:高密度二维表示 → 3×3 空间压缩 → 投影到 4096 维 → 重排 Token 序列 → 进入主干。

进入主干后,视觉 Token 不会完全按文字处理。V4 先正常生成文本 embedding,再用 merge_image_embeddings() 把视觉 embedding 写到图片占位区域。文字和图片进入同一个 4096 维空间,但图片 Token 被放在词表之外(通过 input_ids >= vocab_size 判断),保留了视觉身份。


保留标记是因为 Attention 和 MoE 需要区别处理。V4 的局部滑窗只有 128 Token,一张图可占约 384 Token,若按普通滑窗,同一张截图可能被切段。get_image_visible() 会扩展图片内部的可见范围,并要求整段图片在 prefill 阶段一次写入。

MoE 方面,V4 有 256 个路由专家,每个 Token 激活 6 个。视觉 Router 增加了独立的 bias_vl,用它影响 top-k 专家选择,实际路由权重仍来自原始 scores。前面 Hash-MoE 层则让视觉 Token 跳过基于 Token ID 的映射,根据隐藏状态重新选专家。

这种设计比把视觉彻底变成伪文字更灵活:语言主干积累的能力可以复用,视觉 Token 又不必服从语言序列的全部假设。开放权重后,bias_vl 还提供了研究入口——统计不同图像激活哪些专家,观察视觉与文本的专家分布在深层是否融合。

DeepSeek 给 V4-Flash-Vision-Exp 加视觉,重点不是图片描述,而是 Multimodal Agent。Responses API 支持图文输入和工具使用,模型可以读取环境、生成行动、工具执行、再读取新状态,形成 Agent 循环。
免费获取企业 AI 成熟度诊断报告,发现转型机会

聊天往往一次 prefill 后连续 decode,视觉 Agent 则每观察一次环境就要重新跑 ViT、Aligner 和 prefill。一个动作可能只生成几个 Token,前面却要处理一整张截图。任务越长,视觉编码和重复 prefill 的占比越高。

V4 支持百万级上下文,但容量大不等于计算可忽略。连续几十轮观察后,历史中同时存在指令、工具结果、多轮视觉状态。更麻烦的是重复计算:相邻截图往往只有局部变化,目前仍会整张图重新送进 ViT。

后续优化空间包括:缓存 ViT 中间结果,只更新变化的 patch;视觉差分,判断前后帧哪些区域变化;混合环境表示,用 DOM/Accessibility Tree 处理文本,视觉模型处理复杂布局。Agent 看图的核心压力在频率,每轮观察必须足够便宜。

MoE 还带来部署变量:bias_vl 可能导致不同视觉输入形成不同专家负载。大量 GUI Agent 请求并发时,部分专家可能过载,需要真实推理数据验证。

因此,V4-Flash-Vision-Exp 后续的难点,很可能从“识别”转向“视觉状态管理”:如何减少重复编码、控制历史截图进入 KV Cache 的方式、让旧画面退出活跃上下文,以及分配视觉与结构化信息之间的计算资源。
开放权重后可以看到,DeepSeek 不只是给语言模型增加图片输入,而是在扩展“上下文”的定义。过去上下文主要来自文字;现在网页当前什么样、软件执行后界面发生了什么变化、图表结构如何,都可以直接成为 V4 序列状态。

视觉模块承担的是环境接口。图片被压进隐藏空间后,DFlash 需要理解图片边界,MoE 需要识别视觉 Token,长上下文需要容纳连续环境变化。当这条链路接上 Agent,模型就形成了“读取环境—行动—改变环境—再推理”的完整循环。
过去评价多模态模型,常问“能不能认出这幅图里的梗”。DeepSeek V4 把及格线拉高了:当图片不只是被编码的死物,而是直接参与 Attention 滑窗、MoE 路由和长上下文推理闭环时,视觉就变成了大模型理解世界的“原生上下文”。未来的竞争,能看懂图片只是入场券;模型还要用足够低的计算开销持续看下去。
关注公众号

扫码关注,获取最新 AI 资讯
3 步完成企业诊断,获取专属转型建议
已有 200+ 企业完成诊断