模型简介
模型特点
模型能力
使用案例
🚀 OPT:开放预训练Transformer语言模型
OPT是一种预训练的Transformer语言模型,旨在为研究人员提供可复现和负责任的大规模研究支持,助力解决大语言模型在鲁棒性、偏差和毒性等方面的挑战。
🚀 快速开始
你可以直接使用文本生成管道来使用这个模型。
>>> 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.'}]
默认情况下,生成是确定性的。若要使用top - 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("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"}]
✨ 主要特性
- 开放共享:Meta AI团队旨在将OPT模型完全且负责任地分享给有兴趣的研究人员,促进可复现和负责任的大规模研究。
- 性能匹配:训练的OPT模型在性能和规模上大致匹配GPT - 3类模型,同时应用了数据收集和高效训练的最新最佳实践。
- 多参数规模:提供了从1.25亿到1750亿参数不等的仅解码器预训练Transformer模型套件。
📚 详细文档
简介
引用官方论文的前两段:
在大规模文本集合上训练的大语言模型已展现出惊人的文本生成能力以及零样本和少样本学习能力。虽然在某些情况下,公众可以通过付费API与这些模型进行交互,但目前只有少数资源丰富的实验室能够完全访问这些模型。这种受限的访问限制了研究人员研究这些大语言模型如何以及为何有效的能力,阻碍了在改进已知挑战(如鲁棒性、偏差和毒性)方面的进展。
我们推出了开放预训练Transformer(OPT),这是一套参数从1.25亿到1750亿不等的仅解码器预训练Transformer模型,我们旨在将其完全且负责任地分享给有兴趣的研究人员。我们训练OPT模型,使其在性能和规模上大致匹配GPT - 3类模型,同时也应用了数据收集和高效训练的最新最佳实践。我们开发这套OPT模型的目的是实现可复现和负责任的大规模研究,并让更多人参与到研究这些大语言模型的影响中来。风险、危害、偏差和毒性等的定义应该由整个研究界共同阐明,而这只有在模型可供研究时才有可能实现。
模型描述
OPT主要使用英文文本进行预训练,但通过CommonCrawl,训练语料库中仍存在少量非英文数据。该模型使用因果语言建模(CLM)目标进行预训练。 OPT与GPT - 3同属仅解码器模型家族。因此,它使用自监督因果语言建模目标进行预训练。 在评估方面,OPT遵循GPT - 3的方法,使用其提示和整体实验设置。更多详细信息,请阅读官方论文。
预期用途和局限性
预期用途
仅预训练的模型可用于下游任务的评估提示以及文本生成。此外,该模型可以使用[CLM示例](https://github.com/huggingface/transformers/tree/main/examples/pytorch/language - modeling)在下游任务上进行微调。对于所有其他OPT检查点,请查看模型中心。
局限性和偏差
正如Meta AI的模型卡片中所提到的,由于该模型的训练数据包含大量来自互联网的未过滤内容,这些内容远非中立,因此该模型存在严重偏差:
与其他因训练数据多样性(或缺乏多样性)对模型质量产生下游影响的大语言模型一样,OPT - 175B在偏差和安全性方面存在局限性。OPT - 175B在生成多样性和幻觉方面也可能存在质量问题。一般来说,OPT - 175B无法避免困扰现代大语言模型的诸多问题。
以下是该模型可能产生有偏差预测的示例:
>>> 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:包含超过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新闻数据集英文部分的更新版本。
最终的训练数据包含1800亿个标记,对应800GB的数据。验证集由200MB的预训练数据组成,按每个数据集在预训练语料库中的大小比例进行采样。 由于数据集的部分是公共Common Crawl数据的子集,以及公共Reddit数据的子集,因此该数据集可能包含冒犯性内容,其中的句子如果直接查看,可能会具有侮辱性、威胁性,或者可能会引起焦虑。
收集过程
该数据集从互联网收集而来,并经过了经典的数据处理算法和重新格式化操作,包括去除重复/无信息的文本,如Chapter One或This ebook by Project Gutenberg.
训练过程
预处理
文本使用GPT2字节级版本的字节对编码(BPE)(用于Unicode字符)进行标记化,词汇表大小为50272。输入是由2048个连续标记组成的序列。 1750亿参数的模型在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}
}
📄 许可证
该模型使用其他许可证,且不允许商业使用。



