🚀 GPT2(023) モデルカード
このモデルは、OpenAIの最小規模のGPT - 2モデル(124m)を微調整したものです。約22.3億トークン(「チンチラ最適」に事前学習するのに必要な24.8億トークンに近い!Cerebras - GPT - 111Mが総計で学習したトークン数よりも多い)で学習されています。これらのトークンは、2023年のCommon Crawlサイトからの13億、arXivからの5.4億、GitHubからの3.9億で構成されています。
このモデルは、学習率1e - 4で学習され、1024ステップのウォームアップ期間を設けた後、学習率を0まで減衰させました。バッチサイズ512例、コンテキスト長1024での学習で、合計4400ステップ行われました。バッチサイズとコンテキスト長は、GPT2自体の事前学習と同じです。12GBのRTX3060を搭載したローカル環境で79.32時間かけて、合計1.18e + 18 FLOPsの計算量で学習が行われました。最終的な学習損失は2.73でした。
✨ 主な機能
GPT2023の評価
(進行中)
モデル |
piqa acc |
winogrande acc |
lambada ppl |
lambada acc |
arc acc |
sciq acc |
wsc acc |
pythia - 70m |
59.85 |
51.22 |
140.81 |
21.40 |
17.15 |
65.00 |
36.53 |
pythia - 160m |
62.68 |
51.07 |
30.03 |
36.76 |
19.62 |
76.20 |
36.58 |
pythia - 410m |
66.54 |
52.24 |
11.75 |
49.93 |
21.67 |
80.80 |
60.58 |
opt - 125m |
63.00 |
50.27 |
26.02 |
37.90 |
18.94 |
75.1 |
36.54 |
--- |
--- |
--- |
--- |
--- |
--- |
--- |
--- |
gpt2 (124m) |
62.89 |
51.61 |
40.06 |
32.56 |
19.03 |
75 |
43.27 |
gpt2023 (124m) |
62.02 |
49.64 |
34.55 |
33.98 |
18.94 |
76.1 |
36.54 |
このモデルは、339.38のパープレキシティを達成しており、パラメータ数はわずか21%でCerebras - 590mと競争力を持ち、元のGPT - 2の491.57よりもはるかに優れています!
(指標の説明はこちら: https://twitter.com/aicrumb/status/1650350363898265601 , 要するに冗談です)
GPT2(023)が最近の出来事を認識していることを示すために、以下の例を見てみましょう。
# About Covid-19
- -
The Covid-19
モデルはテキストを以下のように完成させます。
# About Covid-19
- -
The Covid-19 pandemic is the worldwide pandemic that has left thousands of people unable to enter and work in or continue their normal daily normal life. In this brief post, we examine three of the main factors that have accelerated the pandemic and predict the path the pandemic will take through the rest of the world.
ご覧の通り、GPT2(023)はCOVID - 19パンデミックに関連する首尾一貫した関連テキストを生成することができ、最近の出来事を理解する能力を示しています。ただし、学習データにあまり関連がない特定の主題については苦労することがあります。微調整時に使用されたトークンは22.3億だけなので、多くの最近の出来事を見逃している可能性があります。そのような出来事の1つが、最新の米国大統領選挙です。
質問と回答の形式のテキストを与えた場合:
Q: Who is the last president?
A: Donald Trump
Q: Who is the most recent president?
A:
モデルはテキストを Barack Obama
で完成させます。
モデルの説明
(GPT - 2モデルカードより)
GPT - 2は、非常に大規模な英語データコーパスで自己教師付き学習方式で事前学習されたトランスフォーマーモデルです。これは、生のテキストのみを使用して事前学習され、人間が何らかの形でラベル付けを行わず(このため、多くの公開データを使用することができます)、それらのテキストから入力とラベルを自動的に生成するプロセスで行われました。より正確には、文章の次の単語を推測するように学習されました。
より正確には、入力は一定の長さの連続したテキストのシーケンスであり、ターゲットは同じシーケンスを1トークン(単語または単語の一部)右にシフトさせたものです。モデルは内部的にマスク機構を使用して、トークンiの予測には1からiまでの入力のみを使用し、将来のトークンを使用しないようにしています。
このようにして、モデルは英語の内部表現を学習し、下流のタスクに役立つ特徴を抽出するために使用することができます。ただし、モデルは事前学習の目的で最も得意であり、プロンプトからテキストを生成することができます。
これは、GPT - 2の最小バージョンで、124Mのパラメータを持っています。
📦 インストール
このセクションの内容は元のREADMEに存在しないため、スキップされます。
💻 使用例
基本的な使用法
テキスト生成パイプラインを使用して、このモデルを直接使用することができます。生成はランダム性に依存するため、再現性のためにシードを設定します。
>>> from transformers import pipeline, set_seed
>>> generator = pipeline('text-generation', model='crumb/gpt2023')
>>> set_seed(42)
>>> generator("Hello, I'm a language model,", max_length=30, num_return_sequences=5)
[{'generated_text': "Hello, I'm a language model, a language for thinking, a language for expressing thoughts."},
{'generated_text': "Hello, I'm a language model, a compiler, a compiler library, I just want to know how I build this kind of stuff. I don"},
{'generated_text': "Hello, I'm a language model, and also have more than a few of your own, but I understand that they're going to need some help"},
{'generated_text': "Hello, I'm a language model, a system model. I want to know my language so that it might be more interesting, more user-friendly"},
{'generated_text': 'Hello, I\'m a language model, not a language model"\n\nThe concept of "no-tricks" comes in handy later with new'}]
高度な使用法
PyTorchで与えられたテキストの特徴を取得する方法は以下の通りです。
from transformers import GPT2Tokenizer, GPT2Model
tokenizer = GPT2Tokenizer.from_pretrained('crumb/gpt2023')
model = GPT2Model.from_pretrained('crumb/gpt2023')
text = "Replace me by any text you'd like."
encoded_input = tokenizer(text, return_tensors='pt')
output = model(**encoded_input)
📚 ドキュメント
制限事項とバイアス
このモデルの学習データは、閲覧可能なデータセットとして公開されていません。インターネットからの多くの未フィルタリングのコンテンツが含まれており、中立性に欠けています。OpenAIチーム自身がモデルカードで指摘しているように:
GPT - 2のような大規模言語モデルは事実とフィクションを区別しないため、生成されたテキストが真実であることを必要とするユースケースはサポートしていません。
さらに、GPT - 2のような言語モデルは、学習に使用されたシステムに内在するバイアスを反映しているため、展開者が最初に意図したユースケースに関連するバイアスの調査を行わない限り、人間とやり取りするシステムに展開することはお勧めしません。我々は、774Mと1.5Bの間で性別、人種、宗教のバイアスプローブに統計的に有意な差を見つけておらず、これはすべてのバージョンのGPT - 2が人間の属性に関するバイアスに敏感なユースケースに対して同様のレベルの注意を払う必要があることを意味します。
詳細な結果はこちらで確認できます。
指標 |
値 |
平均 |
24.85 |
ARC (25 - shot) |
21.93 |
HellaSwag (10 - shot) |
31.11 |
MMLU (5 - shot) |
25.05 |
TruthfulQA (0 - shot) |
40.71 |
Winogrande (5 - shot) |
50.12 |
GSM8K (5 - shot) |
0.3 |
DROP (3 - shot) |
4.73 |
🔧 技術詳細
このセクションの内容は元のREADMEに存在しないため、スキップされます。
📄 ライセンス
このモデルはMITライセンスの下で提供されています。