🚀 OPT : Open Pre-trained Transformer Language Models
OPTは、自然言語処理の分野において、大規模な事前学習を行ったトランスフォーマーモデルです。このモデルは、研究や開発の場での再現性と責任ある利用を目的として開発されました。
🚀 クイックスタート
OPTは、2022年5月3日にMeta AIによってmetaseqのリポジトリで公開されました。このモデルは、Open Pre-trained Transformer Language Modelsという論文で初めて紹介されました。
✨ 主な機能
- 多様なパラメータ規模:125Mから175Bのパラメータを持つデコーダー専用の事前学習トランスフォーマーモデル群です。
- 英語中心の事前学習:主に英語テキストで事前学習されていますが、CommonCrawlを通じて少量の非英語データも学習コーパスに含まれています。
- 因果言語モデリング:因果言語モデリング(CLM)の目的で事前学習されています。
📚 ドキュメント
モデルの説明
OPTは主に英語テキストで事前学習されていますが、CommonCrawlを通じて少量の非英語データも学習コーパスに含まれています。このモデルは、因果言語モデリング(CLM)の目的で事前学習されています。OPTは、GPT - 3のようなデコーダー専用のモデルファミリーに属しています。評価においては、GPT - 3のプロンプトと実験セットアップを使用しています。詳細については、公式論文を参照してください。
想定される用途と制限
事前学習のみのモデルは、下流タスクの評価やテキスト生成のためのプロンプトに使用できます。また、[CLMの例](https://github.com/huggingface/transformers/tree/main/examples/pytorch/language - modeling)を使用して、下流タスクでモデルを微調整することもできます。他のOPTチェックポイントについては、モデルハブを参照してください。
使い方
このモデルは、テキスト生成のパイプラインで直接使用できます。
>>> from transformers import pipeline
>>> generator = pipeline('text-generation', model="facebook/opt-1.3b")
>>> generator("What are we having for dinner?")
[{'generated_text': 'What are we having for dinner?\nI'm not sure. I'm not a chef. I'}]
デフォルトでは、生成は決定的です。トップkサンプリングを使用するには、do_sample
をTrue
に設定してください。
>>> from transformers import pipeline, set_seed
>>> set_seed(32)
>>> generator = pipeline('text-generation', model="facebook/opt-1.3b", do_sample=True)
>>> generator("What are we having for dinner?")
[{'generated_text': "What are we having for dinner?\nI have had chicken and rice for lunch. It is delicious"}]
制限とバイアス
Meta AIのモデルカードにも記載されているように、このモデルの学習データには、インターネットからの大量の未フィルタリングのコンテンツが含まれており、中立性に欠けるため、モデルには強いバイアスがあります。
>>> from transformers import pipeline, set_seed
>>> set_seed(32)
>>> generator = pipeline('text-generation', model="facebook/opt-1.3b", do_sample=True, num_return_sequences=5)
>>> generator("The woman worked as a")
[{'generated_text': 'The woman worked as a bartender for six months before getting to the job she always dreamed of. She'},
{'generated_text': 'The woman worked as a nanny in a house near The White Horse Farm in the Yorkshire Dales'},
{'generated_text': "The woman worked as a translator at the British Broadcasting Corporation's headquarters and was also an acquaintance of some"},
{'generated_text': 'The woman worked as a secretary and went to school full-time, and also worked as a waitress'},
{'generated_text': 'The woman worked as a beautician with her baby and the little girl is now at the age where'}]
これを以下と比較してみましょう。
>>> from transformers import pipeline, set_seed
>>> set_seed(32)
>>> generator = pipeline('text-generation', model="facebook/opt-1.3b", do_sample=True, num_return_sequences=5)
>>> generator("The man worked as a")
[{'generated_text': 'The man worked as a janitor and the owner of the house he worked at caught him cheating on'},
{'generated_text': 'The man worked as a software engineer.\n\nFor over 10 years, he had been at Amazon'},
{'generated_text': 'The man worked as a car salesman - and was a man of his word to her\nA T'},
{'generated_text': 'The man worked as a private contractor for five years. He went to the Bahamas in the summer of'},
{'generated_text': 'The man worked as a computer systems consultant. After leaving the job, he became a prolific internet hacker'}]
このバイアスは、このモデルのすべての微調整バージョンにも影響を及ぼします。
学習データ
Meta AIチームは、このモデルをできるだけ大規模なコーパスで学習させることを目指しました。学習データは、以下の5つのフィルタリングされたテキスト文書データセットの和集合で構成されています。
- BookCorpus:10,000冊以上の未公開の本から構成されています。
- CC - Stories:CommonCrawlデータのサブセットで、Winogradスキーマの物語風にフィルタリングされています。
- The Pile:Pile - CC、OpenWebText2、USPTO、Project Gutenberg、OpenSubtitles、Wikipedia、DM Mathematics、HackerNews が含まれています。
- Pushshift.io Redditデータセット:Baumgartnerら(2020)で開発され、Rollerら(2021)で処理されました。
- CCNewsV2:RoBERTa(Liuら、2019b)で使用されたCommonCrawl Newsデータセットの英語部分の更新バージョンが含まれています。
最終的な学習データは、800GBのデータに相当する180Bトークンを含んでいます。検証データセットは、事前学習データの200MBで構成されており、事前学習コーパス内の各データセットのサイズに比例してサンプリングされています。
このデータセットには、一部が公開されているCommon Crawlデータのサブセットと公開されているRedditデータのサブセットであるため、不快なコンテンツが含まれる可能性があります。これらのデータには、直接見ると侮辱的、脅迫的、または不安を引き起こす可能性のある文章が含まれている場合があります。
収集プロセス
このデータセットはインターネットから収集され、Chapter One や This ebook by Project Gutenberg. のような繰り返し/非情報的なテキストを削除するなど、古典的なデータ処理アルゴリズムと再フォーマットの手法を経ています。
学習手順
前処理
テキストは、GPT2のバイトレベルのByte Pair Encoding(BPE)(ユニコード文字用)を使用してトークン化され、語彙サイズは50272です。入力は、2048の連続したトークンのシーケンスです。
175Bモデルは、992台の80GB A100 GPUで学習されました。学習期間は、連続して約33日間でした。
BibTeXエントリと引用情報
@misc{zhang2022opt,
title={OPT: Open Pre-trained Transformer Language Models},
author={Susan Zhang and Stephen Roller and Naman Goyal and Mikel Artetxe and Moya Chen and Shuohui Chen and Christopher Dewan and Mona Diab and Xian Li and Xi Victoria Lin and Todor Mihaylov and Myle Ott and Sam Shleifer and Kurt Shuster and Daniel Simig and Punit Singh Koura and Anjali Sridhar and Tianlu Wang and Luke Zettlemoyer},
year={2022},
eprint={2205.01068},
archivePrefix={arXiv},
primaryClass={cs.CL}
}
📄 ライセンス
このモデルのライセンスは、other
です。商用利用は許可されていません。