🚀 LONGFORMER-BASE-4096 をSQuAD v1でファインチューニング
このモデルは、質問応答タスクのためにSQuAD v1データセットでファインチューニングされたlongformer-base-4096モデルです。
Longformerモデルは、AllenAIのIz Beltagy、Matthew E. Peters、Arman Cohaによって作成されました。論文によると、
Longformer
は長文書用のBERTのようなモデルです。
事前学習されたモデルは最大4096トークンのシーケンスを処理できます。
🚀 クイックスタート
このモデルは質問応答タスクのためにSQuAD v1データセットでファインチューニングされています。以下のセクションでは、モデルのトレーニング、結果、および実際の使用例について説明します。
✨ 主な機能
- 質問応答タスクに特化したLongformerモデルです。
- 最大4096トークンの長文書を処理できます。
📦 インストール
このREADMEには具体的なインストール手順が記載されていないため、このセクションは省略されます。
💻 使用例
基本的な使用法
import torch
from transformers import AutoTokenizer, AutoModelForQuestionAnswering
tokenizer = AutoTokenizer.from_pretrained("valhalla/longformer-base-4096-finetuned-squadv1")
model = AutoModelForQuestionAnswering.from_pretrained("valhalla/longformer-base-4096-finetuned-squadv1")
text = "Huggingface has democratized NLP. Huge thanks to Huggingface for this."
question = "What has Huggingface done ?"
encoding = tokenizer(question, text, return_tensors="pt")
input_ids = encoding["input_ids"]
attention_mask = encoding["attention_mask"]
start_scores, end_scores = model(input_ids, attention_mask=attention_mask)
all_tokens = tokenizer.convert_ids_to_tokens(input_ids[0].tolist())
answer_tokens = all_tokens[torch.argmax(start_scores) :torch.argmax(end_scores)+1]
answer = tokenizer.decode(tokenizer.convert_tokens_to_ids(answer_tokens))
高度な使用法
このREADMEに高度な使用法のコード例が記載されていないため、このサブセクションは省略されます。
📚 ドキュメント
モデルのトレーニング
このモデルはGoogle Colabのv100 GPUでトレーニングされました。ファインチューニング用のColabノートブックはこちらで見ることができます
。
QAタスクでLongformerをトレーニングする際に覚えておくべきいくつかのことがあります。
デフォルトでは、Longformerはすべてのトークンにスライディングウィンドウのローカルアテンションを使用します。しかし、QAの場合、すべての質問トークンにはグローバルアテンションが必要です。詳細については論文を参照してください。LongformerForQuestionAnswering
モデルは自動的にそれを行ってくれます。それを可能にするには、
- 入力シーケンスには3つのsepトークンが必要です。つまり、シーケンスは次のようにエンコードされる必要があります。
<s> question</s></s> context</s>
。質問と回答を入力ペアとしてエンコードする場合、トークナイザーが自動的にそれを処理するので、心配する必要はありません。
input_ids
は常にバッチの例である必要があります。
結果
指標 |
値 |
完全一致率 |
85.1466 |
F1スコア |
91.5415 |
モデルの実行状況 🚀
LongformerForQuestionAnswering
はまだpipeline
でサポートされていません。サポートが追加されたら、このカードを更新します。
作成者
❤️によって作成されました Suraj Patil

🔧 技術詳細
このモデルは、質問応答タスクのためにSQuAD v1データセットでファインチューニングされたLongformerモデルです。Longformerは、長文書を処理するためのBERTのようなモデルで、最大4096トークンのシーケンスを処理できます。
📄 ライセンス
このモデルはMITライセンスの下で提供されています。
プロパティ |
詳細 |
データセット |
squad_v1 |
ライセンス |
mit |