🚀 フィンランド語用T5-base-nl36
このモデルは、フィンランド語に特化した事前学習済みT5モデルで、スパンベースのマスク言語モデリング(MLM)を目的として学習されています。T5は、この論文で紹介され、このページで最初に公開されました。
⚠️ 重要提示
Hugging Faceの推論ウィジェットは無効になっています。このモデルは、実際のダウンストリームタスクで使用するために、特定のダウンストリームタスクでのテキスト-to-テキストの微調整が必要です。微調整されたフィンランド語のT5モデルの例として、Finnish-NLP/t5-small-nl24-casing-punctuation-correctionを参照できます。このモデルは、フィンランド語のテキストの大文字小文字や句読点の欠落を修正するように微調整されています。
✨ 主な機能
T5はエンコーダ-デコーダモデルで、すべての自然言語処理問題をテキスト-to-テキスト形式で扱います。フィンランド語版のT5は、非常に大規模なフィンランド語コーパスで自己教師付き学習により事前学習されたトランスフォーマーモデルです。つまり、人間によるラベル付けなしで生のテキストのみを使用し、自動的なプロセスで入力と出力を生成して学習しています。
具体的には、スパンベースのマスク言語モデリング(MLM)を目的として事前学習されています。入力シーケンスの一部がいわゆるセンチネルトークン(独自のマスクトークン)でマスクされ、出力シーケンスは同じセンチネルトークンと実際のマスクされたトークンの連結として形成されます。これにより、モデルはフィンランド語の内部表現を学習します。
このモデルは、事前学習時に元のT5モデルに比べてT5 v1.1の改良点を採用しています。
- フィードフォワード隠れ層ではReLUではなくGEGLU活性化関数を使用 - こちらを参照
- 事前学習時にドロップアウトをオフにしています(品質向上)。微調整時にはドロップアウトを再有効にする必要があります。
- ダウンストリームタスクを混ぜずに、スパンベースのマスク言語モデリング(MLM)のみを目的として事前学習
- 埋め込み層と分類器層の間でパラメータを共有しない
また、この論文で提示された「効率的な」T5アーキテクチャの知見も活用しています。簡単に言うと、同じパラメータ数の他のモデルアーキテクチャと比較して、Deep-Narrowモデルアーキテクチャがダウンストリーム性能に有利であることが示されています。具体的には、モデルの深さは、順次積み重ねられたトランスフォーマーブロックの数として定義されます。
このモデルは、t5-efficient-base-nl36アーキテクチャの層の深さを使用しており、エンコーダとデコーダの両方が36層のトランスフォーマー層を持ち、元のT5「base」モデルの12層のアーキテクチャとは異なります。
合計で、このモデルは8億1400万個のパラメータを持っています。
📦 インストール
このモデルを使用するには、Hugging Faceのtransformers
ライブラリをインストールする必要があります。以下に、PyTorchとTensorFlowでの使用例を示します。
💻 使用例
基本的な使用法
from transformers import T5Tokenizer, T5ForConditionalGeneration
tokenizer = T5Tokenizer.from_pretrained("Finnish-NLP/t5-base-nl36-finnish")
model = T5ForConditionalGeneration.from_pretrained("Finnish-NLP/t5-base-nl36-finnish")
from transformers import T5Tokenizer, TFT5ForConditionalGeneration
tokenizer = T5Tokenizer.from_pretrained("Finnish-NLP/t5-base-nl36-finnish")
model = T5ForConditionalGeneration.from_pretrained("Finnish-NLP/t5-base-nl36-finnish", from_pt=True)
📚 ドキュメント
想定される使用法と制限
このモデルは自己教師付き学習のみで事前学習されており、教師付き学習は行われていません。したがって、このモデルは、Googleの元のT5モデルとは異なり、テキスト分類などのダウンストリームタスクで使用する前に微調整する必要があります。
⚠️ 重要提示
これらのT5モデルを微調整する際には、混合精度ではなく、fp32の完全な精度で微調整する必要があります。微調整のヒントは、こちらなどで見つけることができます。
制限とバイアス
このモデルの学習データには、インターネットから収集された多くの未フィルタリングのコンテンツが含まれており、中立性に欠ける可能性があります。したがって、このモデルの予測にはバイアスが含まれる可能性があり、このバイアスはすべての微調整バージョンのモデルにも影響を及ぼします。
学習データ
このフィンランド語用T5モデルは、6つのデータセットを組み合わせて事前学習されています。
生データセットは自動的にクリーニングされ、低品質や非フィンランド語の例が除外されました。また、非常にクリーンなフィンランド語テキストのみで学習されたKenLMモデルを使用して、すべてのテキストのパープレキシティスコアを計算しました。このパープレキシティスコアを使用して、テキストに含まれるフィンランド語の「クリーンさ」を判断することができます。最後に、すべてのデータセットを連結し、上位90%のパープレキシティスコアをフィルタリングの閾値として使用し、最も品質の低い10%のテキストを除外しました。これらのクリーニングされたデータセットは合計で約76GBのテキストになります。
学習手順
前処理
テキストはWordPieceを使用してトークン化され、語彙サイズは32000です。入力と出力は、512トークンの連続したシーケンスです。テキストは小文字に変換されないため、このモデルは大文字小文字を区別します。
事前学習
このモデルは、Google TPU Research Cloudから提供されたTPUv3 - 8 VM上で、バッチサイズ64で100万ステップ(合計330億トークン)学習されました。最適化アルゴリズムにはAdaFactorを使用し、学習率は最初の1万ステップでウォームアップして1e - 2の一定の学習率とし、その後は逆平方根減衰(指数関数的減衰)を適用しました。
学習コードは、GoogleのJax/Flaxベースのt5xフレームワークを使用しており、一部のt5xタスク定義はPerのt5x作業から適応されています。
評価結果
評価は、2つの異なるラベル付きフィンランド語データセット、Yle NewsとEduskuntaを使用して、ダウンストリームのテキスト分類タスクでモデルを微調整して行われました。分類の微調整は、シーケンス長128トークンで行われました。
これらのデータセットで微調整した場合、このモデル(表の6行目)は、他のT5モデルとそのパラメータ数と比較して、以下の精度結果を達成しています。
モデル名 |
モデルパラメータ数 |
Yle News精度 |
Eduskunta精度 |
Finnish-NLP/t5-tiny-nl6-finnish |
3100万 |
92.80 |
69.07 |
Finnish-NLP/t5-mini-nl8-finnish |
7200万 |
93.89 |
71.43 |
Finnish-NLP/t5-small-nl16-finnish |
1億8400万 |
94.46 |
74.00 |
Finnish-NLP/t5-small-nl24-finnish |
2億6000万 |
94.68 |
74.90 |
Finnish-NLP/byt5-base-finnish |
5億8200万 |
92.33 |
73.13 |
Finnish-NLP/t5-base-nl36-finnish |
8億1400万 |
94.40 |
75.97 |
Finnish-NLP/t5-large-nl36-finnish |
14億2500万 |
94.17 |
73.50 |
同じデータセットでGoogleの多言語mT5モデルを微調整すると、単言語のフィンランド語T5モデルがフィンランド語のテキスト分類ではるかに良い結果を達成することが明らかになります。
モデル名 |
モデルパラメータ数 |
Yle News精度 |
Eduskunta精度 |
google/mt5-small |
3億100万 |
91.51 |
64.10 |
google/mt5-base |
5億8300万 |
92.71 |
68.40 |
📄 ライセンス
このモデルはApache-2.0ライセンスの下で提供されています。
謝辞
このプロジェクトは、GoogleがTPU Research Cloudを通じて提供してくれた計算資源のおかげで可能になりました。
チームメンバー
詳細については、自由にお問い合わせください 🤗