资讯动态

InternVL2-Pretrain-Models核心组件深度解析:InternViT视觉编码器如何看清世界

发布时间:2026/10/17 17:31:32 来源:尧图企业网站定制
【免费下载链接】InternVL2-Pretrain-Models项目地址https://ai.gitcode.com/OpenGVLab/InternVL2-Pretrain-Models点击查看免费下载InternVL2-Pretrain-Models 是 InternVL 2.0 多模态大模型官方发布的 Stage-1 阶段预训练模型仓库包含 7 个从 1B 到 76B 参数的模型版本。整个体系的眼睛是InternViT 视觉编码器——它负责把图像切成小块、提取特征再压缩成语言模型能读懂的视觉词。这篇文章带你完整看懂它的核心组件视觉编码器、PixelShuffle 降采样、MLP 投影器以及特殊 token 对齐机制帮助你快速理解多模态预训练模型是如何看清世界的。 一分钟认识这个仓库里有什么InternVL 2.0 采用视觉编码器 大语言模型的双塔架构。本仓库提供的是第一阶段Stage-1预训练权重模型在此阶段学会对齐文本、图像、视频等多模态输入为后续指令微调打好地基。模型视觉部分InternViT语言部分InternVL2-1BInternViT-300M-448pxQwen2-0.5BInternVL2-2BInternViT-300M-448pxInternLM2-1.8BInternVL2-4BInternViT-300M-448pxPhi-3-miniInternVL2-8BInternViT-300M-448pxInternLM2-7BInternVL2-26BInternViT-6B-448pxInternLM2-20BInternVL2-40BInternViT-6B-448pxYi-34BInternVL2-Llama3-76BInternViT-6B-448pxLlama-3-70B可以看到小模型配 300M 轻量 ViT大模型配 6B 高配 ViT视觉编码器按负载分级搭配。 架构全景一张图的旅行路线InternVL 的完整推理路径只有 3 步对应modeling_internvl_chat.py中的InternVLChatModelInternViT图像 → 1024 个 patch 特征向量PixelShuffle MLPmlp11024 个向量 → 256 个视觉 tokenLLM视觉 token 替换文本中的IMG_CONTEXT占位符语言模型统一处理图文混合序列源码位置InternVL2-1B-Pretrain/modeling_internvl_chat.py其中视觉特征提取与投影集中在extract_feature方法L184-L202。 核心组件一InternViT 视觉编码器InternViT 是标准的 Vision Transformer完整实现在 InternVL2-1B-Pretrain/modeling_intern_vit.py 中。它由四个关键模块组成1️⃣ 图像分块Patch Embedding一张448×448 像素的图被 14×14 的卷积核切成 32×32 1024 个小块patch每块投影为一个 1024 维300M 版向量。代码见 InternVisionEmbeddings。 这就是图像变词语的第一步每个 patch 相当于一个视觉单词。2️⃣ 位置编码与 CLS Token每个 patch 向量会加上可学习的位置编码序列最前面还拼接一个特殊的CLSclasstoken用于聚合全局信息。为了适配动态分辨率位置编码支持双三次插值重采样_get_pos_embed方法。3️⃣ Transformer 编码器层每层 多头自注意力 MLP 前馈网络 归一化 随机深度DropPath。两个亮点FlashAttention2 加速FlashAttention 封装类 显著降低长序列注意力的显存占用448px 下 1024 个 token 的注意力计算开销可观可选 QK-Norm对 Query/Key 做 RMSNorm 稳定训练。层结构见 InternVisionEncoderLayer整体编码器入口为 InternVisionModel。4️⃣ 两档规格300M 与 6B从各目录的 config.json 中vision_config字段可确认两套配置参数InternViT-300M1B/2B/4B/8B 用InternViT-6B26B/40B/76B 用hidden_size10243200编码器层数2445注意力头数1625中间层维度409612800patch_size / image_size14 / 44814 / 448配置文件默认值定义在 configuration_intern_vit.py 的InternVisionConfig类中。⚡ 关键技巧动态分辨率固定 448px 输入会损失细节InternVL2 的解法是动态分辨率图像按原始宽高比被切成 1~12 个 448×448 的 patch 图块分别过 ViT另外还生成一张缩略图thumbnail提供全局视野。这些开关都写在每个模型的 config.json 里dynamic_image_size: true— 启用动态切图min_dynamic_patch: 1/max_dynamic_patch: 12— 每图最多 12 块use_thumbnail: true— 附加缩略图对应的配置参数说明见 configuration_internvl_chat.py。 核心组件二PixelShuffle MLP 投影器1024 个 patch 向量直接送入 LLM 太冗长。InternVL 用两个压缩器PixelShuffle 空间重排pixel_shuffle 方法把相邻的 2×2 个 patch 特征合并成一个序列从 32×32 压缩到 16×16token 数直接降为 1/4downsample_ratio: 0.5。MLP 投影器 mlp1L78-L83将合并后的视觉特征维度 1024×4线性映射到 LLM 的隐藏层维度完成视觉空间 → 语言空间的对齐。最终每张 448px 图块只产生256 个视觉 token这个数值就是config中的num_image_tokenL52 处计算(448 ÷ 14)² × 0.5² 1024 × 0.25 256 核心组件三特殊 Token 对齐视觉 token 如何进入对话靠一组特殊 token定义在 added_tokens.json 中Token作用img//img图像片段的起止标记IMG_CONTEXT占位符前向传播时被视觉特征向量原位替换ref//ref/box/quad支持目标定位、框坐标等视觉问答任务在generate方法L309-L349中文本先被嵌入随后所有IMG_CONTEXT位置的向量被 ViT 提取的视觉特征覆盖语言模型看到的就是一串图文混杂的 token 流自然实现跨模态理解。对话模板如 Hermes-2、ChatML 风格则封装在 conversation.py 中。 快速上手加载与验证本地加载任意一个模型目录以 1B 为例from transformers import AutoModel, AutoTokenizer model_dir InternVL2-1B-Pretrain # 替换为对应模型目录 tokenizer AutoTokenizer.from_pretrained(model_dir, trust_remote_codeTrue) model AutoModel.from_pretrained(model_dir, trust_remote_codeTrue)大模型目录如 26B、76B的权重以 safetensors 分片存放model.safetensors.index.json 记录了每个张量所在的分片文件加载时会自动处理。提示所有目录内都自带自定义代码modeling_*.py、configuration_*.py与auto_map映射因此必须使用trust_remote_codeTrue才能正确实例化InternVLChatModel。✅ 总结InternViT 为何看得清高分辨率分块448px 14px patch细节不丢失动态分辨率原比例切 1~12 块 缩略图小目标与全局语义兼顾PixelShuffle 压缩token 数降 4 倍长上下文负担大减ViT 规格分级300M/6B 两档视觉编码器与语言模型规模匹配特殊 token 体系IMG_CONTEXT原位替换 box/ref定位标记为 OCR、文档理解、目标定位等下游任务铺平道路。理解了这套切块 → 编码 → 压缩 → 对齐的四步流水线你就掌握了 InternVL 系列多模态模型视觉前端的全部核心逻辑。赞分享【免费下载链接】InternVL2-Pretrain-Models项目地址https://ai.gitcode.com/OpenGVLab/InternVL2-Pretrain-Models点击查看免费下载相关推荐InternVL2_5-Pretrain-Models 源码解析InternViT 视觉编码器 Pixel Shuffle 投影图像 Token 如何进入大语言模型InternVL2_5 Pretrain Models 源码解析InternViT 视觉编码器 Pixel Shuffle 投影图像 Token 如何进InternViT-6B 视觉塔深度剖析InternVL2.5-26B-MPO-AWQ 的视觉编码核心全解InternViT 6B 视觉塔深度剖析InternVL2.5 26B MPO AWQ 的视觉编码核心全解 本文带你深入 InternVL2_5 26B MPUMT-L视觉编码器详解VideoChat-Flash-Qwen2-7B_res224的视觉塔核心组件剖析UMT L视觉编码器详解VideoChat Flash Qwen2 7B_res224的视觉塔核心组件剖析 VideoChat Flash Qwen2 7B_创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