🚀 ccdv/lsg-bart-base-4096-multinews
このモデルは、multi_news default データセットで ccdv/lsg-bart-base-4096 をファインチューニングしたバージョンです。テストセットで以下の結果を達成しています。
🚀 クイックスタート
必要条件
- Transformers >= 4.36.1
- このモデルはカスタムモデリングファイルに依存しています。
trust_remote_code=True
を追加する必要があります
- 詳細は #13467 を参照してください
コード例
from transformers import AutoTokenizer, AutoModelForSeq2SeqLM, pipeline
tokenizer = AutoTokenizer.from_pretrained("ccdv/lsg-bart-base-4096-multinews", trust_remote_code=True)
model = AutoModelForSeq2SeqLM.from_pretrained("ccdv/lsg-bart-base-4096-multinews", trust_remote_code=True)
text = "Replace by what you want."
pipe = pipeline("text2text-generation", model=model, tokenizer=tokenizer, device=0)
generated_text = pipe(
text,
truncation=True,
max_length=64,
no_repeat_ngram_size=7,
num_beams=2,
early_stopping=True
)
✨ 主な機能
このモデルは、Local-Sparse-Globalアテンションを利用して長いシーケンスを処理します。

モデルは約1億4500万個のパラメータを持ち(エンコーダ6層 - デコーダ6層)、BART-baseからウォームスタートされ、長いシーケンスを処理できるように変換され(エンコーダのみ)、ファインチューニングされています。
📦 インストール
コード例を実行するには、transformers
ライブラリが必要です。以下のコマンドでインストールできます。
pip install transformers
💻 使用例
基本的な使用法
from transformers import AutoTokenizer, AutoModelForSeq2SeqLM, pipeline
tokenizer = AutoTokenizer.from_pretrained("ccdv/lsg-bart-base-4096-multinews", trust_remote_code=True)
model = AutoModelForSeq2SeqLM.from_pretrained("ccdv/lsg-bart-base-4096-multinews", trust_remote_code=True)
text = "Replace by what you want."
pipe = pipeline("text2text-generation", model=model, tokenizer=tokenizer, device=0)
generated_text = pipe(
text,
truncation=True,
max_length=64,
no_repeat_ngram_size=7,
num_beams=2,
early_stopping=True
)
📚 ドキュメント
テストセットでの結果
Length |
Sparse Type |
Block Size |
Sparsity |
Connexions |
R1 |
R2 |
RL |
RLsum |
4096 |
Local |
256 |
0 |
768 |
47.10 |
18.94 |
25.22 |
43.13 |
4096 |
Local |
128 |
0 |
384 |
46.73 |
18.79 |
25.13 |
42.76 |
4096 |
Pooling |
128 |
4 |
644 |
46.83 |
18.87 |
25.23 |
42.86 |
4096 |
Stride |
128 |
4 |
644 |
46.83 |
18.68 |
24.98 |
42.88 |
4096 |
Block Stride |
128 |
4 |
644 |
46.83 |
18.72 |
25.06 |
42.88 |
4096 |
Norm |
128 |
4 |
644 |
46.74 |
18.60 |
24.93 |
42.79 |
4096 |
LSH |
128 |
4 |
644 |
46.74 |
18.82 |
25.19 |
42.77 |
小さいブロックサイズでの結果
Length |
Sparse Type |
Block Size |
Sparsity |
Connexions |
R1 |
R2 |
RL |
RLsum |
4096 |
Local |
64 |
0 |
192 |
45.61 |
17.91 |
24.54 |
41.65 |
4096 |
Local |
32 |
0 |
96 |
43.50 |
16.36 |
23.45 |
39.61 |
4096 |
Pooling |
32 |
4 |
160 |
44.77 |
17.31 |
24.16 |
40.86 |
4096 |
Stride |
32 |
4 |
160 |
45.29 |
17.81 |
24.45 |
41.40 |
4096 |
Block Stride |
32 |
4 |
160 |
45.39 |
17.86 |
24.51 |
41.43 |
4096 |
Norm |
32 |
4 |
160 |
44.65 |
17.25 |
24.09 |
40.76 |
4096 |
LSH |
32 |
4 |
160 |
44.44 |
17.20 |
24.00 |
40.57 |
トレーニングハイパーパラメータ
以下のハイパーパラメータはトレーニング中に使用されました。
- learning_rate: 8e-05
- train_batch_size: 8
- seed: 42
- gradient_accumulation_steps: 4
- total_train_batch_size: 32
- optimizer: Adam with betas=(0.9,0.999) and epsilon=1e-08
- lr_scheduler_type: linear
- lr_scheduler_warmup_ratio: 0.1
- num_epochs: 12.0
生成ハイパーパラメータ
以下のハイパーパラメータは生成中に使用されました。
- dataset_name: multi_news
- dataset_config_name: default
- eval_batch_size: 8
- eval_samples: 5622
- early_stopping: True
- ignore_pad_token_for_loss: True
- length_penalty: 2.0
- max_length: 320
- min_length: 32
- num_beams: 5
- no_repeat_ngram_size: None
- seed: 123
フレームワークバージョン
- Transformers 4.18.0
- Pytorch 1.10.1+cu102
- Datasets 2.1.0
- Tokenizers 0.11.6
関連リンク
- LSG ArXiv 論文
- Github/変換スクリプトはこの リンク から入手できます。
🔧 技術詳細
このモデルは、Local-Sparse-Globalアテンションを利用して長いシーケンスを効率的に処理します。アテンションメカニズムの可視化は以下の画像の通りです。

モデルは約1億4500万個のパラメータを持ち、エンコーダが6層、デコーダが6層で構成されています。BART-baseからウォームスタートされ、長いシーケンスを処理できるように変換され(エンコーダのみ)、ファインチューニングされています。
📄 ライセンス
READMEにライセンス情報は記載されていません。