人工智能Embedding基础模型RAG多模态【免费下载链接】Nemotron-3.5-Embed-1B-BF16项目地址https://ai.gitcode.com/hf_mirrors/nvidia/Nemotron-3.5-Embed-1B-BF16点击查看免费下载Nemotron-3.5-Embed-1B-BF16是 NVIDIA 发布的多模态、多语言向量嵌入模型Embedding Model能把纯文本、文档页图片或图片文本统一编码为 2048 维检索向量。它的提示前缀设计非常克制查询侧用query:文档侧用passage:——看似简单的两个前缀却是图文混合检索效果的关键。本文将带你拆解这套前缀机制的存放位置与渲染逻辑并给出 4 个实用的调优技巧。 模型速览多模态检索的小钢炮先看核心参数全部来自 README.md 与 config.json项目规格架构Mistral3ModelPixtral 视觉编码器 Ministral-3 语言模型总参数量1.55B输出维度2048支持截断至 1024 / 512最大上下文32,768 tokens文本与图像 token 共享输入形态文本 / 图片 / 图片文本语言覆盖文本检索 34 种语言图片检索 18 种语言含中文推荐硬件A100 80GB / H100 80GB / GB200 186GBBF16 该模型由 8B 教师模型蒸馏而来余弦距离 COS 均方误差 MSE 联合损失语言组件冻结自 Nemotron-3-Embed-1B-BF16因此文本嵌入空间与 1B 纯文本版完全一致只新增了图片检索能力。权重文件见 model-00001-of-00001.safetensors结构索引见 model.safetensors.index.json。 query: 与 passage:——提示前缀设计解析前缀定义在哪config_sentence_transformers.json打开 config_sentence_transformers.json前缀一目了然{ prompts: { query: query: , document: passage: }, default_prompt_name: null, similarity_fn_name: cosine }三个要点query与document严格对应两个前缀用户问题必须加query:入库文档必须加passage:两侧前缀不能混用相似度函数为 cosine余弦相似度所以向量需做 L2 归一化后文会讲前缀必须参与编码——池化配置 1_Pooling/config.json 中include_prompt: true即前缀 token 的隐状态也会进入均值池化而不是被丢弃。前缀如何渲染chat_template.jinja真正的魔法在聊天模板 chat_template.jinja 里。它做了三件关键的事只允许1 条 user 消息 可选 1 条 system 消息第 53-58 行否则直接抛异常——这是典型的检索而非生成输入约束system 消息的内容就是检索前缀渲染为前缀 一个空格第 60-67 行图片永远排在文本之前先输出[IMG]占位符再拼接文本第 34-49 行保证图文顺序与训练时逐 token 一致。最小输入结构如下system填前缀user填内容conversation [ {role: system, content: query:}, # 或 passage: {role: user, content: [{type: text, text: 你的问题或文档}]}, ]为什么要这样设计双塔bi-encoder架构中查询与文档的文本分布天然不对称——查询是短问句文档是长段落。前缀相当于一个轻量条件开关告诉模型当前在编码哪一侧。模板刻意省略了生成式模型的对话包裹和 BOS/EOS 标记模板头部注释已说明让推理 token 与训练时逐一对齐这也是前缀必须原样照抄的原因。️ 图文混合检索三种输入形态输入形态前缀说明纯文本查询query:查询侧只接受文本纯文本文档passage:正文、OCR 文本或章节片段纯图片文档passage:含文字、表格、图表、信息图的页面截图图片文本文档passage:图片与配套文本联合编码用官方示例验证查询What is NVIDIA NeMo Framework?四种文档的余弦相似度文档相似度图片 相关文本0.5217纯图片0.5090纯文本0.4577无关文本生物模型介绍0.1126 两个观察相关与无关内容的分数差距很大≈0.5 vs ≈0.11便于设置检索阈值图片文本联合编码分数最高说明混合输入能互相增强语义信号。️ 四个调优技巧技巧一用 longest_edge 控制图片尺寸图片处理器 processor_config.json 默认longest_edge为1120 像素最高可提到1540 像素config.json 中image_size: 1540。图片 token 与文本共享 32768 上下文预算页面过大时优先降分辨率而不是截文本视觉侧 patch 为 14px、空间合并系数 2processor_config.json分辨率翻倍会带来约 4 倍图像 token需留有余量。技巧二动态截断嵌入维度默认输出 2048 维。你可以从向量末尾截断到 1024 或 512 维官方验证截断后检索依然有效但有一个前提⚠️截断之后必须重新做 L2 归一化否则余弦相似度计算会失真。对存储成本和向量索引HNSW/IVF的查询延迟这是性价比最高的一刀。技巧三均值池化 L2 归一化一步都不能少编码流程是token 级隐状态 →均值池化mean pooling→L2 归一化→ 2048 维向量见 1_Pooling/config.json 与 modules.json 中的Normalize模块。vLLM 部署时对应PoolerConfig(taskembed, pooling_typeMEAN, use_activationTrue)。自己手写推理代码时这两步mask 加权平均 F.normalize必须显式补齐且截断场景下归一化放在截断之后。技巧四按场景选择部署方式方案特点前缀处理方式Transformers控制最灵活Flash Attention 2手动构造 system 消息Sentence Transformers开箱即用encode_query()/encode_document()自动加正确前缀vLLM 离线高吞吐批量编码apply_chat_templatemulti_modal_data传图vLLM 在线服务HTTP/v2/embed接口请求体input_type: query / document自动选择前缀truncate: END尾部截断 新手推荐 Sentence Transformers 路径两个方法名就对应两个前缀天然避免查询侧用了 passage:这类低级错误。⚠️ 避坑清单前缀混用或缺失query 与 passage 前缀必须两侧严格配对且原样保留冒号与空格query:/passage:截断后忘记重新 L2 归一化相似度直接失真超长输入文本 图像 token 合计超过 32,768 会报错官方建议缩短文本或降低图片分辨率transformers 版本5.17.0 ~ 5.19.0 搭配flash_attention_2处理图片输入会出现 CUDA 错误或结果异常请升级到transformers5.20.0README.md Troubleshooting 一节环境要求Python 3.12 torch flash-attn需--no-build-isolation安装仅支持 Linux NVIDIA GPU。✅ 总结Nemotron-3.5-Embed-1B-BF16 把复杂的图文混合检索封装成了一条极简规则查询用query:文档用passage:向量做均值池化后 L2 归一化。理解 config_sentence_transformers.json 中的前缀映射、chat_template.jinja 的 system 角色渲染再配合longest_edge图片尺寸、动态维度截断这两项调优就能把这套 1.55B 的多模态嵌入模型稳定跑进你的 RAG 或语义搜索系统中。赞分享人工智能Embedding基础模型RAG多模态【免费下载链接】Nemotron-3.5-Embed-1B-BF16项目地址https://ai.gitcode.com/hf_mirrors/nvidia/Nemotron-3.5-Embed-1B-BF16点击查看免费下载相关推荐semantic-segmentation高级特性解析边界松弛、类别均匀采样与RMI损失semantic segmentation高级特性解析边界松弛、类别均匀采样与RMI损失 Nvidia Semantic Segmentation项目sem人工智能Embedding基础模型RAG多模态10分钟上手Nemotron-3.5-Embed-1B-BF16从环境配置到首次推理的完整新手教程10分钟上手Nemotron 3.5 Embed 1B BF16从环境配置到首次推理的完整新手教程 Nemotron 3.5 Embed 1B BF16 是人工智能Embedding基础模型RAG多模态三行代码开始嵌入检索Nemotron-3.5-Embed-8B-BF16 Sentence Transformers实战指南三行代码开始嵌入检索Nemotron 3.5 Embed 8B BF16 Sentence Transformers实战指南 Nemotron 3.5 Emb人工智能大模型基础模型Embedding多模态RAG上一篇终极自动化指南如何用星穹铁道模拟宇宙助手彻底解放双手下一篇Groove Basin社区贡献指南从问题报告到代码提交完整流程创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
阅读完成 · 觉得有帮助?