项目介绍:OPT-125M
项目背景
OPT(Open Pre-trained Transformer Language Models)是由Meta AI于2022年5月3日首次在metaseq的代码库中发布的开源语言模型。该项目旨在通过开放预训练的Transformer模型,使得更多研究人员能够对大规模语言模型(LLM)进行研究,从而推动在稳健性、偏见和有害内容等领域的进步。
模型概述
OPT是一组仅解码器的预训练Transformer模型,其参数数量从125M到175B不等。OPT的设计目标是与GPT-3类模型的性能和规模相当,同时采用最新的数据收集和高效的训练实践。这使得研究人员能够在更大规模上进行可复现和负责任的研究。
该模型以英语文本为主进行预训练,但也包含了一小部分非英语数据。OPT使用的是自监督的因果语言建模目标进行预训练。
设计意图与限制
OPT-125M模型可以用于文本生成和下游任务的提示评估。此外,模型还可以通过自回归语言建模(CLM)的示例进行微调。虽然预训练模型可以为多个领域的研究提供基础,但由于数据来源的不加过滤,模型存在一定偏见和安全性问题。
使用方法
可以使用文本生成的pipeline直接调用OPT-125M模型。例如,以下代码展示了如何利用Python调用模型进行文本生成:
from transformers import pipeline
generator = pipeline('text-generation', model="facebook/opt-125m")
generator("What are we having for dinner?")
偏见与局限
由于OPT使用的训练数据来自公共网络数据,这些数据可能包含偏见且不具中立性。OPT-175B等模型可能在生成多样性和幻觉方面存在质量问题。这些偏见也会影响到所有的微调模型版本。
训练数据
Meta AI团队尽可能地使用规模庞大的语料库训练OPT模型,主要包括以下几个数据集:
- BookCorpus,包含超过1万本未出版的书籍。
- CC-Stories,主要是CommonCrawl数据子集。
- The Pile,其中包括多个子数据集如Pile-CC、OpenWebText2等。
- Pushshift.io Reddit数据集。
- CCNewsV2,为CommonCrawl News数据集的更新版本。
最终的训练数据包含1800亿个标记,大约800GB的数据信息。验证集由200MB的预训练数据组成,按比例从各个数据集中抽样。
训练过程
训练中采用了GPT2字节级版本的字节对编码(BPE)对文本进行分词,词汇表大小为50272。175B模型在992个80GB A100 GPU上训练,整个过程耗时约33天。
此次开放的OPT-125M为学术研究和下游开发提供了极大的便利,但用户在应用时需注意模型可能存在的偏见和质量问题。