深度解析InternVL-14B-FlickrCN-FT-364px:96个查询Token如何桥接视觉与语言

发布时间:2026/10/16 22:24:16

深度解析InternVL-14B-FlickrCN-FT-364px:96个查询Token如何桥接视觉与语言 【免费下载链接】InternVL-14B-FlickrCN-FT-364px项目地址https://ai.gitcode.com/OpenGVLab/InternVL-14B-FlickrCN-FT-364px点击查看免费下载InternVL-14B-FlickrCN-FT-364px是 OpenGVLab 开源的 InternVL 系列在中文数据集FlickrCN上微调而来的14B 参数图文检索模型输入 364×364 图像和中文/多语言文本输出图文匹配分数支持以图搜文与以文搜图双向检索。它的核心设计是用96 个可学习的查询 Tokenquery tokens作为视觉特征与语言模型之间的桥梁本文将带你用通俗的方式看懂这套机制。 这个模型是什么一句话概括这是一个懂中文的图搜模型。模型类型微调后的检索模型fine-tuned retrieval model支持任务图-文检索Image-to-Text / Text-to-Image Retrieval模型规模14B 参数图像尺寸 364×364微调数据FlickrCNFlickr30k 的中文翻译语料底座模型OpenGVLab/InternVL-14B-224pxInternVL 本身是当时最大的开源视觉/视觉-语言基础模型14B将 ViT 扩展到 6B 参数并与 LLM 对齐在视觉感知、跨模态检索、多模态对话等 32 项任务上刷新了 SOTA。本模型就是它面向中文图文检索场景的精调版本。️ 架构总览InternViT QLLaMA 的组合拳整个模型由一个冻结的视觉塔 一个冻结的语言塔 少量可训练组件拼成组件作用是否可训练InternVisionModelInternViT-6B视觉编码器把图像切成 14×14 patch 提特征❌ 冻结qllamaLlama 结构32 层语言骨干负责文本编码与图像特征的深层加工❌ 冻结query_tokens96 个查询探针读取图像内容✅ 可训练clip_projector/clip_projector2注意力池化把长特征序列压成 768 维向量部分可训练logit_scale、itm_head温度系数与图文匹配头✅ 可训练配置项都可以在 config.json 中找到例如num_query_token: 96—— 查询 Token 数量本文主角clip_embed_dim: 768—— 对齐后的向量维度cross_attention_frequency: 2—— 每 2 层插入一次跨模态注意力force_image_size: 364—— 强制输入分辨率max_txt_len: 32—— 文本最大长度 这种冻结大底座 训练小模块的方式代码中甚至预留了 LoRA 开关use_backbone_lora/use_qllama_lora让微调成本大幅降低同时保留了 14B 底座的强大表示能力。 96 个查询 Token 如何桥接视觉与语言这是整个模型最巧妙的部分。传统 CLIP 里图像特征通常靠平均池化或 CLS token 压缩成一个向量信息容易丢失。InternVL 换了一个思路第 1 步放探针。模型定义了一组 96 个、每个 4096 维的可学习向量query_tokens它们在序列最前面像 96 个探针一样等待被填充图像信息self.query_tokens nn.Parameter( torch.zeros(1, config.num_query_token, text_hidden_size) )见 modeling_internvl.py第 2 步读图。在 QLLaMA 的每一第 2 层cross_attention_frequency2这 96 个 Token 会通过跨模态注意力LlamaCrossAttention去注视InternViT 输出的整张 patch 特征图364px 下约 26×26 个 patch把图像中最相关的信息聚合到自己身上query_feats hidden_states[:, :self.num_query_token, :] query_feats, _, _ self.cross_attn( hidden_statesquery_feats, vision_hidden_statesvision_hidden_states, ...)见 modeling_qllama.py第 3 步压缩。经过 32 层反复读取后的 96 个 Token再用 16 头注意力池化clip_projector2压成1 个 768 维向量——这就是图像在统一向量空间里的最终表示。用一个比喻96 个 Token 就像 96 位看图记者每 2 层采访一轮图像特征最后由编辑attention pooling把它们的消息汇总成一句话768 维向量。文本侧则相对简单文本经 QLLaMA 编码后取最后一个有效 Token的隐藏状态再线性投影到 768 维见 encode_text。第 4 步算匹配分。两边向量归一化后做余弦相似度乘上可学习的温度系数logit_scale初始值 1/0.07沿用 CLIP 经典设定就得到匹配 logitslogits_per_image logit_scale * image_features text_features.t()见 modeling_internvl.py⚖️ InternVL-C 与 InternVL-G双模式检索调用model(..., mode...)时可以选择两种模式见 encode_imageInternVL-CCLIP 式只走视觉塔 clip_projector池化链路短、速度快适合对延迟敏感的检索服务InternVL-GGeneric 通用式在 CLIP 分支之外叠加上述96 查询 Token QLLaMA分支两路向量归一化后相加ensemble。多模态理解更强对复杂语义的区分更准。可以理解为C 模式是快问快答G 模式是深思熟虑——检索精度优先时选 G吞吐优先时选 C。 快速上手3 个关键步骤与 1 个易踩的坑加载模型用AutoModel.from_pretrained(OpenGVLab/InternVL-14B-FlickrCN-FT-364px, torch_dtypetorch.bfloat16, trust_remote_codeTrue)建议放在 GPU 上并eval()预处理图像用仓库自带的CLIPImageProcessor会自动缩放到 364×364参数见 preprocessor_config.json文本用AutoTokenizeruse_fastFalse, add_eos_tokenTrue打分传入image与text设置modeInternVL-G或InternVL-C对返回的logits_per_image做 softmax 即得匹配概率按分数排序就是检索结果。⚠️最容易踩的坑README 特别强调文本前必须加summarize:前缀必须手动设置tokenizer.pad_token_id 0。缺了这两步结果会异常。中文、英文、日文文本都可以直接输入模型支持多语言查询。完整示例见 README.md 的 Model Usage 部分。 关键文件导览文件说明config.json模型配置96 查询 Token、768 维对齐、364px 分辨率等modeling_internvl.py主模型query_tokens定义、双模式编码、相似度打分modeling_qllama.pyQLLaMA 语言骨干LlamaCrossAttention、跨模态注意力插入逻辑modeling_intern_vit.pyInternViT-6B 视觉编码器configuration_internvl.py配置类InternVLConfig含各超参默认值preprocessor_config.json图像预处理参数364×364、归一化均值/方差README.md使用示例、性能说明与引用格式 小结InternVL-14B-FlickrCN-FT-364px 展示了大模型时代图文检索的新范式冻结 14B 大底座只训练 96 个查询 Token 和少量投影头微调成本极低96 查询 Token 通过每 2 层一次的跨模态注意力把整张图的语义采访进语言模型空间比简单池化保留更多细节C/G 双模式兼顾速度与精度可按业务场景切换面向中文检索场景在 FlickrCN 上精调多语言文本 中文图像的检索开箱即用。如果你的业务需要做中文图搜、电商以文搜图、多模态内容审核等场景这个模型是一个值得评估的起点。赞分享【免费下载链接】InternVL-14B-FlickrCN-FT-364px项目地址https://ai.gitcode.com/OpenGVLab/InternVL-14B-FlickrCN-FT-364px点击查看免费下载相关推荐InternVL-14B-FlickrCN-FT-364px性能实测Flickr30K榜单SOTA表现深度解析InternVL 14B FlickrCN FT 364px性能实测Flickr30K榜单SOTA表现深度解析 本文实测 InternVL 14B Flick拆解InternVL-14B-FlickrCN-FT-364px视觉编码器6B参数InternViT的架构奥秘拆解InternVL 14B FlickrCN FT 364px视觉编码器6B参数InternViT的架构奥秘 本文带你快速读懂 InternVL 145分钟上手InternVL-14B-FlickrCN-FT-364px图文检索快速入门教程5分钟上手InternVL 14B FlickrCN FT 364px图文检索快速入门教程 InternVL 14B FlickrCN FT 364px 是一创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/10/16 22:24:15

