英文

基于LED的总结模型:压缩长篇和技术信息

Longformer编码器-解码器(LED)用于叙事般的长文本摘要是我从 allenai/led-base-16384 精调的模型,可以以相对适用的方式压缩详尽的技术、学术和叙事内容。

关键特点和用途

  • 适用于总结长篇叙事、文章、论文、教科书和其他文档。
    • 整体概述的风格使得总结的内容具有"解释"性,提供有深度的输出。
  • 高容量:每个批次处理多达16,384个标记。
  • 演示:在上面链接的笔记本或 demo on Spaces 中进行尝试。

注意:由于推理超时的限制,API小部件的最大长度约为96个标记。

培训细节

该模型是在SalesForce发布的BookSum数据集上进行训练的,该数据集遵循BSD-3-Clause许可协议。训练过程包括16个时期,参数调整以促进非常微调的训练(超低学习率)。

模型检查点: pszemraj/led-base-16384-finetuned-booksum

其他相关检查点

这个模型是我所研究的最小/最快的booksum调优模型。如果你正在寻找更高质量的摘要,请查看:

我的hf个人资料中还有其他数据集的变体等,欢迎尝试:)

基本用法

推荐在调用流水线对象时使用encoder_no_repeat_ngram_size=3,因为它通过鼓励使用新词汇和制作抽象摘要来提高摘要质量。

创建流水线对象:

import torch
from transformers import pipeline

hf_name = "pszemraj/led-base-book-summary"

summarizer = pipeline(
    "summarization",
    hf_name,
    device=0 if torch.cuda.is_available() else -1,
)

将文本提供给流水线对象:

wall_of_text = "your words here"

result = summarizer(
    wall_of_text,
    min_length=8,
    max_length=256,
    no_repeat_ngram_size=3,
    encoder_no_repeat_ngram_size=3,
    repetition_penalty=3.5,
    num_beams=4,
    do_sample=False,
    early_stopping=True,
)
print(result[0]["generated_text"])

使用TextSum进行简化操作

为了简化使用该模型和其他模型的过程,我开发了一个名为textsum的 a Python package utility 。该软件包提供了对将摘要模型应用于任意长度的文本文档的简单界面。

安装TextSum:

pip install textsum

然后在Python中使用该模型:

from textsum.summarize import Summarizer

model_name = "pszemraj/led-base-book-summary"
summarizer = Summarizer(
    model_name_or_path=model_name,  # you can use any Seq2Seq model on the Hub
    token_batch_length=4096,  # how many tokens to batch summarize at a time
)
long_string = "This is a long string of text that will be summarized."
out_str = summarizer.summarize_string(long_string)
print(f"summary: {out_str}")

目前实现的接口包括Python API、命令行界面(CLI)和可共享的演示/ Web界面。

有关详细说明和文档,请查看 README wiki