Lsg Bart Large 4096
LSG模型是基於BART-large改進的長序列處理模型,採用局部+稀疏+全局注意力機制,高效處理長文本任務
下載量 15
發布時間 : 3/2/2022
模型概述
該模型針對編碼器-解碼器任務優化,能高效處理長序列輸入,相比傳統長序列模型具有更快速度和更高效率
模型特點
高效長序列處理
採用局部+稀疏+全局注意力機制(LSG),顯著提升長文本處理效率
自適應序列長度
支持自動填充序列長度至分塊大小的整數倍,確保處理穩定性
多模式稀疏選擇
提供6種稀疏選擇模式(如BOS池化、LSH聚類等),適應不同任務需求
兼容原始架構
保持與BART-large相同的參數規模和層數,共享相同分詞器
模型能力
長文本摘要生成
序列到序列轉換
高效處理4096長度輸入
文本分類
使用案例
文本摘要
長文檔自動摘要
對科研論文、長篇文章等超長文本生成精準摘要
相比傳統模型處理速度提升顯著
文本處理
長文本分類
對超長文檔進行分類任務
保持高準確率的同時降低內存消耗
🚀 LSG模型
LSG模型基於BART-large
進行了調整,適用於編碼器 - 解碼器任務,無需額外的預訓練。它能夠處理長序列,並且比來自模型中心的Longformer (LED) 或BigBird (Pegasus) 更快、更高效,依賴於局部 + 稀疏 + 全局注意力 (LSG) 機制。
⚠️ 重要提示
此模型依賴於自定義建模文件,需要添加
trust_remote_code=True
才能使用。 此模型需要Transformers >= 4.36.1
。 請參考 #13467。
🚀 快速開始
此模型依賴於自定義建模文件,使用時需要添加trust_remote_code=True
。
from transformers import AutoModel, AutoTokenizer
model = AutoModel.from_pretrained("ccdv/lsg-bart-large-4096", trust_remote_code=True)
tokenizer = AutoTokenizer.from_pretrained("ccdv/lsg-bart-large-4096")
✨ 主要特性
- 該模型改編自 BART-large,用於編碼器 - 解碼器任務,無需額外預訓練,使用相同數量的參數/層和相同的分詞器。
- 能夠處理長序列,並且比Longformer (LED) 或BigBird (Pegasus) 更快、更高效,依賴於局部 + 稀疏 + 全局注意力 (LSG)。
- 模型要求序列長度是塊大小的倍數,若需要可自動填充序列(配置中
adaptive=True
),不過建議使用分詞器截斷輸入(truncation=True
),並可選擇按塊大小的倍數進行填充(pad_to_multiple_of=...
)。
📦 安裝指南
此模型依賴於自定義建模文件,使用時需要添加trust_remote_code=True
,同時需要Transformers >= 4.36.1
。
💻 使用示例
基礎用法
from transformers import AutoModel, AutoTokenizer
model = AutoModel.from_pretrained("ccdv/lsg-bart-large-4096", trust_remote_code=True)
tokenizer = AutoTokenizer.from_pretrained("ccdv/lsg-bart-large-4096")
高級用法
from transformers import AutoModel
model = AutoModel.from_pretrained("ccdv/lsg-bart-large-4096",
trust_remote_code=True,
num_global_tokens=16,
block_size=64,
sparse_block_size=64,
attention_probs_dropout_prob=0.0,
sparsity_factor=4,
sparsity_type="none",
mask_first_token=True
)
Seq2Seq摘要任務示例
from transformers import AutoModelForSeq2SeqLM, AutoTokenizer
model = AutoModelForSeq2SeqLM.from_pretrained("ccdv/lsg-bart-large-4096",
trust_remote_code=True,
pass_global_tokens_to_decoder=True, # Pass encoder global tokens to decoder
)
tokenizer = AutoTokenizer.from_pretrained("ccdv/lsg-bart-large-4096")
SENTENCE = "This is a test sequence to test the model. " * 300
token_ids = tokenizer(
SENTENCE,
return_tensors="pt",
#pad_to_multiple_of=... # Optional
truncation=True
)
output = model(**token_ids)
分類任務示例
from transformers import AutoModelForSequenceClassification, AutoTokenizer
model = AutoModelForSequenceClassification.from_pretrained("ccdv/lsg-bart-large-4096",
trust_remote_code=True,
pass_global_tokens_to_decoder=True, # Pass encoder global tokens to decoder
)
tokenizer = AutoTokenizer.from_pretrained("ccdv/lsg-bart-large-4096")
SENTENCE = "This is a test sequence to test the model. " * 300
token_ids = tokenizer(
SENTENCE,
return_tensors="pt",
padding="max_length", # Optional but recommended
truncation=True # Optional but recommended
)
output = model(**token_ids)
> SequenceClassifierOutput(loss=None, logits=tensor([[-0.3051, -0.1762]], grad_fn=<AddmmBackward>), hidden_states=None, attentions=None)
🔧 技術細節
參數設置
可以更改各種參數,例如:
- 全局令牌數量 (
num_global_tokens=1
) - 局部塊大小 (
block_size=128
) - 稀疏塊大小 (
sparse_block_size=128
) - 稀疏因子 (
sparsity_factor=2
) - 掩碼第一個令牌 (
mask first token since it is redundant with the first global token
) - 更多參數可查看
config.json
文件
默認參數在實踐中效果良好。如果內存不足,可以減小塊大小、增加稀疏因子並去除注意力分數矩陣中的丟棄率。
稀疏選擇類型
有6種不同的稀疏選擇模式,最佳類型取決於具體任務。
- 若
sparse_block_size=0
或sparsity_type="none"
,則僅考慮局部注意力。 - 注意,對於長度 < 2 * 塊大小的序列,稀疏選擇類型沒有影響。
稀疏選擇類型 | 描述 | 適用稀疏因子 | 附加參數 |
---|---|---|---|
sparsity_type="bos_pooling" (新) |
使用BOS令牌進行加權平均池化 | 通常較大 (8, 16, 32) | 無 |
sparsity_type="norm" |
選擇範數最高的令牌 | 較小 (2 到 4) | 無 |
sparsity_type="pooling" |
使用平均池化合並令牌 | 較小 (2 到 4) | 無 |
sparsity_type="lsh" |
使用LSH算法對相似令牌進行聚類 | 較大 (4+) | lsg_num_pre_rounds=1 (在計算質心之前合併令牌n次) |
sparsity_type="stride" |
每個頭使用按稀疏因子跨步的不同令牌 | 不建議sparsify_factor > num_heads |
無 |
sparsity_type="block_stride" |
每個頭使用按稀疏因子跨步的令牌塊 | 不建議sparsify_factor > num_heads |
無 |
📚 詳細文檔
📄 許可證
BART引用
@article{DBLP:journals/corr/abs-1910-13461,
author = {Mike Lewis and
Yinhan Liu and
Naman Goyal and
Marjan Ghazvininejad and
Abdelrahman Mohamed and
Omer Levy and
Veselin Stoyanov and
Luke Zettlemoyer},
title = {{BART:} Denoising Sequence-to-Sequence Pre-training for Natural Language
Generation, Translation, and Comprehension},
journal = {CoRR},
volume = {abs/1910.13461},
year = {2019},
url = {http://arxiv.org/abs/1910.13461},
eprinttype = {arXiv},
eprint = {1910.13461},
timestamp = {Thu, 31 Oct 2019 14:02:26 +0100},
biburl = {https://dblp.org/rec/journals/corr/abs-1910-13461.bib},
bibsource = {dblp computer science bibliography, https://dblp.org}
}
Bart Large Cnn
MIT
基於英語語料預訓練的BART模型,專門針對CNN每日郵報數據集進行微調,適用於文本摘要任務
文本生成 英語
B
facebook
3.8M
1,364
Parrot Paraphraser On T5
Parrot是一個基於T5的釋義框架,專為加速訓練自然語言理解(NLU)模型而設計,通過生成高質量釋義實現數據增強。
文本生成
Transformers

P
prithivida
910.07k
152
Distilbart Cnn 12 6
Apache-2.0
DistilBART是BART模型的蒸餾版本,專門針對文本摘要任務進行了優化,在保持較高性能的同時顯著提升了推理速度。
文本生成 英語
D
sshleifer
783.96k
278
T5 Base Summarization Claim Extractor
基於T5架構的模型,專門用於從摘要文本中提取原子聲明,是摘要事實性評估流程的關鍵組件。
文本生成
Transformers 英語

T
Babelscape
666.36k
9
Unieval Sum
UniEval是一個統一的多維評估器,用於自然語言生成任務的自動評估,支持多個可解釋維度的評估。
文本生成
Transformers

U
MingZhong
318.08k
3
Pegasus Paraphrase
Apache-2.0
基於PEGASUS架構微調的文本複述模型,能夠生成語義相同但表達不同的句子。
文本生成
Transformers 英語

P
tuner007
209.03k
185
T5 Base Korean Summarization
這是一個基於T5架構的韓語文本摘要模型,專為韓語文本摘要任務設計,通過微調paust/pko-t5-base模型在多個韓語數據集上訓練而成。
文本生成
Transformers 韓語

T
eenzeenee
148.32k
25
Pegasus Xsum
PEGASUS是一種基於Transformer的預訓練模型,專門用於抽象文本摘要任務。
文本生成 英語
P
google
144.72k
198
Bart Large Cnn Samsum
MIT
基於BART-large架構的對話摘要模型,專為SAMSum語料庫微調,適用於生成對話摘要。
文本生成
Transformers 英語

B
philschmid
141.28k
258
Kobart Summarization
MIT
基於KoBART架構的韓語文本摘要模型,能夠生成韓語新聞文章的簡潔摘要。
文本生成
Transformers 韓語

K
gogamza
119.18k
12
精選推薦AI模型
Llama 3 Typhoon V1.5x 8b Instruct
專為泰語設計的80億參數指令模型,性能媲美GPT-3.5-turbo,優化了應用場景、檢索增強生成、受限生成和推理任務
大型語言模型
Transformers 支持多種語言

L
scb10x
3,269
16
Cadet Tiny
Openrail
Cadet-Tiny是一個基於SODA數據集訓練的超小型對話模型,專為邊緣設備推理設計,體積僅為Cosmo-3B模型的2%左右。
對話系統
Transformers 英語

C
ToddGoldfarb
2,691
6
Roberta Base Chinese Extractive Qa
基於RoBERTa架構的中文抽取式問答模型,適用於從給定文本中提取答案的任務。
問答系統 中文
R
uer
2,694
98