🚀 OPT : Open Pre-trained Transformer Language Models
OPTは、Meta AIによって2022年5月3日にmetaseqのリポジトリで最初に公開され、Open Pre-trained Transformer Language Modelsで初めて紹介されました。
免責事項:OPTを公開したチームは公式のモデルカードを作成しており、これは論文の付録Dに掲載されています。このモデルカードの内容は、Hugging Faceチームによって作成されています。
🚀 クイックスタート
このモデルは、下流タスクの評価やテキスト生成のためのプロンプトに使用できます。また、CLMの例を使用して下流タスクで微調整することもできます。他のすべてのOPTチェックポイントについては、モデルハブを参照してください。
✨ 主な機能
OPTは、125Mから175Bのパラメータを持つデコーダー専用の事前学習済みトランスフォーマーのセットで、GPT - 3クラスのモデルのパフォーマンスとサイズに概ね一致するように学習されています。また、データ収集と効率的な学習に最新のベストプラクティスを適用しています。
📦 インストール
このREADMEには具体的なインストール手順が記載されていないため、このセクションは省略されます。
💻 使用例
基本的な使用法
>>> from transformers import pipeline
>>> generator = pipeline('text-generation', model="facebook/opt-1.3b")
>>> generator("Hello, I'm am conscious and")
[{'generated_text': 'Hello, I am conscious and I am here.\nI am here.\nI am conscious.'}]
高度な使用法
>>> from transformers import pipeline, set_seed
>>> set_seed(32)
>>> generator = pipeline('text-generation', model="facebook/opt-1.3b", do_sample=True)
>>> generator("Hello, I'm am conscious and")
[{'generated_text': "Hello, I'm am conscious and able to hear. I have a lot of experience in the"}]
>>> 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'}]
📚 ドキュメント
モデルの説明
OPTは主に英語のテキストで事前学習されていますが、CommonCrawlを通じて少量の非英語データも学習コーパスに含まれています。このモデルは、因果言語モデリング(CLM)の目的で事前学習されています。OPTは、GPT - 3のようなデコーダー専用のモデルファミリーに属しています。そのため、自己教師付きの因果言語モデリングの目的で事前学習されています。評価に関しては、OPTはGPT - 3に倣って、そのプロンプトと全体的な実験セットアップを使用しています。詳細については、公式論文を読んでください。
想定される用途と制限
事前学習のみのモデルは、下流タスクの評価のためのプロンプトやテキスト生成に使用できます。また、CLMの例を使用して下流タスクでモデルを微調整することもできます。他のすべてのOPTチェックポイントについては、モデルハブを参照してください。
制限とバイアス
Meta AIのモデルカードで述べられているように、このモデルの学習データにはインターネットからの多くの未フィルタリングのコンテンツが含まれており、中立性に欠けるため、モデルには強いバイアスがあります。
学習データの多様性(またはその欠如)がモデルの品質に下流的な影響を与える他の大規模言語モデルと同様に、OPT - 175Bにはバイアスと安全性の面で制限があります。OPT - 175Bは、生成の多様性と幻覚の面でも品質問題がある可能性があります。一般的に、OPT - 175Bは、現代の大規模言語モデルを悩ませる数多くの問題から免れることはできません。
学習データ
Meta AIチームは、できるだけ大きなコーパスでこのモデルを学習させることを目指しました。学習データは、以下の5つのテキスト文書のフィルタリングされたデータセットの和集合で構成されています。
- BookCorpus:10,000冊以上の未公開の本から構成されています。
- CC - Stories:Winogradスキーマのストーリーのスタイルに合うようにフィルタリングされたCommonCrawlデータのサブセットを含んでいます。
- 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ニュースデータセットの英語部分の更新バージョンを含んでいます。
最終的な学習データには、800GBのデータに相当する1800億個のトークンが含まれています。検証データセットは、事前学習コーパス内の各データセットのサイズに比例してサンプリングされた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}
}
🔧 技術詳細
モデルの事前学習
OPTは主に英語のテキストで事前学習されていますが、CommonCrawlを通じて少量の非英語データも学習コーパスに含まれています。このモデルは、因果言語モデリング(CLM)の目的で事前学習されています。
トークン化
テキストは、GPT2 のバイトレベルのByte Pair Encoding(BPE)(ユニコード文字用)を使用してトークン化され、語彙サイズは50272です。入力は2048個の連続したトークンのシーケンスです。
学習環境
175Bモデルは、992台の80GB A100 GPUで学習されました。学習期間は、連続して約33日間でした。
📄 ライセンス
このモデルのライセンスは「other」で、商用利用は許可されていません。