InternVL3_5-8B-Flash效率核心揭秘:Visual Resolution Router如何实现动态视觉Token压缩
【免费下载链接】InternVL3_5-8B-Flash项目地址https://ai.gitcode.com/OpenGVLab/InternVL3_5-8B-Flash点击查看免费下载InternVL3_5-8B-Flash 是 InternVL3.5 系列的多模态大模型MLLM高效版本其核心创新是Visual Resolution RouterViR视觉分辨率路由器它能为图片中的每个 patch 动态选择视觉 Token 的压缩率在不损失性能的前提下减少 50% 的视觉 Token从而显著降低推理成本与显存占用。一、为什么Flash版更快视觉Token压缩难题 多模态大模型的推理开销中视觉 Token 是大头。一张图被切成多个 448×448 的 patchtile每个 patch 经过视觉编码器后会变成1024 个视觉 Token再由语言模型逐个处理——图片越多、分辨率越高Token 数呈线性膨胀推理速度和显存占用随之暴涨。InternVL3.5 原有的做法是一刀切压缩每个 patch1024 个视觉Token → pixel shuffle 压缩 → 256 个视觉Token → 送入 LLM而 Flash 版引入 ViR把固定压缩率升级为逐 patch 动态压缩率版本每个 patch 的视觉Token数说明InternVL3.5固定 256统一 4 倍压缩InternVL3.5-Flash256 或 64由 ViR 动态决定语义简单的区域激进压缩到 1/16官方数据显示Flash 版在视觉 Token 数量减少 50% 的同时保留了接近 100% 的原始性能整个 InternVL3.5 系列还实现了 4.05 倍推理加速。二、三级压缩流水线1024 → 256 → 64 Flash 版的视觉处理链路可以拆成三步源码入口在 extract_feature_flashViT 编码InternViT约 0.3B 参数把每个 448×448 的 patch 编码为 1024 个特征向量32×32 网格双通道压缩同一份 1024 Token 特征并行走两条pixel shuffle路径通道 A4 倍压缩 →256 Token经mlp1投影通道 B16 倍压缩 →64 Token经mlp2投影路由选择一个轻量门控网络CrossAttentionPoolingGating对每个 patch 打分决定该 patch 最终用哪条通道的结果。 关键设计两条通道的压缩结果一次性都算出来torch.no_grad()内完成路由决策几乎是零成本的选择而非重算这也是 Flash 版能做到极低额外开销的原因。pixel shuffle的具体实现见 pixel_shuffle它把相邻 2×2 个 Token 拼成一个更浓缩的 Token4 倍压缩或 4×4 拼接16 倍压缩空间分辨率降低、通道维度提高。三、双阈值路由策略ViR 如何做决策 ⚖️在 generate_flash 中路由判定只有两行核心逻辑relative_threshold_value torch.quantile(gate_result[:, 0], self.flash_relative_threshold) gate_result (gate_result[:, 0] relative_threshold_value) (gate_result[:, 0] self.flash_absolute_threshold)这背后是双阈值机制参数定义在 config.json参数默认值作用flash_modetrue启用 Flash 动态压缩flash_relative_threshold0.1相对阈值取门控得分的 10% 分位数作为水位线保证约 90% 的 patch 有资格被压缩flash_absolute_threshold0.5绝对阈值门控得分须 ≥0.5即路由器确信该 patch 压缩安全两个条件同时满足时该 patch 走 64 Token 通道否则保守地走 256 Token 通道。相对阈值控制压缩预算——无论图片内容如何都保证整体压缩率稳定在约 50%绝对阈值控制压缩质量——路由器拿不准的复杂 patch 一律保留高分辨率。决策生效后compress_visual_tokens_in_sentence 会把被压缩 patch 的 256 个上下文 Token 裁剪为 64 个并同步修正input_ids与位置索引使语言模型看到的序列变短了但完全对齐。四、ViCO 两阶段训练让压缩不掉分成为可能 ViR 不是拍脑袋选出来的而是经过Visual Consistency LearningViCO专门训练见 README 训练章节包含两个阶段1. 一致性训练Consistency Training用一个冻结的 InternVL3.5 参考模型作为标准答案让当前模型学习无论 patch 用 256 还是 64 Token 表示输出分布都要尽量接近参考模型最小化 KL 散度。这保证压缩后的视觉表示语义不失真。2. 路由训练Router Training主模型ViT、MLP、LLM全部冻结只训练路由器计算每个 patch 在64 Token与256 Token两种表示下的损失比r_i若r_i τ压缩影响可忽略→ 标签为可压缩否则标签为保留高分辨率用标准交叉熵损失训练这个二分类器。 训练目标可以通俗理解为教路由器学会识别哪些图像区域随便压都不掉分如纯色背景、天空哪些区域压了就会瞎如文字、小目标。五、关键文件索引快速定位 ViR 实现 ️文件内容modeling_internvl_chat.pyCrossAttentionPooling、Gating路由器与flash_mode配置初始化modeling_internvl_chat.pyextract_feature_flash双通道压缩特征提取modeling_internvl_chat.pygenerate_flash路由判定与 Token 裁剪modeling_internvl_chat.pypixel_shuffle空间压缩算子configuration_internvl_chat.py模型超参downsample_ratio0.5、max_dynamic_patch12等config.jsonFlash 三参数flash_mode/ 相对阈值 / 绝对阈值README.mdViR 官方说明与 50% Token 削减数据模型底座为Qwen3-8B 语言模型 InternViT-300M 视觉编码器见 config.json总参数约 8.5B单卡 A100 即可部署是边缘端和成本敏感场景的理想选择。六、快速上手三步加载 Flash 模型 使用transformers 4.52.1加载权重文件即本仓库中的 4 个model-0000x-of-00004.safetensorsimport torch from transformers import AutoModel model AutoModel.from_pretrained( OpenGVLab/InternVL3_5-8B-Flash, torch_dtypetorch.bfloat16, low_cpu_mem_usageTrue, use_flash_attnTrue, trust_remote_codeTrue, device_mapauto, ).eval()flash_mode: true已写死在 config.json 中加载即生效无需额外开关。调用model.chat(tokenizer, pixel_values, question, ...)时会自动走 generate 的分发逻辑进入 Flash 推理路径。部署方面官方推荐 vLLM 或 LMDeploy配合DvDDecoupled Vision-Language Deployment视觉-语言解耦部署策略——把 ViT MLP ViR 放在视觉服务、LLM 单独放在语言服务BF16 特征经 TCP/RDMA 单向传输、三级流水线异步执行——可进一步把多模态 prefill 性能拉近纯语言模型水平详见 README 部署章节。七、总结值得借鉴的三个设计 预算-质量双阈值相对分位数锁定整体压缩率绝对分数守住下限简单却非常工程化先算后选双通道特征并行生成路由决策近乎零成本解耦训练ViCO主模型冻结、只训路由器用 KL 一致性 损失比构造标签把什么时候可以压缩这件事交给了数据。对于需要在有限算力下跑高质量图文理解OCR、图表、文档、多模态推理的场景InternVL3_5-8B-Flash 提供了一个性能几乎不掉、Token 直接减半的高效多模态方案。赞分享【免费下载链接】InternVL3_5-8B-Flash项目地址https://ai.gitcode.com/OpenGVLab/InternVL3_5-8B-Flash点击查看免费下载相关推荐Reactive-Resume 简历构建器从 Docker 自托管部署到首次 PDF 导出的 5 步实操手册附避坑清单Reactive Resume 简历构建器从 Docker 自托管部署到首次 PDF 导出的 5 步实操手册附避坑清单 Reactive Resume 是前端后端AI 应用MCP 服务dsh-pluginpinia-plugin-persistedstate 核心原理解析深入理解持久化机制pinia plugin persistedstate 核心原理解析深入理解持久化机制 pinia plugin persistedstate 是一个功能强大游戏开发图形学3D渲染InternVL3_5-8B-Flash训练管线全揭秘Cascade RL、MPO/GSPO与ViCO一致性学习InternVL3_5 8B Flash训练管线全揭秘Cascade RL、MPO/GSPO与ViCO一致性学习 InternVL3_5 8B Flash 是创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考