模型:

flax-sentence-embeddings/all_datasets_v3_distilroberta-base

英文

模型描述

该项目旨在使用自监督对比学习目标,在非常大的句子级数据集上训练句子嵌入模型。我们使用预训练的 distilroberta-base 模型,并在一个包含10亿个句对的数据集上进行微调。我们使用对比学习目标:给定一对句子中的一句,模型应该预测在我们的数据集中与之配对的一组其他句子中,实际上是哪个句子与之配对。

我们在由Hugging Face组织的 Community week using JAX/Flax for NLP & CV 中开发了这个模型。我们开发这个模型作为项目 Train the Best Sentence Embedding Model Ever with 1B Training Pairs 的一部分。我们从Google的Flax,JAX和Cloud团队成员那里获得了有关高效深度学习框架的干预以及高效硬件基础设施(7个TPU v3-8)来运行该项目。

预期用途

我们的模型旨在用作句子编码器。给定一个输入句子,它输出一个向量,该向量捕捉句子的语义信息。该句向量可用于信息检索、聚类或句子相似性任务。

如何使用

使用 SentenceTransformers 库获取给定文本的特征的使用方法如下:

from sentence_transformers import SentenceTransformer

model = SentenceTransformer('flax-sentence-embeddings/all_datasets_v3_distilroberta-base')
text = "Replace me by any text you'd like."
text_embbedding = model.encode(text)
# array([-0.01559514,  0.04046123,  0.1317083 ,  0.00085931,  0.04585106,
#        -0.05607086,  0.0138078 ,  0.03569756,  0.01420381,  0.04266302 ...],
#        dtype=float32)

训练过程

预训练

我们使用预训练的 distilroberta-base 模型。有关预训练过程的更详细信息,请参阅模型卡片。

微调

我们使用对比目标进行模型微调。形式上,我们计算批次中每个可能的句子对的余弦相似度。然后,我们通过与真实对进行比较应用交叉熵损失。

超参数

我们在 TPU v3-8 上训练了模型。我们使用批量大小为1024(每个TPU核心128个)。我们使用了500个学习率预热步骤。序列长度限制为128个标记。我们使用了AdamW优化器和2e-5的学习率。完整的训练脚本可以在当前存储库中访问。

训练数据

我们使用多个数据集的连接来微调我们的模型。总共句对数量超过了10亿个句子。我们根据详细配置在 data_config.json 文件中给出的加权概率对每个数据集进行取样。

Dataset Paper Number of training tuples
1236321 1237321 3,012,496
1238321 - 364,001
1239321 12310321 317,695
[COCO 2020](COCO 2020) 12311321 828,395
12312321 - 1,151,414
12313321 - 73,346
12314321 12315321 87,599
12316321 12317321 100,231
12318321 12319321 102,225
12320321 - 103,663
12321321 12322321 112,696
12323321 12324321 128,542
12325321 12326321 180,000
AllNLI ( 12327321 and 12328321 12329321 , 12330321 277,230
12331321 12332321 325,475
12333321 12334321 684,100
12335321 Title/Abstract 12336321 41,769,185
12335321 Citation/Citation 12336321 52,603,982
12335321 Citation/Abstract 12336321 116,288,806
12341321 12342321 64,371,441
12343321 12344321 77,427,422
SearchQA - 582,261
12345321 Title/Answer 12346321 1,198,260
12345321 Title/Question 12346321 659,896
12345321 Question/Answer 12346321 681,164
12351321 12352321 9,144,553
12353321 12354321 726,484,430
total 1,097,953,922