見出し画像

GPTからChatGPTへ:OpenAIの言語モデルの進化の歴史

GPT

2018年、OpenAI は「Improving Language Understanding by Generative Pre-Training(GPTによって言語理解を向上させる)」というタイトルの論文を発表しました。

既存手法: タスク毎に教師ありデータを作ってモデルを学習させていた。
提案手法: 教師なしで事前学習を行ったあと、少量の教師ありデータでファインチューニングを行った。
実験結果: 12個のデータセットの内、9個のデータセットでSoTAを達成した。

Improving Language Understanding by Generative Pre-Training

モデルアーキテクチャAttention Is All You Needの研究をほとんど踏襲していおり、12層のDecoderのみのTransformerとなっています。

事前学習データセット: BooksCorpusデータセットを利用しています。合計4.5GBのテキストで、様々なジャンルの未公開の本が7,000冊以上含まれています。

Improving Language Understanding by Generative Pre-Training

さまざまな文のペアを渡して、それらの間の関係を「contradiction」、「entailment」、または「neutral」に分類するタスクなどを行なっています。

The Stanford Natural Language Inference (SNLI) Corpus
  • Transformerと大規模なデータを用いた事前学習により、優れた言語モデルが出来ることが分かった。

  • 事前学習を行うことで、少量の教師ありデータでファインチューニングするだけでも性能が出ることが分かった。

GPT-2

2019年、OpenAI は「Language Models are Unsupervised Multitask Learners(言語モデルは教師なしで多様なタスクを学習できる)」というタイトルの論文を発表しました。

既存手法: ULMFiT, ELMo, OpenAI GPT, BERTという教師なしで事前学習を行い、そのあとに特定のタスクについて教師ありでファインチューニングする手法が流行っているが、これらのモデルもまだ数千や数万といった教師ありデータでファインチューニングしなければなりません。
提案手法: GPTよりもデータとパラメータ数を増やすことで、教師ありデータでのファインチューニングなしで、Zero-Shot, One_Shot, Few-Shotで精度が出るような汎用的なモデルを作成する。
実験結果: SoTAには及ばないが、規模を大きくしていくことで、精度が改善してくことを確認した。

Language Models are Unsupervised Multitask Learners

モデルアーキテクチャ: GPTとほとんど同じで、DecoderのみのTransformerとなっていますが、層数が12から48まで増え、それによってパラメーター数が0.1Bから1.5Bまで増えています。

事前学習データセット: CommonCrawlは理解不能な内容が多量に含まれていることが判明し、採用は見送られました。その代わりに、WebTextとして知られる新しいコーパスを開発しました。WebTextは、2017年12月までに少なくとも3つのアップボートを受けたRedditの投稿にリンクされたページからのみスクレイピングして生成されました。その後、コーパスはクリーニングされ、HTMLドキュメントはプレーンテキストに解析され、重複は削除され、多くの他のデータセットに存在するWikipediaのページも削除されました。合計40GBのテキストで800万以上のドキュメントを含んでいます。

GPT-2 は、高品質なテキスト生成することが出来ます。質問応答、読解、要約、翻訳などのタスクをファインチューニングなしで行うことが出来ます。

  • GPT-2は、GPTをスケールアップすることで、教師なしでもNLPタスクで高い性能を発揮することが分かった。

GPT-3

2020年、OpenAI は「Language Models are Few-Shot Learners(言語モデルは少ない例から学習できる)」というタイトルの論文を発表しました。

既存手法: ULMFiT, ELMo, OpenAI GPT, BERTという教師なしで事前学習を行い、そのあとに特定のタスクについて教師ありでファインチューニングする手法が流行っているが、これらのモデルもまだ数千や数万といった教師ありデータでファインチューニングしなければなりません。

提案手法: GPT-2をスケールアップして、タスクに依存しないFew-Shot設定でのパフォーマンスをテストする。

実験結果: GPT-3は、多くのNLPタスクとベンチマークで強力なパフォーマンスを達成し、その場での推論やドメイン適応を必要とするいくつかのタスクでも優れた結果を示しました。また、GPT-3は、人間と区別がつかないニュース記事を生成できることがわかりました。

