模型:

allenai/specter2_adhoc_query

英文

适配器 allenai/specter2_adhoc_query 适用于 allenai/specter2

这是一个针对 allenai/specter2 模型的适配器,其在 allenai/scirepeval 数据集上进行训练。

该适配器是为与 adapter-transformers 库一起使用而创建的。

使用

首先,安装 adapter-transformers:

pip install -U adapter-transformers

注意:adapter-transformers 是 transformers 的一个分支,支持适配器,可以直接替换使用。

现在,可以按以下方式加载和激活适配器:

from transformers import AutoAdapterModel

model = AutoAdapterModel.from_pretrained("allenai/specter2")
adapter_name = model.load_adapter("allenai/specter2_adhoc_query", source="hf", set_active=True)

SPECTER 2.0

SPECTER 2.0 是 SPECTER 的后续版本,并且可以与 adapters 配对生成科学任务的特定嵌入。通过给出科学论文的标题和摘要或者一个短文本查询,该模型可以生成有效的嵌入以供后续应用使用。

模型详细信息

模型描述

SPECTER 2.0 在超过600万个科学论文引用的三元组上进行了训练,这些三元组可在 here 上获得。然后,它通过使用特定于任务格式的适配器在所有 SciRepEval 训练任务上进行训练。

已训练任务格式:

  • 分类
  • 回归
  • 接近性
  • 通用搜索

这是用于通用搜索查询的适配器。对于需要针对短文本查询检索论文的任务,请使用该适配器对查询进行编码,然后使用 allenai/specter2_proximity 对候选论文进行编码。

它在 SciRepEval: A Multi-Format Benchmark for Scientific Document Representations 的基础上进行了改进,并且我们也在该基准测试中评估了训练模型。

  • 开发者:Amanpreet Singh,Mike D'Arcy,Arman Cohan,Doug Downey,Sergey Feldman
  • 提供者:Allen AI
  • 模型类型:bert-base-uncased + 适配器
  • 许可证:Apache 2.0
  • 基于模型进行微调: allenai/scibert

模型来源

用途

直接使用

Model Name and HF link Description
Retrieval* 12319321 Encode papers as queries and candidates eg. Link Prediction, Nearest Neighbor Search
Adhoc Query 12320321 Encode short raw text queries for search tasks. (Candidate papers can be encoded with proximity)
Classification 12321321 Encode papers to feed into linear classifiers as features
Regression 12322321 Encode papers to feed into linear regressors as features

对于未提及的下游任务类型,使用检索模型即可。

from transformers import AutoTokenizer, AutoModel

# load model and tokenizer
tokenizer = AutoTokenizer.from_pretrained('allenai/specter2')

#load base model
model = AutoModel.from_pretrained('allenai/specter2')

#load the adapter(s) as per the required task, provide an identifier for the adapter in load_as argument and activate it
model.load_adapter("allenai/specter2_adhoc_query", source="hf", load_as="specter2_adhoc_query", set_active=True)

papers = [{'title': 'BERT', 'abstract': 'We introduce a new language representation model called BERT'},
          {'title': 'Attention is all you need', 'abstract': ' The dominant sequence transduction models are based on complex recurrent or convolutional neural networks'}]

# concatenate title and abstract
text_batch = [d['title'] + tokenizer.sep_token + (d.get('abstract') or '') for d in papers]
# preprocess the input
inputs = self.tokenizer(text_batch, padding=True, truncation=True,
                                   return_tensors="pt", return_token_type_ids=False, max_length=512)
output = model(**inputs)
# take the first token in the batch as the embedding
embeddings = output.last_hidden_state[:, 0, :]

下游使用

要进行评估和下游使用,请参考 https://github.com/allenai/scirepeval/blob/main/evaluation/INFERENCE.md

训练详情

训练数据

基础模型是在论文之间的引用链接上进行训练的,适配器则在四个格式的8个大型任务上进行训练。所有数据都是 SciRepEval 基准测试的一部分,可以在 here 上获得。

引用链接是以下形式的三元组:

{"query": {"title": ..., "abstract": ...}, "pos": {"title": ..., "abstract": ...}, "neg": {"title": ..., "abstract": ...}}

其中包括一个查询论文、一个正引用和一个负引用,可以是来自查询的同一/不同研究领域的引用或引用的引用。

训练过程

请参考 SPECTER paper

训练超参数

该模型使用 SciRepEval 进行两个阶段的训练:

  • 基础模型:首先,在上述引文三元组上训练基础模型。

批次大小=1024,最大输入长度=512,学习率=2e-5,轮数=2,预热步骤=10% fp16

  • 适配器:然后,在 SciRepEval 训练任务上训练特定于任务格式的适配器,其中从上述样本中抽取了60万个三元组,并将其添加到训练数据中。

批次大小=256,最大输入长度=512,学习率=1e-4,轮数=6,预热=1000步 fp16

评估

我们在 SciRepEval 上对模型进行评估,该基准测试是一个用于科学嵌入任务的大规模评估基准测试,其中包含[SciDocs]作为一个子集。我们还在 MDCR 上评估和建立了一个新的SoTA,该基准测试是一个用于引文推荐的大规模基准测试。

Model SciRepEval In-Train SciRepEval Out-of-Train SciRepEval Avg MDCR(MAP, Recall@5)
12329321 n/a n/a n/a (33.7, 28.5)
12330321 54.7 57.4 68.0 (30.6, 25.5)
12331321 55.6 57.8 69.0 (32.6, 27.3)
12332321 61.9 59.0 70.9 (35.3, 29.6)
12333321 62.3 59.2 71.2 (38.4, 33.0)

如果您使用了 SPECTER 2.0,请引用以下作品:

SPECTER paper

@inproceedings{specter2020cohan,
  title={{SPECTER: Document-level Representation Learning using Citation-informed Transformers}},
  author={Arman Cohan and Sergey Feldman and Iz Beltagy and Doug Downey and Daniel S. Weld},
  booktitle={ACL},
  year={2020}
}

SciRepEval paper

@article{Singh2022SciRepEvalAM,
  title={SciRepEval: A Multi-Format Benchmark for Scientific Document Representations},
  author={Amanpreet Singh and Mike D'Arcy and Arman Cohan and Doug Downey and Sergey Feldman},
  journal={ArXiv},
  year={2022},
  volume={abs/2211.13308}
}