InternVL3_5-14B如何看懂超高分辨率图片?动态分块(Dynamic Resolution)机制详解
InternVL3_5-14B如何看懂超高分辨率图片动态分块Dynamic Resolution机制详解【免费下载链接】InternVL3_5-14B项目地址: https://ai.gitcode.com/hf_mirrors/OpenGVLab/InternVL3_5-14BInternVL3_5-14B 是开源多模态大模型 InternVL3.5 系列的 14B 版本其最大亮点是动态分块Dynamic Resolution机制模型会根据图片宽高比自动把一张大图切成 1~12 个 448×448 的小图块再附加一张全局缩略图从而在看得全和看得清之间取得平衡轻松驾驭超高分辨率图片。本文面向新手用 3 个步骤讲透这套动态分辨率机制的原理、关键参数与快速上手方法。 一、InternVL3_5-14B 是什么InternVL3_5-14B 是一个「图片 文本 → 文本」的开源多模态大模型Apache-2.0 协议总参数约 15.1B由三部分组成组件规模作用视觉编码器 InternViT-300M0.3B把每个图块编码成视觉特征像素打乱层Pixel Shuffle MLP—将 1024 个视觉 token 压缩到 256 个语言模型 Qwen3-14B14.8B融合图文信息并生成回答它的架构沿用了 InternVL1.5 提出的动态高分辨率Dynamic High Resolution策略这也是本文的主角。模型配置可参考 config.json核心推理逻辑在 modeling_internvl_chat.py 中。 二、为什么需要动态分块固定分辨率的视觉模型面临两难强行压缩超大图片 → 文字、细节糊成一团OCR 和细粒度理解失效保留原始尺寸→ 输入 token 爆炸显存和速度都扛不住。动态分块的思路是按图切块图片越大、越细长就切得越多接近正方形的小图只切 1 块。这样既保证每个图块都是模型最擅长的 448×448 尺寸又让 token 数量始终可控最多 12 块 1 张缩略图。开关就是配置里的dynamic_image_size: true见 config.json。✂️ 三、动态分块三步走核心机制整个流程由 README.md 中的dynamic_preprocess函数实现分三步第 1 步宽高比匹配找出最优切法 (i, j)程序会枚举所有满足1 ≤ i×j ≤ 12的矩形组合如 1×1、1×2、2×3、3×4……共 30 余种选出与图片真实宽高比最接近的 (i, j)。举例一张 3:4 的竖版图会精确命中 3×4 12 块一张 16:9 的宽屏图则选 2×1 2 块。第 2 步等比缩放后切成 i×j 个图块图片先缩放到448×i × 448×j的画布再均匀裁剪成 i×j 张 448×448 的小图块。每个图块送入视觉编码器InternViTpatch 大小 14源码见 modeling_intern_vit.py产出 32×32 1024 个视觉 token。第 3 步附加一张全局缩略图当分块数大于 1 时use_thumbnail: true还会把整张图压缩成一张 448×448 的缩略图一并输入。图块负责看细节缩略图负责看全局模型既能读清小字又不会漏掉整体构图。 四、token 是怎么压缩的如果 12 块 1 缩略图全部按 1024 token 送入语言模型一张图就要 1.3 万个 token。InternVL3_5-14B 用**像素打乱Pixel Shuffle**做了 4 倍空间压缩1024 token (32×32) → 256 token (16×16) # downsample_ratio 0.5对应源码在 modeling_internvl_chat.py 的pixel_shuffle方法压缩后的特征再经mlp1投影到语言模型的维度。这样单张图最坏情况也只需13 × 256 3328 个视觉 token12 张图块就能塞进 32K 上下文里。 五、InternVL3_5-14B 动态分块参数清单以下参数均可在 config.json 中查到理解它们就能完全掌控分块行为参数本模型取值含义dynamic_image_sizetrue开启动态分辨率动态分块force_image_size448每个图块的边长像素min_dynamic_patch1最少分块数max_dynamic_patch12最多分块数use_thumbnailtrue额外附加一张全图缩略图downsample_ratio0.5像素打乱压缩比例1024→256 tokenps_versionv2像素打乱版本v2 修复了 v1 的转置问题配置类的默认值定义在 configuration_internvl_chat.pyHF 标准格式下的预处理参数见 preprocessor_config.json。 六、如何快速用起来使用 transformers 加载模型后动态分块由load_image自动完成你只需指定分块上限max_numpixel_values load_image(./examples/image1.jpg, max_num12).to(torch.bfloat16).cuda() response model.chat(tokenizer, pixel_values, image\nPlease describe the image in detail., generation_config)max_num12与配置中的max_dynamic_patch对应——正方形小图会自动只用 1 块 缩略图而超大竖版图则切满 12 块。完整的单图/多图/视频调用示例见 README.md 的 Quick Start 章节。❓ 七、新手常见问题FAQQ1max_num 应该设多少默认 12 是精度与显存的平衡点。显存紧张可降到 6处理整页文档、密集表格等 OCR 场景可保持 12。Q2小图片如手机截图会被切成 12 块吗不会。算法按宽高比匹配接近正方形且较小的图只会分 1 块外加 1 张缩略图共 2 × 256 512 个视觉 token开销很小。Q3和 InternVL3.5-Flash 的ViR是什么关系视觉分辨率路由器ViR是 Flash 版特有的第二级压缩它按图块的语义丰富程度把 256 token 进一步路由压缩到 64 token可减少约 50% 视觉 token 且几乎不掉点。本文的 InternVL3_5-14B 属于标准版不含 ViR但动态分块机制完全一致。Q4视频支持动态分块吗支持。逐帧采样后每帧同样走dynamic_preprocess通常设max_num1再拼接送入模型。 八、相关文件速查文件说明README.md模型介绍、架构说明与全部用法示例config.json模型主配置含动态分块全部参数configuration_internvl_chat.py对话模型配置类modeling_internvl_chat.py前向推理、pixel_shuffle 与特征融合modeling_intern_vit.py视觉编码器 InternViT 实现preprocessor_config.json图片预处理参数归一化、最大分块数chat_template.jinja / tokenizer.json对话模板与分词器一句话总结动态分块让 InternVL3_5-14B 用切块 缩略图的方式把任意尺寸、任意宽高比的超高分辨率图片稳定编码进最多约 3328 个视觉 token——这正是它读得清小字、看得全画面的关键所在。【免费下载链接】InternVL3_5-14B项目地址: https://ai.gitcode.com/hf_mirrors/OpenGVLab/InternVL3_5-14B创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

