HuggingFace镜像/bigbird-pegasus-large-bigpatent
模型介绍文件和版本分析
下载使用量0

BigBirdPegasus 模型(大型)

BigBird 是一种基于稀疏注意力机制的 Transformer,它对 BERT 等基于 Transformer 的模型进行了扩展,使其能够处理更长的序列。此外,BigBird 还从理论层面阐释了稀疏模型所能具备的完整 Transformer 的能力。

BigBird 在该 论文 中首次提出,并在该代码库中首次发布。

模型说明

BigBird 采用块稀疏注意力机制替代常规注意力机制(即 BERT 的注意力机制),能够以远低于 BERT 的计算成本处理长度达 4096 的序列。它在涉及超长序列的各类任务中,如长文档摘要、长上下文问答等,均取得了 SOTA 性能。

使用方法

以下是在 PyTorch 中使用该模型获取给定文本特征的方法:

import argparse
from openmind import AutoModel, AutoTokenizer
from openmind import is_torch_npu_available

def parse_args():
    parser = argparse.ArgumentParser()
    parser.add_argument("--model_name_or_path",type=str,help="Path to model",default=None,)
    args = parser.parse_args()
    return args


if __name__ == '__main__':
    if is_torch_npu_available():
        device = "npu:0"
    else:
        device = "cpu"
    args = parse_args()
    model_path = args.model_name_or_path

    # Note: CodeSage requires adding eos token at the end of
    # each tokenized sequence to ensure good performance
    tokenizer = AutoTokenizer.from_pretrained(model_path, trust_remote_code=True, add_eos_token=True)

    model = AutoModel.from_pretrained(model_path, trust_remote_code=True).to(device)

    inputs = tokenizer.encode("def print_hello_world():\tprint('Hello World!')", return_tensors="pt").to(device)
    embedding = model(inputs)[0]
    print(f'Dimension of the embedding: {embedding[0].size()}')
    print(embedding)