FFmpeg封装级视频批量加片头片尾工具

简介:这是一款面向视频剪辑从业者、自媒体运营者及批量内容生产者的专业级片头片尾自动化添加工具,解决单个视频手动拼接效率低、画质音频易损、多文件重复操作繁琐等痛点。资源包共220个文件,含75个语言资源(qm)、83个…

2026/10/16 22:24:15

LabVIEW控制KEITHLEY2400实现太阳能电池J-V测量自动化

简介:KEITHLEY2400 JV_Measurement 是一套基于 LabVIEW 编写的 Keithley 2400 源表电流电压测量程序源码,适合半导体、光伏、纳米材料等领域的科研人员和测试工程师使用,也适合学习 LabVIEW 仪器控制的中高级开发者研读。程序实现了与源表的 …

2026/10/17 1:09:40

Fiddler弱网测试实战:2G/3G/4G模拟与延迟带宽控制

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/17 1:09:39

前端字段弹窗设计:语义化、可访问性与实战避坑指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/17 1:09:39

两串锂电池主动均衡方案:MP2642GR-Z与PIC18LF47K42实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/17 1:09:39

锂电池串联主动均衡原理与MP2642+STM32工程实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/17 1:09:39

基于DeepSeek的RAG知识库搭建:原理、选型与调优指南

