news 2026/10/18 23:55:53

如何 10 分钟上手 InternVL-14B-Flickr30K-FT-364px:从下载到第一次图文检索

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
如何 10 分钟上手 InternVL-14B-Flickr30K-FT-364px:从下载到第一次图文检索

【免费下载链接】InternVL-14B-Flickr30K-FT-364px

项目地址:https://ai.gitcode.com/OpenGVLab/InternVL-14B-Flickr30K-FT-364px
点击查看免费下载

InternVL-14B-Flickr30K-FT-364px 是一个 14B 参数的开源多模态图文检索模型,在 Flickr30K 数据集上微调,支持"图搜文"和"文搜图"两种零样本检索任务。本文带你用 10 分钟完成模型下载,并跑通第一次图文相似度检索。

一、这是什么模型?适合谁用

InternVL 系列把 6B 参数的视觉编码器(ViT)与 LLM 对齐,是目前规模最大的开源视觉/视觉-语言基础模型之一。而本仓库InternVL-14B-Flickr30K-FT-364px是它的检索微调版,核心能力是:

  • 🖼️Image-to-Text Retrieval:给一张图,从一堆文本中找出最匹配的描述
  • ✍️Text-to-Image Retrieval:给一段描述,从一堆图中找出最匹配的图片
  • 🌏多语言文本:英文、中文、日文描述均可使用(如summarize:一张熊猫的照片)
  • 📐 图像统一处理为364×364像素,与底座模型 InternVL-14B-224px 相比对小物体更友好

你可以把它理解为一个"图文相似度计算器":图片和文本都被编码成同一空间里的向量,向量越接近(余弦相似度越高),说明图文匹配度越高。

二、环境准备:最快安装方法

模型依赖 PyTorch 与 Transformers,建议先创建虚拟环境:

pip install torch transformers

模型权重为 bfloat16 精度,建议准备一块显存 ≥24GB 的 GPU(如 RTX 3090/4090 或 A100)。

三、获取模型:两种方式任选

方式一:克隆仓库(获得代码与配置文件)

git clone https://gitcode.com/OpenGVLab/InternVL-14B-Flickr30K-FT-364px

仓库中的核心文件:

  • modeling_internvl.py:模型主实现,forward方法返回图文相似度 logits
  • config.json:模型结构配置(force_image_size: 364即 364 分辨率的来源)
  • preprocessor_config.json:图像预处理参数(缩放、归一化均值/方差)
  • tokenizer_config.json:分词器配置(LlamaTokenizer)
  • pytorch_model-00001-of-00003.bin 等三个权重分片,索引见 pytorch_model.bin.index.json

方式二:通过 Transformers 自动下载

代码中直接写模型名OpenGVLab/InternVL-14B-Flickr30K-FT-364px,首次运行会自动拉取权重与代码,适合快速验证。

四、第一次图文检索:核心代码解析

完整示例见 README.md,下面是精简版:

import torch from PIL import Image from transformers import AutoModel, AutoTokenizer, CLIPImageProcessor # 1. 加载模型(bfloat16 + trust_remote_code 缺一不可) model = AutoModel.from_pretrained( 'OpenGVLab/InternVL-14B-Flickr30K-FT-364px', torch_dtype=torch.bfloat16, low_cpu_mem_usage=True, trust_remote_code=True).cuda().eval() image_processor = CLIPImageProcessor.from_pretrained('OpenGVLab/InternVL-14B-Flickr30K-FT-364px') # 2. 加载分词器(必须设置 pad_token_id = 0) tokenizer = AutoTokenizer.from_pretrained( 'OpenGVLab/InternVL-14B-Flickr30K-FT-364px', use_fast=False, add_eos_token=True) tokenizer.pad_token_id = 0 # 3. 准备图文数据:注意文本要加 'summarize:' 前缀 images = [Image.open('./cat.jpg').convert('RGB')] texts = ['summarize:一张猫的照片', 'summarize:a photo of a red panda'] # 4. 前向推理,得到相似度矩阵 pixel_values = image_processor(images=images, return_tensors='pt').pixel_values.to(torch.bfloat16).cuda() input_ids = tokenizer(texts, return_tensors='pt', max_length=80, truncation=True, padding='max_length').input_ids.cuda() logits_per_image, logits_per_text = model( image=pixel_values, text=input_ids, mode='InternVL-C') probs = logits_per_image.softmax(dim=-1)

两个必须注意的细节(缺失会导致结果异常):

  1. 文本前缀'summarize:'
  2. tokenizer.pad_token_id = 0

