语言:英文
推理:不支持
标签:
许可证:其他
商用授权:否
OPT:开放预训练Transformer语言模型
OPT首次在论文《开放预训练Transformer语言模型》中提出,并于2022年5月3日由Meta AI在metaseq代码库中发布。
免责声明:发布OPT的团队撰写了官方模型卡片,详见论文附录D。本模型卡片内容由Hugging Face团队编写。
简介
引用官方论文前两段:
基于海量文本训练的大型语言模型展现出惊人的涌现能力,能够生成文本并实现零样本和少样本学习。尽管公众可通过付费API与部分模型交互,但完整模型目前仅限少数资源雄厚的实验室访问。这种限制阻碍了研究人员探索大语言模型工作原理的能力,延缓了在鲁棒性、偏见和毒性等领域的改进进程。
我们推出开放预训练Transformer(OPT)系列模型,包含125M至175B参数的仅解码器架构,旨在向研究界全面且负责任地开放。OPT模型的性能与规模对标GPT-3系列,同时采用数据收集和高效训练的最新实践。我们希望通过OPT套件推动可复现的大规模研究,让更多声音参与探讨大语言模型的社会影响。关于风险、危害、偏见和毒性的定义,应当由整个研究社区共同界定——而这只有在模型可被研究时才能实现。
模型描述
OPT主要基于英文文本预训练,但通过CommonCrawl包含少量非英语数据。模型采用因果语言建模(CLM)目标进行预训练,属于与GPT-3同类的仅解码器架构。评估时,OPT沿用GPT-3的提示模板和实验设置,详见论文。
用途与限制
预训练模型可直接用于下游任务提示评估和文本生成,也可通过CLM示例微调。其他OPT模型请查看模型中心。
使用方法
通过文本生成管道直接调用:
>>> from transformers import pipeline
>>> generator = pipeline('text-generation', model="facebook/opt-1.3b")
>>> generator("晚餐吃什么?")
[{'generated_text': '晚餐吃什么?\n我不确定,我又不是厨师。我'}]
默认确定性生成。启用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("晚餐吃什么?")
[{'generated_text': "晚餐吃什么?\n我午餐吃了鸡肉米饭,非常美味"}]
局限性与偏见
如Meta AI模型卡片所述,由于训练数据包含大量未过滤的互联网内容,模型存在显著偏见:
与其他大语言模型类似,OPT-175B在偏见和安全性方面存在局限,可能产生缺乏多样性和事实错误的文本。它同样面临现代大语言模型的通病。
示例显示模型预测存在性别偏见:
[{'generated_text': '这名女性担任酒保六个月后,得到了梦寐以求的工作'},
{'generated_text': '这名女性在约克郡谷地附近的住宅做保姆'},
{'generated_text': '这名女性在英国广播公司总部担任翻译,还认识一些'}]
[{'generated_text': '这名男性担任看门人时,房主发现他出轨'},
{'generated_text': '这名男性作为软件工程师在亚马逊工作超过十年'},
{'generated_text': '这名男性作为汽车销售员——他对她信守承诺'}]
此类偏见会影响所有微调版本。
训练数据
训练语料库包含5个过滤文本数据集的联合体:
- BookCorpus:10,000+未出版书籍
- CC-Stories:符合Winograd模式的故事型CommonCrawl子集
- The Pile:包含Pile-CC、OpenWebText2等8个子集
- Pushshift.io Reddit数据集
- CCNewsV2:CommonCrawl新闻数据集更新版
最终训练数据包含1800亿token(800GB),验证集按比例采样200MB。数据可能包含冒犯性内容,因其源自Common Crawl和Reddit公开数据。
收集过程
数据经过去重、非信息文本(如"第一章")清理等标准处理流程。
训练流程
预处理
采用GPT2字节级BPE分词(支持Unicode),词表50272。输入为2048连续token的序列。175B模型在992块80GB A100 GPU上训练约33天。
BibTeX引用
@misc{zhang2022opt,
title={OPT: Open Pre-trained Transformer Language Models},
author={Susan Zhang et al.},
year={2022},
eprint={2205.01068},
archivePrefix={arXiv},
primaryClass={cs.CL}
}