模型:

allenai/specter2_proximity

英文

将allennai/specter2适配成allenai/specter2_proximity

该适配器针对allennai/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_proximity", source="hf", set_active=True)

SPECTER 2.0

SPECTER 2.0是SPECTER的后续版本,配合 adapters 可以为科学任务生成任务特定的嵌入。给定科学论文的标题和摘要或短文本查询,该模型可以生成用于下游应用的有效嵌入。

模型详细信息

模型描述

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

训练的任务格式:

  • 分类
  • 回归
  • 接近度
  • Adhoc搜索

这是一个特定于检索的适配器。对于需要从语料库中检索给定论文查询的其他相关论文的任务,请使用此适配器生成嵌入。

它建立在 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 + adapters
  • 许可证:Apache 2.0
  • 从模型进行微调: allenai/scibert

模型来源

用途

直接使用

Model Name and HF link Description
Retrieval* 12318321 Encode papers as queries and candidates eg. Link Prediction, Nearest Neighbor Search
Adhoc Query 12319321 Encode short raw text queries for search tasks. (Candidate papers can be encoded with proximity)
Classification 12320321 Encode papers to feed into linear classifiers as features
Regression 12321321 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_proximity", source="hf", load_as="specter2_proximity", 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,epochs=2,预热步骤=10% fp16

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

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

评估

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

Model SciRepEval In-Train SciRepEval Out-of-Train SciRepEval Avg MDCR(MAP, Recall@5)
12328321 n/a n/a n/a (33.7, 28.5)
12329321 54.7 57.4 68.0 (30.6, 25.5)
12330321 55.6 57.8 69.0 (32.6, 27.3)
12331321 61.9 59.0 70.9 (35.3, 29.6)
12332321 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}
}