相似度矩阵logits_per_image的行对应图片、列对应文本,取argmax即可得到匹配结果。推理逻辑可参考 modeling_internvl.py 中的forward:图文特征先做归一化,再计算余弦相似度作为 logits。

五、两种模式怎么选:InternVL-C 与 InternVL-G

model(..., mode=...)支持两种模式,对应 InternVL 论文中的两个变体(实现见 modeling_internvl.py):

模式特点适用场景
InternVL-C视觉特征直连 CLIP 投影头,结构更简洁通用图文检索、相似度计算
InternVL-G引入 96 个 query token 与 LLM 交互,语义理解更深需要强语义对齐的细粒度检索

配置中num_query_token: 96、clip_embed_dim: 768等参数可在 config.json 中查看;视觉编码器细节见 configuration_intern_vit.py,语言模型部分见 modeling_qllama.py。

六、常见问题速查(FAQ)

  • 结果全是异常分数?检查是否加了summarize:前缀、是否设置了pad_token_id = 0
  • 中文/日文能检索吗?可以,示例中'summarize:一张熊猫的照片'即为中文查询
  • 图像尺寸有要求吗?处理器会自动缩放到 364×364 并做 CLIP 风格归一化(见 preprocessor_config.json),你只需传入原图
  • 显存不够怎么办?14B + bfloat16 至少需要约 30GB 显存;显存不足时可降低批量或考虑其他量级的 InternVL 模型

七、下一步:如何评估你的检索效果

  • 跑通单图单句后,可替换为自己的图片库和文本库,批量计算相似度并排序
  • 训练参数可参考 training_args.bin(Flickr30K 微调配置)
  • 学术引用格式见 README.md

至此,你已经完成了从下载到第一次图文检索的全流程。InternVL-14B-Flickr30K-FT-364px 开箱即用,非常适合作为图搜引擎、内容审核、多模态搜索等场景的检索基座。

【免费下载链接】InternVL-14B-Flickr30K-FT-364px

项目地址:https://ai.gitcode.com/OpenGVLab/InternVL-14B-Flickr30K-FT-364px
点击查看免费下载

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/17 21:53:13

数据库系统工程师:从施工队长到数据架构师的能力跃迁

简介:本资源是软考中级「数据库系统工程师」考试的官方大纲文档,专为备考人员设计,覆盖第四版教材全部考点,助力考生系统掌握数据库系统设计、开发与维护的核心能力。文件为单个110KB的Word文档(.docx)&…

作者头像 李华
网站建设 2026/10/17 21:51:15

C++23模式匹配:类型安全的业务逻辑重构利器

简介:本资源是一份面向C中高级开发者的技术深度解析文档,聚焦C23新引入的模式匹配特性,系统解决业务逻辑重构复杂、类型安全难以保障、多态与变体处理冗余等实际工程痛点。文档覆盖核心语法、六大实战场景(状态机/条件判断/嵌套结…

作者头像 李华
网站建设 2026/10/17 21:51:09

Cursor国产平替指南:AI编程工具+IDE+代码托管平台组合选型

最近两个月,先后有四五个团队的朋友来找我聊同一个问题:“能不能帮我们出一套国内工具链方案,最好能把 Cursor 整套平替掉。”问了一圈原因,大家说法其实挺一致——不是 Cursor 不好用,而是用起来越来越别扭&#xff1…

作者头像 李华
网站建设 2026/10/17 21:47:07

Vue 3 组件测试实战:Vitest 与 Vue Test Utils 的稳定编码方式

最近给一个维护了大半年的中后台系统补单元测试,我发现在团队里搜“Vit常见编码方式”,翻出来的测试代码至少有四五种风格:有人mount一把梭,有人万事shallowMount,有人测异步靠sleep(2000),还有人把组件内部…

作者头像 李华
网站建设 2026/10/18 23:46:58

前端文件处理利器:FileReader与Blob实战详解

1. 从一次文件上传说起:为什么前端必须掌握FileReader和Blob前两周有个朋友跟我抱怨,说他们公司做内部管理系统,遇到一个特别头疼的需求:用户要上传几百MB的压缩包,还要能预览图片、查看文本文件内容,甚至要…

作者头像 李华
网站建设 2026/10/17 21:45:33

win-acme v2.2.9.1701:Windows 下全自动部署 Let‘s Encrypt SSL 证书

简介:win-acme.v2.2.9.1701.x64.pluggable.zip 是一款面向Windows系统管理员与Web运维人员的免费SSL证书自动化管理工具包,专为解决Lets Encrypt证书在IIS、nginx等服务上的快速申请、安装与续订难题而设计,尤其适用于中小型网站、测试环境及…

作者头像 李华