Language Models are Few-Shot Learners

モデルアーキテクチャ: GPT-2とほとんど同じで、DecoderのみのTransformerとなっていますが、層数が48から96まで増え、それによってパラメーター数が1.5Bから175Bまで増えています。

Language Models are Few-Shot Learners

事前学習データセット: フィルタリングされたCommon Crawl、WebText2、そしてWikipediaなどのデータセット、合計で300Bトークンで事前学習されています。

GPT-3は、人間と区別がつかないニュース記事を生成できることがわかりました。

Language Models are Few-Shot Learners
Language Models are Few-Shot Learners

また、単語からランダムな記号を取り除くという単純なタスクでは、タスク説明の有無に関わらず、大きなモデルが、少しの例を示すだけでタスクを行うことが分かります。

人間とアシスタントがやり取りしているような文書を書いて、続きを書かせることでChatGPTのようなことが出来るようになりました。

State of GPT
  • GPT-2をさらにスケールアップしても性能が向上することが分かった。

  • 人間と区別がつかないニュース記事を生成できることが分かった。

Instruction Tuning

2022年、Google Researchは「Fine-Tuned Language Models are Zero-Shot Learners(ファインチューニングされた言語モデルはゼロショットで学習できる)」というタイトルの論文を発表しました。

既存手法: GPT-3などがFew-Shotで非常に高い性能を出せることが分かっていますが、Zero-Shotではそれほど成功していません。
提案手法: 137Bの事前学習済みモデルを、NLPデータセットで教師ありファインチューニング(SFT)を行いFLANを作成します。そして、見ていないタスクでのFLANのZero-Shot性能を評価します。
実験結果: SFTを行うことで、Zero-Shot性能を大幅に向上させることが分かりました。FLANのZero-Shotは、25のデータセットのうち20でGPT-3(175B)のZero-Shotを上回り、6つではでGPT-3のFew-Shotを大きく上回りました。

特定のNLPタスクの性能を上げるためにそのタスクでファインチューニングするのではなく、FLANでは別のタスクでファインチューニングしています。

Fine-Tuned Language Models are Zero-Shot Learners

その結果、SFTをすることでGPT-3のFew-ShotよりもZero-ShotのFLANの方が性能の良いことが分かりました。

Fine-Tuned Language Models are Zero-Shot Learners
Fine-Tuned Language Models are Zero-Shot Learners

追加の実験結果: 見たことのあるタスクの場合は、SFTがすべてのモデルサイズのパフォーマンスを向上することが分かった。見たことのないタスクの場合は、大きいサイズのモデルはパフォーマンスを向上させたが、小さいサイズのモデルはパフォーマンスを損なうことが分かった。

パラメータ数が大きいモデルでSFTを行うと、見たことがないタスクでもパフォーマンスを改善できるように、汎化性能が高いことが分かってきた。

  • GPT-3のようなモデルはSFTをすることで、例示をしなくても高いパフォーマンスを発揮することが分かった。

  • パラメータ数が大きいモデルは、汎化性能が高いことが分かってきた。

InstructGPT

2022年、OpenAI は「Training language models to follow instructions with human feedback(人間のフィードバックを用いて指示に従う言語モデルをトレーニングする)」というタイトルの論文を発表しました。

既存手法: GPT-3は汎用性が高く、人間の書いたような文章を生成できることが分かったが、ユーザーが期待する回答をしないことがあったり、不正確な答えを出したり、道徳的に良くない答えやバイアスがあることがあることがわかった。

提案手法: SFTとRLHFを使ってユーザーが好む回答するように調整した。プロンプトデータセットから選んだプロンプトに対して、ラベラーが望ましい回答を作成して、そのデータを使ってSFTを行った。また、プロンプトといくつかの回答を用意して、ラベラーに回答を順位付けさせることでデータセットを作成して、RM(GPT-3 6B)を作成した。最後に、RMを最大化するようにSFT Modelを強化学習する。このループを繰り返す。

