- 人工智能
- 深度学习
- 计算机视觉
- NLP
- 语音
【免费下载链接】models
Officially maintained, supported by PaddlePaddle, including CV, NLP, Speech, Rec, TS, big models and so on.
本指南以 PaddleNLP 社区模型amberoad/bert-multilingual-passage-reranking-msmarco为核心,完整讲解该模型的文件清单、两种下载方式(手动下载与paddlenlpCLI 工具下载)、在 PaddlePaddle 环境中的加载调用方法,以及模型的输入输出约束、推理性能与训练数据来源。读完本文,你将能够独立完成该多语言 Passage Reranking 模型的获取、加载与初步推理验证,并将其接入搜索排序、问答召回等场景。
本模型为多语言(支持 100+ 种语言)段落重排序模型,用于判断给定搜索查询(query)与候选段落(passage)之间的匹配程度,可对检索结果(如 Elasticsearch 召回结果)进行二次重排序以提升相关性。该模型以 PaddleNLP 社区模型的形式收录于当前仓库的 modelcenter/community/amberoad/bert-multilingual-passage-reranking-msmarco 目录下,配套英文下载文档为 download_en.md,英文模型介绍 Notebook 为 introduction_en.ipynb,模型元信息(任务类型、License、出处等)见 info.yaml。
一、模型概览:它是什么、解决什么问题
1.1 模型定位与核心用途
根据 info.yaml 中的元信息,该模型的官方描述为"Passage Reranking Multilingual BERT"(多语言段落重排序 BERT),归属于自然语言处理(Natural Language Processing)大类下的**文本分类(Text Classification)**子任务,采用 Apache-2.0 开源协议。
从 introduction_en.ipynb 的模型卡片可知其核心设计目标:
- 输入:一条搜索查询(query)与一条候选段落(passage),支持超过 100 种语言;
- 功能:计算该段落是否与查询匹配,输出匹配程度评分;
- 典型应用:作为检索结果(例如 Elasticsearch 的召回结果)的改进排序层。模型作者在模型卡片中说明,使用该模型对初筛结果进行重排序可显著提升相关性(原卡片表述为 "boosts the relevancy by up to 100%",该表述来自模型作者,实际收益需结合具体检索场景验证)。
这一"召回 + 重排序"(Retrieve-then-Rerank)范式是信息检索系统的经典两阶段方案:第一阶段用 BM25 等轻量算法快速召回候选集,第二阶段用 BERT 类模型对候选集精排。该模型正是第二阶段的即用型组件。
1.2 模型架构与输出
该模型的架构建立在 BERT 之上(模型卡片描述源自论文Passage Re-ranking with BERT,仓库 info.yaml 的Paper字段记录了该论文出处):
- BERT 编码 query 与 passage 的拼接序列;
- 在 BERT 之上接一个全连接神经网络(Densely Connected NN),以 768 维的
[CLS]Token 表示作为输入; - 输出为单个标量分数,取值范围大致在-10 到 10之间,query 与 passage 匹配度越高的组合,其得分越高。
这种"取[CLS]向量 + 打分头"的结构是段落重排序模型的经典实现方式,与 BERT 原论文提出的单句/句对分类范式一致。
1.3 模型出处与格式说明
该模型原始权重来源于 Hugging Face 社区模型amberoad/bert-multilingual-passage-reranking-msmarco,经转换为 PaddlePaddle 权重格式后收录进 PaddleNLP 生态(此转换说明记录于 introduction_en.ipynb 末尾的引用块中),因此可直接通过 PaddleNLP 的AutoModel接口加载使用,无需额外格式转换。
二、模型文件清单与大小
根据 download_en.md 中的模型列表,该模型总大小约为638.44MB,由以下 4 个文件组成:
| 文件 | 说明 |
|---|---|
model_config.json | BERT 模型结构配置文件(层数、隐藏维度、头数等超参数) |
model_state.pdparams | PaddlePaddle 格式的模型权重文件(体积最大的文件) |
tokenizer_config.json | Tokenizer 配置(特殊 Token、分词参数等) |
vocab.txt | 多语言词表(覆盖 100+ 种语言的分词词汇表) |
模型文件托管在 PaddleNLP 的对象存储上,基础下载地址形如:
https://bj.bcebos.com/paddlenlp/models/community/amberoad/bert-multilingual-passage-reranking-msmarco/<文件名>将上表中的四个文件名依次拼接到该地址后即可手动下载。为保证模型可用性,上述 4 个文件必须全部下载齐全:model_config.json与model_state.pdparams缺一不可,tokenizer_config.json与vocab.txt则服务于分词与 Token 映射。
提示:原文档 download_en.md 中的表格还给出了每个文件的独立下载入口;中文对照版见 download_cn.md,两份文档内容一致,可按语言偏好阅读。
三、下载方式一:paddlenlp CLI 一键下载(推荐)
手动逐个下载 4 个文件较为繁琐,原文档提供了更高效的方式——使用 PaddleNLP 自带的 CLI 工具一键下载完整模型。步骤如下:
第 1 步:安装 / 升级 paddlenlp
pip install --upgrade paddlenlp--upgrade参数会确保安装或升级到当前环境可用的最新版本,避免因版本过旧导致 CLI 命令或模型加载接口不兼容。
第 2 步:使用 CLI 下载模型
paddlenlp download --cache-dir ./pretrained_models amberoad/bert-multilingual-passage-reranking-msmarco命令说明:
paddlenlp download:PaddleNLP 提供的模型下载子命令;--cache-dir ./pretrained_models:指定模型缓存目录,模型文件将保存到当前目录下的pretrained_models/amberoad/bert-multilingual-passage-reranking-msmarco/中,便于统一管理多个模型;amberoad/bert-multilingual-passage-reranking-msmarco:待下载的社区模型 ID,与下载文档模型列表中的模型名称一致。
执行完成后,./pretrained_models/amberoad/bert-multilingual-passage-reranking-msmarco/目录下应出现第二节表格中的 4 个文件。该 CLI 方式会自动完成 4 个文件的下载与落盘,避免手动逐个下载时遗漏文件。
说明:该 CLI 下载方式在社区模型中具有通用性,仓库内其他社区模型(如
Jean-Baptiste/roberta-large-ner-english、Langboat/mengzi-bert-base-fin、Recognai/bert-base-spanish-wwm-cased-xnli、allenai/macaw-large、allenai/specter等)的 download_cn.md 文档中均采用同一命令范式,仅替换模型 ID 即可。
四、下载方式二:在 PaddleNLP 中按名自动加载(懒下载)
除了显式执行 CLI 下载,更常见的做法是直接调用 PaddleNLP 的AutoModel.from_pretrained接口,传入模型 ID。from_pretrained会自动检查本地缓存,若本地不存在对应权重则会自动执行下载,实现"首次使用即下载"的懒加载体验。
introduction_en.ipynb 中给出的最小验证代码如下:
import paddle from paddlenlp.transformers import AutoModel model = AutoModel.from_pretrained("amberoad/bert-multilingual-passage-reranking-msmarco") input_ids = paddle.randint(100, 200, shape=[1, 20]) print(model(input_ids))代码要点:
- 导入
paddle(PaddlePaddle 框架)与 PaddleNLP 的AutoModel; - 通过
AutoModel.from_pretrained("amberoad/bert-multilingual-passage-reranking-msmarco")加载模型,模型 ID 与下载文档中的名称完全一致; - 构造一组随机
input_ids(示例中形状为[1, 20],即 batch size 为 1、序列长度为 20)验证前向推理通路; print(model(input_ids))输出前向结果,确认模型在本地环境中可正常加载与计算。
需要说明的是,示例中的随机input_ids仅用于验证加载与推理链路是否通畅,真实的重排序推理需要将 query 与 passage 拼接后经 BERT Tokenizer 编码得到语义正确的 Token ID 序列。
五、使用限制与推理性能注意事项
该模型在实践中有两项明确的约束(源自 introduction_en.ipynb 的 "Intended uses & limitations" 一节),在设计重排序服务时必须提前评估:
- 长度限制:query 与 passage 拼接后必须能放入512 个 Token的窗口内。超出部分会被截断,超长段落需先做截断或分段处理。
- 推理耗时:模型作者给出的经验值是约 300ms / query(该数值与具体硬件环境相关,作者未在文档中标注硬件型号,实际耗时请以本地实测为准)。由于重排序通常只针对召回阶段的前几十条结果进行,300ms 级别的单次推理在多数场景下可以接受,但若候选集规模很大,需要评估吞吐量是否满足线上延迟要求。
六、训练数据与模型出处
根据 introduction_en.ipynb 的 "Training data" 一节,该模型基于Microsoft MS MARCO 数据集训练,关键信息如下:
- 训练数据规模:约4 亿条 (query, 相关段落, 不相关段落)三元组样本;
- 训练集:名为Train Triples Large;
- 评估集:名为Top 1000 Dev,开发集共6,900 条查询,每条查询对应由 BM25 从 MS MARCO 语料库检索出的Top 1,000 条候选段落。
这一"Train Triples Large 训练 + Top 1000 Dev 评估"的设置正是 Passage Ranking 任务的经典数据划分:模型学习区分相关与不相关段落,评估时对 BM25 召回的 1000 条候选进行重排序打分。
七、问题排查与支持渠道
原文档指出,若在模型下载或使用过程中遇到任何问题,可在 PaddleNLP 官方仓库提交 Issue 获取支持。结合本节内容,常见的排查思路包括:
- 下载中断或文件缺失:确认
pretrained_models/amberoad/bert-multilingual-passage-reranking-msmarco/下 4 个文件齐全,必要时重跑paddlenlp download命令; - 加载报错:确认已安装最新版
paddlenlp(pip install --upgrade paddlenlp),并确认本机已安装 PaddlePaddle 框架(import paddle可正常执行); - 长度超限:检查输入 query + passage 拼接后的 Token 数是否超过 512;
- 性能不达标:结合线上候选集规模评估 300ms/query 级别的推理耗时是否可接受,必要时对段落做截断或裁剪候选集。
八、总结
amberoad/bert-multilingual-passage-reranking-msmarco是一个即用型的多语言段落重排序模型:输入 query 与 passage,输出 -10 到 10 之间的匹配分数,适合叠加在 BM25 / Elasticsearch 等召回方案之上构建两阶段检索系统。本文完整覆盖了其文件清单(约 638.44MB,共 4 个文件)、两种下载方式(paddlenlp downloadCLI 一键下载与AutoModel.from_pretrained懒加载)、最小推理验证代码,以及 512 Token 长度限制、推理耗时、MS MARCO 训练数据等关键使用约束。相关原始文档与 Notebook 均可在当前仓库的 modelcenter/community/amberoad/bert-multilingual-passage-reranking-msmarco 目录下查阅(download_en.md、download_cn.md、introduction_en.ipynb、info.yaml),配合 modelcenter/guide_en.md 可了解整个模型中心的使用体系。
- 人工智能
- 深度学习
- 计算机视觉
- NLP
- 语音
【免费下载链接】models
Officially maintained, supported by PaddlePaddle, including CV, NLP, Speech, Rec, TS, big models and so on.
相关推荐
Wand-Enhancer:本地解锁 Pro、关闭自动更新与手机远程面板完整指南
Wand Enhancer:本地解锁 Pro、关闭自动更新与手机远程面板完整指南 Wand Enhancer 是一个开源的本地增强工具,它改写 Wand(原 W
人工智能深度学习计算机视觉NLP语音PaddleNLP 社区多语言 BERT 模型 bert-base-multilingual-uncased 下载与使用实战指南
PaddleNLP 社区多语言 BERT 模型 bert base multilingual uncased 下载与使用实战指南 本篇技术指南围绕 Paddle
人工智能深度学习计算机视觉NLP语音bert-base-multilingual-uncased 模型下载与 PaddleNLP 使用指南
bert base multilingual uncased 模型下载与 PaddleNLP 使用指南 本文面向需要在本仓库(models)中查找、下载并使用多
人工智能深度学习计算机视觉NLP语音
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考