简介:围绕DeepSeek大模型构建本地知识库的完整讲解,内容覆盖RAG技术原理、上下文窗口与检索增强的关系,以及个人级与企业级方案选型,适合AI应用开发者、企业架构师及希望私有化部署知识库的技术人员。整份文档为单一PDF文件&#…

2026/10/17 1:04:39

基于MP2642GR-Z与TM4C1299KCZAD的两串电池被动均衡设计实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 5:33:43

Python调用Gemini Structured Outputs实现工单路由门禁

客服工单最怕的不是模型“答错一句话”,而是它给出一段看起来合理的说明,程序却从中猜错优先级。通俗做法是:要求模型只交 JSON(JavaScript Object Notation,轻量数据格式),再让代码验证它。Gem…

2026/10/16 4:03:48

Spring Boot超市进销存系统毕设实战:从需求拆解到答辩通关

最近带的一个学生项目组里,有A同学跑来问我:选什么毕设题目最稳妥,既能让评审老师觉得工作量够,又不会在答辩时被问到语无伦次。我第一反应就是推荐基于Spring Boot的超市仓库管理系统——也就是超市进销存系统。这个题目乍一看平…

2026/10/15 13:42:16

Flutter StatefulWidget 生命周期核心解析

很多刚开始接触 Flutter 的朋友,在看完一堆“Hello World”和基础组件之后,大概率都会撞上同一堵墙:StatefulWidget 里那堆 initState、build、dispose 方法,到底什么时候被调用?为什么顺序是那样?在里面到…

2026/10/17 0:04:32

PlanarSLAM:面向曼哈顿世界的点线面联合SLAM系统

简介:本资源是面向机器人视觉与SLAM研究者的C开源RGB-D SLAM系统实现,专为结构化室内场景(如办公室、走廊)设计,通过融合点、线、平面三类几何特征并引入“曼哈顿世界”假设,显著提升位姿跟踪鲁棒性与稠密地…

2026/10/17 0:04:32

TDH Workflow调度实战:从DAG依赖驱动到任务编排与故障排查

1. 从一个调度脚本说起:TDH Workflow到底在解决什么问题第一次接触TDH的Workflow,是在一个数据清洗项目里。当时团队每天要跑几十个ETL任务,任务之间有严格的先后依赖——A表清洗完才能跑B表的关联,B表跑完才能触发C表的聚合。最开…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