NVIDIA 发布 Nemotron 3 Embed 系列,8B 版本在 RTEB 基准上排名第一
NVIDIA AI Releases Nemotron 3 Embed: An Open Embedding Collection Whose 8B Checkpoint Ranks #1 on RTEB
NVIDIA 发布 Nemotron 3 Embed 系列,包含三个开源 checkpoint,其中 8B-BF16 版本在 RTEB 基准上以 78.46 的平均 NDCG@10 排名第一。1B-NVFP4 版本在 Blackwell 上吞吐量比 BF16 高 2 倍,精度保留 99.5%,所有模型最大序列长度 32,768 tokens。
嵌入模型不是最热的赛道,但决定了你 Agent 看到什么——NVIDIA 把 1B 模型压缩到 RTEB 第二,NVFP4 量化后精度几乎不变,做 RAG 的值得换上。
嵌入向量模型决定了智能体究竟能看到哪些段落。NVIDIA 发布了 Nemotron 3 Embed 模型,正是针对这一层发力。它面向生产级 RAG、智能体检索、代码检索以及智能体记忆。
什么是 Nemotron 3 Embed?
该模型系列包含三个开放检查点。Nemotron-3-Embed-8B-BF16 是精度优先的选择。Nemotron-3-Embed-1B-BF16 将同样的设计带入更小的体量。Nemotron-3-Embed-1B-NVFP4 是面向 Blackwell 优化的 4-bit 路径。
三者均为 Transformer 编码器,采用 双向注意力掩码训练。最终嵌入向量来自对 token 级表示的 平均池化。每个检查点的最大序列长度均为 32,768 个 token。
每个模型均在 34 种语言上进行了评估。三者均采用 OpenMDW 许可协议 1.1 版(OpenMDW-1.1)。值得注意的是,其基座均为 Mistral 模型。8B 版本基于 Ministral-3-8B-Instruct-2512 构建。两个 1B 变体均使用 Ministral-3-3B-Instruct-2512。
性能
Nemotron-3-Embed-8B-BF16排名综合排名第 1,在RTEB(截至 2026 年 7 月 17 日),即检索嵌入基准(Retrieval Embedding Benchmark)。评估覆盖其 16 项公开任务。以下每个数字均为模型序列长度 4096 下的平均 NDCG@10。
| 模型 | 参数量 | 嵌入维度 | RTEB | ViDoRe-V3 文本 | MMTEB(检索) |
|---|---|---|---|---|---|
| Nemotron-3-Embed-8B-BF16 | ~8B | 4096 | 78.46 | 60.60 | 75.45 |
| Nemotron-3-Embed-1B-BF16 | 1.14B | 2048 | 72.38 | 57.74 | 71.04 |
| Nemotron-3-Embed-1B-NVFP4 | 1.14B | 2048 | 72.00 | — | — |
| llama-nemotron-embed-vl-1b-v2 | — | — | 61.98 | 52.54 | 59.71 |
| llama-nemotron-embed-1b-v2 | — | — | 60.47 | 52.10 | 59.58 |
有两处差距值得注意。1B 相比 llama-nemotron-embed-vl-1b-v2 这一上一代基线提升了 10.4 个 RTEB 点。另外,NVFP4 相比其 BF16 母版本损失了 0.38 个 RTEB 点,即保留了 99.5%。
1B 模型是如何构建的?
这些 1B 分数来自一条压缩流水线,而非一次更小规模的训练运行。其父模型是 nemotron-3-embed-3b,经过两轮迭代的剪枝与蒸馏。
首先,使用 NVIDIA ModelOpt mcore_minitron 神经架构搜索(NAS) 将 3B 父模型剪枝至 2B。该搜索覆盖隐藏层宽度、FFN 大小、注意力头数和深度。随后从 top-10 帕累托前沿中挑选最佳候选。一个 50k 的域内校准语料库对这些候选进行了评分。
接下来,2B 模型从微调后的 8B 嵌入向量教师模型蒸馏而来。蒸馏结合了 余弦距离损失(COS) 和 均方误差(MSE) 损失。数据混合为多语言且域内。最后,重复相同流程以产出 1.14B 检查点。
NVFP4 服务权衡
随后压缩继续进入服务格式。量化仅作用于线性层的权重和激活值,目标数据类型为 NVFP4。研究团队使用了 nvidia-modelopt v0.45.0。随后进行了 量化感知蒸馏(QAD),主要为了在长输入上恢复精度。
校准使用了 512 个样本:来自 abisee/cnn_dailymail 的 256 个查询和 256 个段落。QAD 训练使用了 20k 个样本。
研究团队报告称,Blackwell 上的 NVFP4 可提供高达 BF16 2 倍的吞吐量。它保留了99%+ 的 BF16 检索准确率。NVFP4 卡片还记录了动态嵌入向量尺寸。你可以将 2048 维向量从开头切分至 1024 或 512 维。之后重新归一化。
交互式讲解:五阶段检索路径
在接触代码之前,先观看这条路径的运行。它动画演示了前缀添加、双向编码、平均池化、L2 归一化和点积评分。分数来自每张卡片公布的预期输出。
部署矩阵
正如该演示所暗示的,这些检查点并不共享运行时路径。
| 功能 | 8B-BF16 | 1B-BF16 | 1B-NVFP4 |
|---|---|---|---|
| Transformers / Sentence Transformers | 是 | 是 | 否 |
vLLM 用于 /v2/embed | 0.25.0 | 0.25.0 | 0.25.0 |
| 微架构 | Ampere、Hopper、Blackwell | Ampere、Hopper、Blackwell | Ampere、Hopper、Lovelace、Blackwell |
| 测试硬件 | A100 80GB、H100 80GB | A100 80GB、H100 80GB | GB200、RTX 6000 PRO、A100、H100、L40、L4 |
| 训练数据 | 50M+ 样本 | 8.5M+(知识蒸馏) | 20k(QAD) |
除了这些检查点之外,NVIDIA 研究团队还发布了针对 1B 模型的优化版 NIM 微服务。这个基于 Rust 的 NIM 在 GB200 和 RTX PRO 6000 上达到或超越了 vLLM 检查点的表现。NVIDIA 测试了 256 和 1024 的输入序列长度。另外,NVIDIA NeMo AutoModel 配方涵盖了微调和知识蒸馏。
在代码中使用
了解了这些路径之后,前缀是首先要处理的。查询使用 query:,文档使用 passage: 。嵌入向量经过 L2 归一化,因此点积等于余弦相似度。
# pip install --upgrade "transformers>=5.2.0" "sentence-transformers>=5.4.1"
import torch
from sentence_transformers import SentenceTransformer
QUERIES = ["How can someone reduce exposure to pollen during allergy season?"]
DOCUMENTS = ["People with pollen allergy can reduce exposure by staying indoors "
"on dry, windy days, avoiding early-morning outdoor activity, and "
"going outside after rain when pollen levels are lower."]
model = SentenceTransformer(
"nvidia/Nemotron-3-Embed-8B-BF16",
device="cuda",
model_kwargs={"dtype": torch.bfloat16,
# use "sdpa" if FlashAttention-2 is unavailable
"attn_implementation": "flash_attention_2"},
processor_kwargs={"padding_side": "left"},
)
model.max_seq_length = 32768
q = model.encode_query(QUERIES, batch_size=1, convert_to_tensor=True)
d = model.encode_document(DOCUMENTS, batch_size=1, convert_to_tensor=True)
print(model.similarity(q, d)) # card's published q[3]/d[3] score: 0.8008encode_query 和 encode_document 会读取已保存的提示词。因此你无需手动添加前缀。在服务部署时,/v2/embed 则从 input_type 中应用它们:
vllm serve nvidia/Nemotron-3-Embed-1B-NVFP4 \
--max-model-len 4096 \
--max-num-batched-tokens 4096 \
--max-cudagraph-capture-size 4096import numpy as np, requests
def embed(input_type: str, texts: list[str]) -> np.ndarray:
r = requests.post(
"http://localhost:8000/v2/embed",
json={"model": "nvidia/Nemotron-3-Embed-1B-NVFP4",
"input_type": input_type, # "query" or "document"
"texts": texts,
"embedding_types": ["float"],
"truncate": "END"},
timeout=120,
)
r.raise_for_status()
return np.array(r.json()["embeddings"]["float"], dtype=np.float32)
scores = embed("query", QUERIES) @ embed("document", DOCUMENTS).T用例与示例
- 多语言企业搜索:一个支持团队将印地语、日语和英语工单一起建立索引。由于检索是跨语言的,一条德语查询可以检索出日语解决方案记录。
- 代码检索:训练数据包含了
coir_apps、coir_cosqa、synthetic_text2sql和 SWE-bench。因此自然语言到代码的查找更接近分布内场景。 - 智能体记忆:32,768 token 的上限让智能体可以嵌入长对话摘要,而无需进行激进的切分。
- 成本分层 RAG:用 1B-NVFP4 承担高吞吐的召回,并将困难查询路由到 8B。由于宽度不同,这需要两个索引。
核心要点
- Nemotron-3-Embed-8B-BF16 在 RTEB 上以 78.46 的平均 NDCG@10 排名第 1。
- 三个开放 checkpoint 涵盖 8B BF16、1B BF16 和 1B NVFP4。
- NVFP4 保留了 BF16 99%+ 的准确率,同时在 Blackwell 上实现最高 2 倍的吞吐量。
- 1B 版本来自 ModelOpt NAS 剪枝,以及从 8B 进行的 COS+MSE 知识蒸馏。
- 所有 checkpoint 均使用 OpenMDW-1.1,并支持 32,768 token 的输入。
来源:MarkTechPost(RSS) · marktechpost.com