実験結果: 人間の評価では、1.3BパラメータのInstructGPTモデルの出力が、100倍少ないパラメータを持つ175B GPT-3の出力よりも好まれることがわかった。さらに、InstructGPTモデルは、真実性の向上と有害な出力生成の減少を示し、公共のNLPデータセットにおけるパフォーマンスの後退が最小限であることを示しています。

Training language models to follow instructions with human feedback
  • 人間と区別がつかないレベルの文書生成能力を、SFTとRLHFを使って、ユーザーの期待に応える回答するようにコントロール出来ることが分かった。

まとめ

  • GPTでは、教師なしでの事前学習が有効であることが確認されました。

  • GPT-2では、パラメータ数を増加させたことにより、教師なしでもNLPタスクで高い性能を発揮することが明らかになりました。

  • GPT-3では、さらにパラメータ数を増やすことで、NLPタスクにおいてFew-Shot学習で非常に高い性能を発揮することが示されました。また、人間と区別がつかないレベルのニュース記事を生成できる能力も確認されました。

  • InstructGPTでは、GPT-3で確認された自然な文章を生成する能力を安全に利用するために、SFTやRLHFを用いて、ユーザーの期待に応える回答を提供する方向へと進化しました。 

ChatGPT以降

2022年11月30日、OpenAIは「ChatGPT」というチャットボットを公開しました。しかし、ChatGPTがもっともらしい嘘をついてしまうことが問題になりました。

例えば、「gpt-3.5-turbo-0125」と「gpt-4-turbo-2024-04-09」に『徳川将軍の一覧を書いてください。』とお願いすると以下のような回答が返ってきました。

もちろんです。以下に徳川将軍の一覧を示します。
1. 徳川家康(1543-1616)- 初代将軍
2. 徳川秀忠(1609-1651)- 2代将軍
3. 徳川家光(1643-1680)- 3代将軍
4. 徳川家綱(1666-1709)- 4代将軍
5. 徳川家宣(1709-1716)- 5代将軍
6. 徳川家継(1716-1735)- 6代将軍
7. 徳川家宗(1735-1745)- 7代将軍
8. 徳川家重(1745-1760)- 8代将軍
9. 徳川家治(1760-1787)- 9代将軍
10. 徳川家斉(1787-1837)- 10代将軍
11. 徳川家慶(1837-1853)- 11代将軍
12. 徳川家定(1853-1858)- 12代将軍
以上が徳川将軍の一覧です。

gpt-3.5-turbo-0125

徳川将軍の一覧は以下の通りです:
1. 徳川家康(1543年 - 1616年)
2. 徳川秀忠(1579年 - 1632年)
3. 徳川家光(1604年 - 1651年)
4. 徳川家綱(1641年 - 1680年)
5. 徳川綱吉(1641年 - 1709年)
6. 徳川家宣(1662年 - 1709年)
7. 徳川家継(1680年 - 1709年)
8. 徳川吉宗(1684年 - 1751年)
9. 徳川家重(1711年 - 1761年)
10. 徳川家治(1737年 - 1793年)
11. 徳川家斉(1760年 - 1837年)
12. 徳川家慶(1793年 - 1853年)
13. 徳川家定(1824年 - 1858年)
14. 徳川家茂(1846年 - 1866年)
15. 徳川慶喜(1837年 - 1913年)
これらの将軍たちは、江戸時代を通じて日本を統治し、徳川幕府を代表しました。

gpt-4-turbo-2024-04-09

ChatGPTのバージョンアップにより情報の正確性が向上していることが観察できます。GPT-3.5では依然としてハルシネーションがありますが、GPT-4ではハルシネーションが大幅に減少しています。しかし、完全にハルシネーションを排除することは依然として挑戦であり、今後もOpenAIはこの問題に対処していく必要があります。

GPT-4 Technical Report

GPT-3までは、自然言語処理(NLP)のタスクを通じてその性能が評価されていました。しかし、技術が進化するにつれて、GPT-4のようなモデルでは、人間が受けるSAT試験のようなテストを用いて、その能力が測定されるようになりました。これはAIの進化がどれほど進んでいるかを示す興味深い変化です。

この記事が気に入ったらサポートをしてみませんか?