🚀 フィンランド語用GPT-2ミディアム
このモデルは、フィンランド語に対して因果言語モデリング(CLM)の目的で事前学習されたGPT-2ミディアムモデルです。GPT-2は、この論文で紹介され、このページで最初に公開されました。
注意: このモデルは、HuggingfaceのGPT-2ミディアム設定にある3億4500万パラメータのバリアントであり、OpenAIによる有名な15億パラメータの大規模バリアントではありません。また、より大きな7億7400万パラメータのバリアントであるgpt2-large-finnishも利用可能で、このモデルよりも性能が高くなっています。
✨ 主な機能
モデルの説明
フィンランド語版GPT-2は、自己教師付き学習方式で非常に大規模なフィンランド語データコーパスで事前学習されたトランスフォーマーモデルです。これは、人間が何らかの形でラベル付けを行わず、生のテキストのみを使用して事前学習されたことを意味します(このため、多くの公開データを利用できます)。具体的には、これらのテキストから入力とラベルを自動的に生成するプロセスを用いています。より正確には、文の次の単語を推測するように訓練されています。
より詳細には、入力は一定の長さの連続したテキストのシーケンスであり、ターゲットは同じシーケンスを1トークン(単語または単語の一部)右にシフトしたものです。モデルは内部的にマスクメカニズムを使用して、トークン i
の予測が 1
から i
までの入力のみを使用し、未来のトークンを使用しないようにしています。
このようにして、モデルはフィンランド語の内部表現を学習し、それを下流タスクに役立つ特徴抽出に利用することができます。ただし、モデルは事前学習したテキスト生成に最も適しています。
想定される用途と制限
生のモデルをテキスト生成に使用するか、下流タスクにファインチューニングすることができます。詳細については、モデルハブを参照してください。
制限とバイアス
このモデルの学習データには、インターネットからの多くの未フィルタリングのコンテンツが含まれており、中立的ではありません。したがって、モデルは偏った予測を行う可能性があります。このバイアスは、このモデルのすべてのファインチューニングバージョンにも影響を及ぼします。
すべての言語モデルと同様に、フィンランド語版GPT-2が特定のプロンプトにどのように反応するかを事前に予測することは困難であり、不快なコンテンツが突然出力される可能性があります。結果を公開する前に、人間が出力を選別またはフィルタリングすることをお勧めします。これにより、望ましくないコンテンツを削除し、結果の品質を向上させることができます。
📦 インストール
このセクションでは、インストールに関する具体的な手順が提供されていないため、省略します。
💻 使用例
基本的な使用法
このモデルを直接テキスト生成パイプラインで使用することができます。
>>> from transformers import pipeline
>>> generator = pipeline('text-generation', model='Finnish-NLP/gpt2-medium-finnish')
>>> generator("Teksti√§ tuottava teko√§ly on", max_length=30, num_return_sequences=5)
[{'generated_text': 'Tekstiä tuottava tekoäly on tullut ihmisten arkeen viime vuosina. Se auttaa hahmottamaan ja tulkitsemaan monimutkaisia kokonaisuuksia ja ilmiöitä, joita ihmiset tekevät esimerkiksi ruokakaupassa'},
{'generated_text': 'Tekstiä tuottava tekoäly on jo ottanut haltuunsa myös ihmisten käyttämiä sovelluksia ja esimerkiksi pankkipalveluita. Sen vuoksi tekoäly on tärkeä kumppani etenkin yritysten liiketoiminnan kehittämisessä.-'},
{'generated_text': 'Teksti√§ tuottava teko√§ly on teko√§lylle luonnollinen valinta, sill√§ sen avulla voi kommunikoida ihmisten kanssa hyvin pitk√§lle samalla tavalla kuin tietokoneiden kanssa. Se on kehittynyt muun'},
{'generated_text': 'Teksti√§ tuottava teko√§ly on ihmisen kehitt√§m√§ teko√§ly, jota ei viel√§ ole pystytty rakentamaan. Teko√§ly kykenee toimimaan esimerkiksi matemaattisissa, tilastollisissa ja sosiaalisissa'},
{'generated_text': 'Tekstiä tuottava tekoäly on jo niin iso juttu ettei sitä kannata rajoittaakaan. Ja jos se saadaan käyttöön, niin se voi jo pian syrjäyttää perinteisen'}]
高度な使用法
与えられたテキストの特徴を取得する方法を以下に示します。
PyTorchでの使用例
from transformers import GPT2Tokenizer, GPT2Model
tokenizer = GPT2Tokenizer.from_pretrained('Finnish-NLP/gpt2-medium-finnish')
model = GPT2Model.from_pretrained('Finnish-NLP/gpt2-medium-finnish')
text = "Replace me by any text you'd like."
encoded_input = tokenizer(text, return_tensors='pt')
output = model(**encoded_input)
TensorFlowでの使用例
from transformers import GPT2Tokenizer, TFGPT2Model
tokenizer = GPT2Tokenizer.from_pretrained('Finnish-NLP/gpt2-medium-finnish')
model = TFGPT2Model.from_pretrained('Finnish-NLP/gpt2-medium-finnish', from_pt=True)
text = "Replace me by any text you'd like."
encoded_input = tokenizer(text, return_tensors='tf')
output = model(encoded_input)
📚 ドキュメント
学習データ
このフィンランド語版GPT-2モデルは、6つのデータセットの組み合わせで事前学習されています。
生のデータセットは、低品質および非フィンランド語の例をフィルタリングするためにクリーニングされました。これらのクリーニングされたデータセットを合わせると、約84GBのテキストになります。
学習手順
前処理
テキストは、バイトレベルのByte Pair Encoding(BPE)(ユニコード文字用)を使用してトークン化され、語彙サイズは50,257です。入力は512トークンの連続したシーケンスです。
事前学習
モデルは、Google TPU Research Cloudによって提供されるTPUv3-8 VM上で、360kステップ(1エポック強、バッチサイズ128)の間学習されました。使用されたオプティマイザはAdamWで、学習率は1e-4、学習率のウォームアップは4000ステップ、その後は学習率のコサイン減衰を使用しました。
評価結果
評価は、mc4_fi_cleanedデータセットの検証分割を使用し、Perplexity(スコアが小さいほど良い)を評価指標として行われました。以下の表からわかるように、このモデル(表の最初の行)は、より小さいgpt2-finnishモデルバリアントよりも性能が高いですが、より大きいgpt2-large-finnishモデルには勝てません。
|
パープレキシティ |
Finnish-NLP/gpt2-medium-finnish |
34.08 |
Finnish-NLP/gpt2-finnish |
44.19 |
Finnish-NLP/gpt2-large-finnish |
30.74 |
🔧 技術詳細
このセクションでは、技術的な詳細に関する具体的な説明が提供されていますが、既に他のセクションで詳細に説明されているため、省略します。
📄 ライセンス
このモデルは、Apache-2.0ライセンスの下で提供されています。
謝辞
このプロジェクトは、GoogleがTPU Research Cloudを通じて提供した計算資源がなければ実現できませんでした。
チームメンバー
詳細については、自由にお問い合わせください。