描述
SpanBERT 是 Facebook Research 开发的一款先进 AI 模型,旨在通过专注于文本片段的表示和预测来增强预训练技术。该代码库提供了研究人员和开发人员使用和评估 SpanBERT 功能所需的代码和模型。
该项目提供基础版和大型版(区分大小写)的预训练模型。这些模型与 BERT 具有相同的配置,但采用了不同的掩码方案和训练目标,具体细节请参阅相关论文。SpanBERT(基础版 & 区分大小写)模型采用 12 层架构,具有 768 个隐藏单元和 12 个注意力头,总计 1.1 亿个参数。大型 SpanBERT(大型版 & 区分大小写)模型拥有 24 层架构,1024 个隐藏单元,16 个注意力头,共 3.4 亿个参数。这些模型设计用于无缝集成,采用 HuggingFace BERT 模型格式,便于替换。
该代码库包含用于在各种自然语言处理 (NLP) 任务上微调 SpanBERT 的全面代码。提供了用于在 SQuAD 1.1 和 SQuAD 2.0 问答数据集、用于关系抽取的 TACRED 以及包含 NewsQA、TriviaQA、SearchQA、HotpotQA 和 NaturalQuestions 等数据集的 MRQA 基准上进行微调的特定脚本。此外,还提供了用于在 GLUE 任务(如 RTE)上进行微调的代码。对于共指消解任务,链接了一个单独的 TensorFlow 实现。
性能基准测试结果显示,SpanBERT 在 SQuAD 1.1、SQuAD 2.0、Coref 和 TACRED 数据集上的表现优于 BERT。例如,SpanBERT(大型版)在 SQuAD 1.1 上取得了 94.6 的 F1 分数,在 SQuAD 2.0 上取得了 88.7 的 F1 分数,均优于 BERT(大型版)。该项目还便于下载用于下游任务的微调模型,从而简化了用户的采用过程。
SpanBERT 在 CC-BY-NC 4.0 许可下发布,该许可适用于代码和预训练模型。这使其可用于非商业研究和开发。该代码库鼓励贡献,并提供联系信息以获取咨询和支持。
SpanBERT亮点
预训练的 SpanBERT 模型(基础版和大型版,区分大小写)
用于使用和评估 SpanBERT 的代码
用于 SQuAD 1.1 和 SQuAD 2.0 的微调脚本
用于 TACRED 关系抽取的微调脚本
用于 MRQA 数据集(NewsQA、TriviaQA 等)的微调脚本
用于 GLUE 任务(RTE)的微调脚本
与 HuggingFace BERT 模型格式兼容
提供共指消解微调代码
与 BERT 的性能基准对比
可下载用于下游任务的微调模型
SpanBERT:通过表示和预测片段改进预训练的论文实现
SpanBERT入门
访问代码:克隆 SpanBERT GitHub 代码库。
设置环境:安装所需的依赖项,包括 Apex(推荐特定提交)。
加载预训练模型:使用提供的脚本加载基础版或大型版(区分大小写)SpanBERT 模型。
微调模型:执行提供的 Python 脚本以完成 SQuAD、TACRED、MRQA 或 GLUE 等任务。
通过 API 集成:改编模型用法以用于自定义应用程序,利用 HuggingFace 兼容性。
评估性能:运行评估脚本以评估模型在特定 NLP 任务上的性能。
下载微调模型:使用提供的脚本获取用于下游任务的预训练模型。
SpanBERT的使用案例
- 问答
- 关系抽取
- 共指消解
- 自然语言理解
- 文本片段预测
- 研究与开发
- 基准评估