Pressto React Native Pressable 动画组件迁移指南:从 v0.3 到 v0.7 平滑升级不踩坑的完整清单

Pressto React Native Pressable 动画组件迁移指南:从 v0.3 到 v0.7 平滑升级不踩坑的完整清单

Pressto React Native Pressable 动画组件迁移指南:从 v0.3 到 v0.7 平滑升级不踩坑的完整清单 【免费下载链接】pressto Your React Native app deserves better tap interactions. 项目地址: https://gitcode.com/gh_mirrors/pre/pressto Pressto 是一款基…

2026/10/23 13:57:22 阅读更多 →
湖南人力资源服务商实测测评|5家主流机构四维硬核数据对比

湖南人力资源服务商实测测评|5家主流机构四维硬核数据对比

面对数量繁杂的湖南人力资源服务商,企业选型极易陷入信息差误区,仅凭口碑、报价判断,很容易遭遇服务同质化、合规无兜底、交付效果不达标的问题。为给湖南企业提供客观可落地的选型参考,本文以2024–2025年官方公开可溯源数据为基…

2026/11/16 1:23:11 阅读更多 →
Oracle的nlssort函数

Oracle的nlssort函数

nlssort函数的作用是对字段排序,字符串类型的 1.按拼音排序: select * from MEMBER t order by NLSSORT(t.b,NLS_SORT SCHINESE_PINYIN_M) 2.按笔画排序: select * from MEMBER t order by NLSSORT(t.b,NLS_SORT SCHINESE_STROKE_M) 3.按…

2026/11/10 17:49:10 阅读更多 →

最新新闻

Electron桌面应用开发实战:从环境搭建到打包发布全流程

Electron桌面应用开发实战:从环境搭建到打包发布全流程

做前端这些年,我大部分时间都在跟浏览器标签页打交道,直到第一次把桌面应用跑起来,才发现原来自己一直被限制在地址栏和刷新按钮围起来的框框里。Electron这个词,最开始是在某段时间频繁出现在同事的讨论里,一个用HTML…

2026/11/15 5:13:35 阅读更多 →
滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

简介:亚太天能T109滑盖智能锁产品说明书是一份PDF格式的官方技术文档,主要面向智能锁安装人员、终端用户及售后维护者,帮助快速掌握产品安装、配置与常见故障处理。全包仅1个PDF文件,大小4.37MB,内容结构清晰&#xff…

2026/11/15 5:13:35 阅读更多 →
PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

上个月我在调试一台高速AGV的驱动系统,整车要求空载跑到8m/s,电机转速已经拉到额定点,驱动器的输出电压也顶到了母线电压极限附近。再往上踩速度指令,转速纹丝不动,三相电流反而开始震荡。那会儿我的第一反应就是&…

2026/11/15 5:13:35 阅读更多 →
C++核心知识点:从内存管理到STL的实战指南

C++核心知识点:从内存管理到STL的实战指南

C 这门语言我前前后后折腾了十几年,用它写过嵌入式驱动、做过游戏服务端,也搭过基础组件库。每次看到新人一头扎进"C 核心知识点"这个搜索词,我其实挺感慨的——这门语言的难点从来不是语法多,而是知识点之间的耦合太深…

2026/11/15 3:37:41 阅读更多 →
T109滑盖智能锁怎么装?安装调试与故障排查全攻略

T109滑盖智能锁怎么装?安装调试与故障排查全攻略

简介:亚太天能T109滑盖智能锁产品说明书以PDF格式发布,适合智能锁用户、安装人员与售后维修人员阅读。内容围绕T109系列指纹密码刷卡锁展开,先介绍前面板、后面板、锁体、机械钥匙、电池盒盖等部件名称与功能,再给出完整安装步骤&…

2026/11/15 4:18:38 阅读更多 →
LLM知识降熵:从信息垄断到理解权下放

LLM知识降熵:从信息垄断到理解权下放

你有没有过这种经历:翻开源码注释、论文摘要或者一份专业报告,每个字都认识,连在一起却像天书。想找人聊聊,身边要么没人懂,要么懂的懒得跟你解释。后来我试着把同一段内容丢给一个大语言模型,几秒钟之后&a…

2026/11/15 5:13:35 阅读更多 →

日新闻

周新闻

月新闻