🚀 long-t5-tglobal-xl + BookSum
このモデルは、長いテキストを要約し、あらゆるトピックについてSparkNotesのような要約を生成することができます。学術的なテキストや物語的なテキストにも適用でき、XLチェックポイントを使用することで、より質の高い要約を生成します。
⚠️ 重要提示
このディスカッションによると、long-t5モデルのバージョンが4.23.0以上の場合に問題が発生することがわかりました。このモデルを正常に動作させるためには、pip install transformers==4.22.0
を使用してください。
📄 ライセンス
🔍 タグ
- summarization
- summary
- booksum
- long-document
- long-form
- tglobal-xl
- XL
📊 データセット
📈 評価指標
🤖 推論設定
推論はサポートされていません。
📋 モデル情報
- モデル名: pszemraj/long-t5-tglobal-xl-16384-book-summary
- 評価結果:
- タスク: 要約
- データセット: multi_news、billsum、ccdv/arxiv-summarization
- 評価指標: ROUGE-1、ROUGE-2、ROUGE-L、ROUGE-LSUM、loss、gen_len
🚀 クイックスタート
このモデルを使用するには、まず必要なパッケージをインストールします。
pip install -U transformers
次に、以下のコードを使用してテキストを要約します。
import torch
from transformers import pipeline
summarizer = pipeline(
"summarization",
"pszemraj/long-t5-tglobal-xl-16384-book-summary",
device=0 if torch.cuda.is_available() else -1,
)
long_text = "Here is a lot of text I don't want to read. Replace me"
result = summarizer(long_text)
print(result[0]["summary_text"])
✨ 主な機能
- 長いテキストを要約し、SparkNotesのような要約を生成します。
- 学術的なテキストや物語的なテキストにも適用できます。
- XLチェックポイントを使用することで、より質の高い要約を生成します。
📦 インストール
必要なパッケージをインストールするには、以下のコマンドを実行します。
pip install -U transformers
💻 使用例
基本的な使用法
import torch
from transformers import pipeline
summarizer = pipeline(
"summarization",
"pszemraj/long-t5-tglobal-xl-16384-book-summary",
device=0 if torch.cuda.is_available() else -1,
)
long_text = "Here is a lot of text I don't want to read. Replace me"
result = summarizer(long_text)
print(result[0]["summary_text"])
高度な使用法
パラメータの調整
summarizer
を呼び出す際に、beam search textgenに関連する他のパラメータ を渡すことで、さらに高品質な結果を得ることができます。
LLM.int8量子化
このPR により、long-t5
モデルでLLM.int8がサポートされるようになりました。
pip install -U transformers bitsandbytes accelerate
from transformers import AutoTokenizer, AutoModelForSeq2SeqLM
tokenizer = AutoTokenizer.from_pretrained(
"pszemraj/long-t5-tglobal-xl-16384-book-summary"
)
model = AutoModelForSeq2SeqLM.from_pretrained(
"pszemraj/long-t5-tglobal-xl-16384-book-summary",
load_in_8bit=True,
device_map="auto",
)
📚 ドキュメント
説明
このモデルは、google/long-t5-tglobal-xl を kmfoda/booksum
データセットでファインチューニングしたものです。詳細については、LongT5: Efficient Text-To-Text Transformer for Long Sequences を参照してください。
意図された用途と制限
このモデルは事実の一貫性を向上させるように見えますが、要約を完全に信頼することは避け、不自然な部分は確認することをお勧めします。特に、否定文に注意してください。
学習と評価データ
kmfoda/booksum
データセットを使用して学習および評価を行いました。詳細については、元の論文 を参照してください。
評価結果
評価セットでの結果は以下の通りです。
- eval_loss: 1.2756
- eval_rouge1: 41.8013
- eval_rouge2: 12.0895
- eval_rougeL: 21.6007
- eval_rougeLsum: 39.5382
- eval_gen_len: 387.2945
- eval_runtime: 13908.4995
- eval_samples_per_second: 0.107
- eval_steps_per_second: 0.027
FAQ
CPUで推論を実行するにはどうすればよいですか?
CPUで推論を実行する方法については、詳細な説明はありません。
非常に長い(30kトークン以上)ドキュメントをバッチで推論するにはどうすればよいですか?
このコード の summarize.py
を参照してください。
さらにファインチューニングするにはどうすればよいですか?
スクリプトでの学習 および 要約スクリプト を参照してください。
このモデルを実行する簡単な方法はありますか?
textsum パッケージを使用することで、数行のコードでモデルをロードしてテキストを要約することができます。
pip install textsum
from textsum.summarize import Summarizer
summarizer = Summarizer(
model_name_or_path="pszemraj/long-t5-tglobal-xl-16384-book-summary"
)
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}")
🔧 技術詳細
学習手順
更新情報
このモデルやモデルカードの更新情報は、関連する場合にここに掲載されます。
学習ハイパーパラメータ
学習時に使用されたハイパーパラメータは以下の通りです。
- learning_rate: 0.0006
- train_batch_size: 1
- eval_batch_size: 1
- seed: 10350
- distributed_type: multi-GPU
- num_devices: 4
- gradient_accumulation_steps: 32
- total_train_batch_size: 128
- total_eval_batch_size: 4
- optimizer: Adam with betas=(0.9,0.999) and epsilon=1e-08
- lr_scheduler_type: constant
- num_epochs: 1.0
フレームワークバージョン
- Transformers 4.25.0.dev0
- Pytorch 1.13.0+cu117
- Datasets 2.6.1
- Tokenizers 0.13.1