🚀 OPT : Open Pre-trained Transformer Language Models
OPTは、2022年5月3日にMeta AIによってmetaseqのリポジトリで初公開され、Open Pre-trained Transformer Language Modelsで最初に紹介されました。
免責事項:OPTを公開したチームは公式のモデルカードを作成しており、それは論文の付録Dに掲載されています。このモデルカードの内容は、Hugging Faceチームによって作成されています。
🚀 クイックスタート
OPTは、主に英語のテキストで事前学習されていますが、CommonCrawlを通じて少量の非英語データも学習コーパスに含まれています。このモデルは、自己教師付きの因果言語モデリング(CLM)の目的で事前学習されており、GPT - 3と同じデコーダー専用モデルのファミリーに属しています。評価においては、GPT - 3のプロンプトと実験設定を参考にしています。詳細については、公式論文を参照してください。
✨ 主な機能
概要
大規模なテキストコレクションで学習された大規模言語モデルは、テキスト生成やゼロショット、フューショット学習などの驚くべき能力を示しています。しかし、現在のところ、完全なモデルへのアクセスは限られた一部の研究機関にしか許可されていません。OPTは、この状況を改善するために、1億2500万から1750億のパラメータを持つデコーダー専用の事前学習トランスフォーマーのセットを提供し、研究者がこれらの大規模言語モデルの研究を進められるようにすることを目指しています。
学習データ
Meta AIチームは、できるだけ大きなコーパスでこのモデルを学習させるため、以下の5つのフィルタリングされたテキストデータセットを統合して使用しました。
- BookCorpus:1万冊以上の未公開の本から構成されています。
- CC - Stories:CommonCrawlデータの一部をフィルタリングして、Winogradスキーマのストーリー風にしたものです。
- The Pile:Pile - CC、OpenWebText2、USPTO、Project Gutenberg、OpenSubtitles、Wikipedia、DM Mathematics、HackerNews が含まれています。
- Pushshift.io Reddit dataset:Baumgartnerら(2020)で開発され、Rollerら(2021)で処理されたRedditデータセットです。
- CCNewsV2:RoBERTa(Liuら、2019b)で使用されたCommonCrawl Newsデータセットの英語部分の更新バージョンです。
最終的な学習データは、800GBのデータに相当する1800億トークンを含んでいます。検証データは、事前学習データの200MBで、事前学習コーパス内の各データセットのサイズに比例してサンプリングされています。
学習手順
- 前処理:テキストは、GPT2のバイトレベルのByte Pair Encoding(BPE)(ユニコード文字用)を使用してトークン化され、語彙サイズは50272です。入力は2048トークンの連続したシーケンスです。
- 学習:1750億パラメータのモデルは、992台の80GB A100 GPUで学習され、約33日間の連続学習が行われました。
📦 インストール
このモデルを使用するには、transformers
ライブラリが必要です。以下のコマンドでインストールできます。
pip install transformers
💻 使用例
基本的な使用法
>>> from transformers import pipeline
>>> generator = pipeline('text-generation', model="facebook/opt-350m")
>>> generator("What are we having for dinner?")
[{'generated_text': "What are we having for dinner?\nI'm having a steak and a salad.\nI'm""}]
高度な使用法
デフォルトでは、生成は決定的です。トップkサンプリングを使用するには、do_sample
をTrue
に設定してください。
>>> from transformers import pipeline, set_seed
>>> set_seed(32)
>>> generator = pipeline('text-generation', model="facebook/opt-350m", do_sample=True)
>>> generator("What are we having for dinner?")
[{'generated_text': "What are we having for dinner?\n\nWith spring fast approaching, it’s only appropriate"}]
📚 ドキュメント
意図された用途と制限
事前学習のみのモデルは、下流タスクの評価のためのプロンプトやテキスト生成に使用できます。また、CLMの例を使用して、下流タスクでモデルを微調整することもできます。他のOPTチェックポイントについては、モデルハブを参照してください。
制限とバイアス
Meta AIのモデルカードで述べられているように、このモデルの学習データには、インターネットからの多くの未フィルターのコンテンツが含まれており、中立的ではないため、モデルには強いバイアスがあります。以下は、モデルがバイアスのある予測をする例です。
>>> from transformers import pipeline, set_seed
>>> set_seed(32)
>>> generator = pipeline('text-generation', model="facebook/opt-350m", do_sample=True, num_return_sequences=5)
>>> generator("The woman worked as a")
[{'generated_text': "The woman works as a substitute teacher for kids who have missed school. She's the teacher herself,"},
{'generated_text': 'The woman works as a security guard for another company and does an average of around $13/hour'},
{'generated_text': 'The woman works as a receptionist, she could at the least wait a week or two for her'},
{'generated_text': 'The woman works as a manager/intern/career development coach/advisor at a nursing home'},
{'generated_text': 'The woman works as a maid and has to clean the house but you can tell her to do it'}]
このバイアスは、このモデルのすべての微調整バージョンにも影響を与えます。
データセットの収集プロセス
データセットはインターネットから収集され、繰り返し/非情報的なテキスト(Chapter OneやThis ebook by Project Gutenberg. など)を削除するなどの古典的なデータ処理アルゴリズムと再フォーマットの手順を経ています。
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
ライセンスの下で提供されており、商用利用は許可されていません。