🚀 句子相似度模型
本项目旨在使用自监督对比学习目标,在超大规模的句子级数据集上训练句子嵌入模型。通过该模型,能够将输入的句子转化为向量,捕捉句子语义信息,可广泛应用于信息检索、聚类或句子相似度等任务。
🚀 快速开始
本模型可作为句子编码器使用。输入一个句子,它将输出一个能捕捉句子语义信息的向量。该句子向量可用于信息检索、聚类或句子相似度任务。
✨ 主要特性
- 基于自监督对比学习目标,在大规模句子级数据集上训练。
- 使用预训练的 'MiniLM-L12' 模型,并在 10 亿个句子对上进行微调。
- 可用于信息检索、聚类或句子相似度任务。
📦 安装指南
本 README 未提供安装相关内容,若需使用可参考 SentenceTransformers 库的安装说明。
💻 使用示例
基础用法
from sentence_transformers import SentenceTransformer
model = SentenceTransformer('flax-sentence-embeddings/all_datasets_v4_MiniLM-L12')
text = "Replace me by any text you'd like."
text_embbedding = model.encode(text)
📚 详细文档
模型描述
本项目旨在使用自监督对比学习目标,在非常大的句子级数据集上训练句子嵌入模型。我们使用了预训练的 'MiniLM-L12' 模型,并在 10 亿个句子对上进行了微调。我们使用对比学习目标:给定一对句子中的一个句子,模型应预测在一组随机采样的其他句子中,哪个句子实际上在我们的数据集中与它配对。
我们在由 Hugging Face 组织的 使用 JAX/Flax 进行自然语言处理和计算机视觉的社区周 期间开发了此模型。我们将此模型作为项目 使用 10 亿个训练对训练有史以来最好的句子嵌入模型 的一部分进行开发。我们受益于高效的硬件基础设施来运行该项目:7 个 TPU v3 - 8,以及谷歌的 Flax、JAX 和云团队成员在高效深度学习框架方面的支持。
预期用途
我们的模型旨在用作句子编码器。给定一个输入句子,它会输出一个捕捉句子语义信息的向量。该句子向量可用于信息检索、聚类或句子相似度任务。
🔧 技术细节
训练过程
预训练
我们使用预训练的 'MiniLM-L12' 模型。有关预训练过程的更多详细信息,请参考模型卡片。
微调
我们使用对比目标对模型进行微调。具体来说,我们计算批次中每对可能句子的余弦相似度,然后通过与真实对进行比较来应用交叉熵损失。
超参数
我们在 TPU v3 - 8 上训练模型。训练步数为 540k,批次大小为 1024(每个 TPU 核心 128)。学习率预热步数为 500。序列长度限制为 128 个标记。我们使用 AdamW 优化器,学习率为 2e - 5。完整的训练脚本可在当前存储库中找到。
训练数据
我们使用多个数据集的组合来微调模型。句子对的总数超过 10 亿。我们根据加权概率对每个数据集进行采样,具体配置在 data_config.json
文件中详细说明。
数据集 |
论文 |
训练元组数量 |
GOOAQ: Open Question Answering with Diverse Answer Types |
论文 |
3,012,496 |
Stack Exchange |
- |
364,001 |
Flickr 30k |
论文 |
317,695 |
[COCO 2020](COCO 2020) |
论文 |
828,395 |
Code Search |
- |
1,151,414 |
TriviaqQA |
- |
73,346 |
SQuAD2.0 |
论文 |
87,599 |
Natural Questions (NQ) |
论文 |
100,231 |
Simple Wikipedia |
论文 |
102,225 |
Quora Question Pairs |
- |
103,663 |
Altlex |
论文 |
112,696 |
Wikihow |
论文 |
128,542 |
Sentence Compression |
论文 |
180,000 |
AllNLI (SNLI 和 MultiNLI |
论文 SNLI,论文 MultiNLI |
277,230 |
Eli5 |
论文 |
325,475 |
SPECTER |
论文 |
684,100 |
S2ORC 标题/摘要 |
论文 |
41,769,185 |
S2ORC 引用/引用 |
论文 |
52,603,982 |
S2ORC 引用/摘要 |
论文 |
116,288,806 |
PAQ |
论文 |
64,371,441 |
WikiAnswers |
论文 |
77,427,422 |
SearchQA |
- |
582,261 |
Yahoo Answers 标题/答案 |
论文 |
1,198,260 |
Yahoo Answers 标题/问题 |
论文 |
659,896 |
Yahoo Answers 问题/答案 |
论文 |
681,164 |
MS MARCO |
论文 |
9,144,553 |
Reddit conversationnal |
论文 |
726,484,430 |
总计 |
|
1,097,953,922 |