🚀 OPT:開放預訓練Transformer語言模型
OPT是一種預訓練的Transformer語言模型,旨在解決大語言模型研究受限的問題,為研究人員提供可復現和負責任的研究基礎,推動對大語言模型影響的研究。
🚀 快速開始
你可以直接使用管道進行文本生成來使用這個模型。
>>> from transformers import pipeline
>>> generator = pipeline('text-generation', model="facebook/opt-2.7b")
>>> generator("What are we having for dinner?")
[{'generated_text': 'What are we having for dinner?\nI'm thinking pizza.\nI'm thinking tacos.\n'}]
默認情況下,生成是確定性的。若要使用top - k採樣,請將do_sample
設置為True
。
>>> from transformers import pipeline, set_seed
>>> set_seed(32)
>>> generator = pipeline('text-generation', model="facebook/opt-2.7b", do_sample=True)
>>> generator("What are we having for dinner?")
[{'generated_text': "What are we having for dinner?\nJust pizza?\nWell, I suppose that would suffice."}]
✨ 主要特性
- 開放共享:Meta AI團隊旨在將OPT模型完全且負責任地分享給感興趣的研究人員,推動大語言模型的可復現和負責任研究。
- 性能匹配:訓練的OPT模型在性能和規模上大致匹配GPT - 3類模型,同時應用了數據收集和高效訓練的最新最佳實踐。
- 多數據集訓練:使用多個過濾後的文本數據集進行訓練,包括BookCorpus、CC - Stories、The Pile等,訓練數據豐富。
📚 詳細文檔
模型簡介
OPT首次在Open Pre-trained Transformer Language Models中被提出,並於2022年5月3日由Meta AI在metaseq's repository中首次發佈。
模型描述
OPT主要使用英文文本進行預訓練,但通過CommonCrawl,訓練語料庫中仍存在少量非英文數據。該模型使用因果語言建模(CLM)目標進行預訓練,屬於與GPT - 3相同的僅解碼器模型家族,使用自監督因果語言建模目標進行預訓練。在評估方面,OPT遵循GPT - 3的提示和整體實驗設置。更多詳細信息,請閱讀官方論文。
預期用途和侷限性
- 用途:僅預訓練的模型可用於下游任務評估的提示以及文本生成。此外,還可以使用[CLM示例](https://github.com/huggingface/transformers/tree/main/examples/pytorch/language - modeling)對模型進行下游任務微調。其他OPT檢查點請查看模型中心。
- 侷限性和偏差:由於該模型的訓練數據包含大量來自互聯網的未過濾內容,模型存在嚴重偏差。例如,在生成與性別相關的職業預測時,可能會出現有偏差的結果。這種偏差也會影響該模型的所有微調版本。
訓練數據
- 數據集組成:Meta AI團隊希望在儘可能大的語料庫上訓練該模型,訓練數據由以下5個過濾後的文本文檔數據集組成:
- BookCorpus:包含超過10000本未出版的書籍。
- 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新聞數據集英文部分的更新版本。
- 數據收集過程:數據集從互聯網收集,並經過經典的數據處理算法和重新格式化操作,包括去除重複/無信息的文本,如Chapter One或This ebook by Project Gutenberg.。
訓練過程
預處理
文本使用GPT2字節級版本的字節對編碼(BPE)(用於Unicode字符)進行分詞,詞彙表大小為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,不允許商業使用。
⚠️ 重要提示
由於訓練數據包含大量來自互聯網的未過濾內容,模型可能存在偏差,使用時需謹慎。
💡 使用建議
在使用模型進行文本生成時,可根據需求調整do_sample
參數以獲得不同的生成效果。