【免费下载链接】Trident-Qwen3VL-2B
Trident-Qwen3VL-2B 是一个多模态嵌入(embedding)模型,专为混合模态检索设计:它能把纯文本、纯图像以及"文本+图像"的混合输入,统统编码进同一个共享向量空间,让一条文本查询可以在统一的列表中对三种类型的文档排序打分。下面带你从原理到上手,快速看懂这个模型是如何工作的。
🧭 什么是 Trident-Qwen3VL-2B?
一句话概括:它把"找文档"这件事从单一文本扩展到了图文混合世界。
- 基于 Qwen3-VL-2B-Instruct 基座模型微调而来,任务类型标记为
multi-modal-embedding(见 configuration.json) - 在 Trident-Train 数据集上训练,用于解决论文《Chaos in the Text: Revealing the Modality Preference in Mixed-Modality Retrievers》提出的混合模态检索问题
- LoRA 适配器已合并进权重,无需额外加载基座模型或 PEFT 库
- 模型权重文件为 model.safetensors,以 bfloat16 精度存储,体积约 4.3GB
- Trident 部分贡献采用 MIT 协议发布
| 属性 | 值 | 出处 |
|---|---|---|
| 任务 | 多模态嵌入 / 混合模态检索 | configuration.json |
| 精度 | bfloat16 | config.json |
| 文本侧 | 28 层,hidden_size 2048,16 头注意力 | config.json |
| 视觉侧 | 24 层 ViT,输出对齐到 2048 维 | config.json |
| 上下文长度 | 最长 262144 token | config.json |
🔎 共享向量空间是如何构建的?
要让"文本能和图像比相似度",关键在于三件事:统一输入格式、统一编码流程、统一度量方式。
三种输入形式,一个出口
每条输入都是一个包含text和images两个字段的对象,你可以根据内容任选其一或两者都用:
| 输入形式 | text | images | 典型用途 |
|---|---|---|---|
| 纯文本 | ✅ | 空 | 段落、摘要 |
| 纯图像 | 空 | ✅ | 图表、截图、扫描件 |
| 图文融合 | ✅ | ✅ | 带图的文档页、报告片段 |
模型通过视觉编码器把图像切分为 patch(patch 大小 16,空间合并 2×2,见 preprocessor_config.json),与文本 token 拼接后一起进入同一个 Transformer 主干——这是"共享空间"的第一层含义:图文在模型内部就共享同一套注意力与权重。
查询和文档使用不同的"指令"
检索系统中,"问的一方"和"被找的一方"语义角色不同。Trident 在 mmemb_model.json 中为两者定义了不同的默认指令:
- 查询侧(query):
Represent the query for retrieving relevant content. - 文档侧(doc):
Represent the candidate content for retrieval.
这套指令是训练格式的一部分,推理时保持角色一致,能显著影响检索效果。
last_token 池化 + L2 归一化 = 余弦相似度
编码输出的处理规则同样记录在 mmemb_model.json 中:
pooling: last_token:取序列最后一个位置的隐状态作为整条内容的向量normalize: true:向量做 L2 归一化- 归一化后,两个向量直接做矩阵乘法就是余弦相似度
这意味着:不管文档是纯文本、纯图像还是图文混合,得到的分数天然可比,可以直接混在同一个榜单里排序。这就是"共享向量空间"对使用者的直接价值。
模型内部长什么样?
从 config.json 可以看到典型的"视觉 + 语言"双塔合一结构:
- 文本主干
qwen3_vl_text:28 层 Transformer,hidden_size 2048,采用交错式 M-RoPE 位置编码(mrope_section: [24, 20, 20]),支持 262144 的超长上下文 - 视觉编码器:24 层,hidden_size 1024,输出投影到 2048 维与文本对齐,并通过 deepstack 机制在第 5、11、17 层注入多尺度视觉特征
- 图像以
<|image_pad|>占位符(token id 151655)的形式插入序列;<|video_pad|>则支持视频帧输入,相关帧采样参数见 video_preprocessor_config.json
这些特殊 token 的完整映射可在 added_tokens.json 中查到,对话模板则定义在 chat_template.jinja。
🚀 三步上手:从克隆到第一条检索结果
第 1 步:克隆仓库并准备环境
git clone https://gitcode.com/OpenBMB/Trident-Qwen3VL-2B conda create -n trident python=3.12 -y && conda activate trident pip install transformers>=4.57 # Qwen3-VL 需要 4.57 及以上版本第 2 步:准备模型权重
仓库中的 model.safetensors 通过 Git-LFS 存储,克隆时会自动拉取完整权重(约 4.3GB)。
第 3 步:编码查询与文档,一次打分
核心流程只有四行逻辑:构造输入 → 分别按query/doc角色编码 → 得到 L2 归一化向量 → 矩阵乘法得分:
queries = [{"text": "2020 年 Saint Laurent 在西欧有多少家店?", "images": []}] documents = [ {"text": "一张按地区与年份展示门店数量的柱状图", "images": []}, # 纯文本 {"text": None, "images": ["chart.png"]}, # 纯图像 {"text": "各地区的门店数量", "images": ["chart.png"]}, # 图文融合 ] q = encode(queries, role="query") # [1, dim],L2 归一化 d = encode(documents, role="doc") # [3, dim] scores = q @ d.T # 余弦相似度,三种文档类型直接可比完整的调用示例(含TridentQwen3VLBackend初始化与角色指令设置)请参考仓库中的 README.md。
📁 关键文件速查表
| 文件 | 作用 |
|---|---|
| README.md | 快速上手、用法示例与许可说明 |
| config.json | 模型结构:层数、维度、视觉编码器参数 |
| mmemb_model.json | 嵌入配置:池化方式、归一化、角色指令、图像像素上下限 |
| configuration.json | 任务类型标记(multi-modal-embedding) |
| model.safetensors | 合并后的模型权重(bfloat16) |
| tokenizer.json / vocab.json / merges.txt | 词表与分词器资源 |
| added_tokens.json | 图像/视频等新增特殊 token 的映射 |
| chat_template.jinja | 对话模板(含图像/视频占位逻辑) |
| preprocessor_config.json | 图像预处理:patch、归一化、缩放参数 |
| video_preprocessor_config.json | 视频帧采样参数(fps、max_frames 等) |
🎯 适用场景:混合模态检索能解决什么问题?
- 视觉文档检索:报告、论文、图表密集的材料中,"按文字找图、按图找文"统一在一个榜单里
- 多模态 RAG:知识库同时包含纯文本段落和带图页面,无需分别建索引再融合排序
- 跨模态搜索:一条文本查询即可召回纯文本、纯图像和图文混合的候选内容
它解决的核心痛点正是论文标题所暗示的"模态偏好"问题:传统方案往往让某一类模态在打分中占便宜,而 Trident 通过在统一共享空间内训练,使不同模态的文档站在同一起跑线上。
❓ 常见问题
Q:需要额外下载 Qwen3-VL 基座模型吗?不需要。LoRA 权重已合并,直接使用本仓库的 model.safetensors 即可。
Q:对运行环境有什么要求?建议 Python 3.12 + transformers ≥ 4.57,推理以 bfloat16 进行,适合 CUDA 环境。
Q:图像输入有大小限制吗?mmemb_model.json 中定义了图像像素范围:最小 262144、最大 1310720 像素,超长文本单条上限 4096 token。
Q:许可证是什么?Trident 的权重与代码贡献为 MIT 协议;基座 Qwen3-VL-2B-Instruct 的 Apache-2.0 条款对派生权重继续生效,详见 README.md。
写在最后
Trident-Qwen3VL-2B 用一套简洁的设计——统一输入格式 + 角色指令 + last_token 池化 + L2 归一化——把文本和图像装进了同一个检索空间。对于正在搭建图文混合搜索或多模态 RAG 的团队来说,它是一个即插即用、许可友好(MIT)的轻量起点。
【免费下载链接】Trident-Qwen3VL-2B
相关推荐
Linux 内核揭秘:内存映射(mmap),用户空间与内核空间的数据共享
Linux 内核揭秘:内存映射(mmap),用户空间与内核空间的数据共享 内存映射技术解析 内存映射(Memory Mapping,mmap)是 Linux 内
文档教程操作系统HoVLE-HD架构核心揭秘:Holistic Embedding模块如何将图像和文本统一到一个空间
HoVLE HD架构核心揭秘:Holistic Embedding模块如何将图像和文本统一到一个空间 HoVLE HD 是 OpenGVLab 开源的 2.6B
Trident-Qwen3VL-2B 完全解析:一个搞定文本、图像、图文混合检索的多模态嵌入模型
Trident Qwen3VL 2B 完全解析:一个搞定文本、图像、图文混合检索的多模态嵌入模型 Trident Qwen3VL 2B 是 OpenBMB 开源
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考