OPT-175B:降低碳足迹并开放获取的大型预训练 Transformer 模型

发布于:2025-03-08 ⋅ 阅读:(39) ⋅ 点赞:(0)

【摘要】

这篇论文介绍了Open Pre-trained Transformers (OPT)系列模型,包括从125M到175B参数的不同大小的解码器预训练变压器。作者旨在负责任地与感兴趣的科研人员分享这些模型。研究显示OPT-175B在性能上与GPT-3相当,但开发过程中的碳足迹仅为GPT-3的1/7。

论文的主要内容包括:

  1. 介绍:大规模语言模型已经展示了惊人的零样本和少样本学习能力,但这些模型的开发成本很高,难以复制。
  2. 方法:描述了OPT系列模型的训练过程和模型架构。
  3. 评估
    • NLP评估:在16个标准NLP任务上评估OPT-175B的表现,发现其性能与GPT-3相当,但某些任务上表现不一致。
    • 对话评估:在多个对话数据集上评估OPT-175B,发现其性能在一些任务上优于其他模型。
    • 偏见和毒性评估:评估OPT-175B在仇恨言论、刻板印象和毒性等方面的性能,发现其存在一定的偏见和毒性问题。
  4. 偏见和毒性评估:指出OPT-175B存在一定的偏见和毒性问题,但总体上表现良好。
  5. 限制:讨论了OPT-175B的一些限制,包括生成重复内容、执行指令时的表现不理想等问题。
  6. 考虑因素:详细描述了发布OPT-175B时考虑的因素,包括透明度、环境保护和模型的负责任使用等。
  7. 相关工作:回顾了大规模语言模型的发展历史和相关研究工作。

此外,论文还提供了详细的训练日志、代码库和模型卡,以帮助科研人员更好地理解和使用这些模型。

【数据来源】

论文《Open Pre-trained Transformers (OPT): A Suite of Decoders-Only Pre-trained Transformers》的数据来源主要包括以下部分:

  1. RoBERTa相关数据集

    • BookCorpus
    • Stories (CC-Stories)
    • The Pile
    • PushShift.io Reddit 数据集
  2. The Pile

    • Pile-CC
    • OpenWebText2
    • USPTO
    • Project Gutenberg
    • OpenSubtitles
    • Wikipedia
    • DM Mathematics
    • HackerNews
  3. 其他数据集

    • CCNewsV2
    • 公共CommonCrawl数据
    • 公共Reddit数据
  4. 数据处理

    • 使用MinHashLSH过滤掉重复文档
    • 通过GPT-2的字节级BPE进行分词
    • 数据清洗和重复文档的去除
  5. 数据总量

    • 最终数据集包含约180B个标记,对应800GB的数据。

总结来说,数据来源主要包括公共可用的数据集,通过合并、过滤和清洗处理,构建了一个广泛的人类生成文本语料库,用于训练OPT-175B模型。

【模型架构】

论文介绍了一种名为OPT(Open Pre-trained Transformers)的预训练解码器变换器语言模型系列,模型参数范围从125M到175B。以下是模型架构的中文总结:

模型架构概述

  1. 模型类型

    • 目标:OPT系列模型是解码器型预训练变换器,旨在覆盖从小型到大型的各种规模。
    • 目标用户:感兴趣的科研人员。
    • 可用性:所有模型均免费提供,重点是负责任的研究和使用。
  2. 模型规模

    • 最小规模:125M参数
    • 最大规模:175B参数
  3. 模型结构

    • 模型由多个解码器层组成。
    • 每个模型的具体参数如下表所示:
    模型规模 层数(#L) 头数(#H) 嵌入维度(dmodel) 最大学习率(LR) 全局批量大小(Batch)
    125M 12 12 768 6.0e-4 0.5M
    350M 24 16 1024 3.0e-4 0.5M
    1.3B 24 32 2048 2.0e-4 1M
    2.7B 32 32 2560 1.6e-4 1M
    6.7B 32 32 4096 1.2e-4 2M
    13B 40 40 5120 1.0e-4 4M
    30B 48 56 7168 1.0e-4 4M
    66B 64 72 9216 0.8e-4 2M
    175B 96 96 12288 1.2e-4 2M
  4. 训练设置

    • 初始化:使用正态分布初始化权重,均值为0,标准差为0.006。
    • 激活函数:使用ReLU激活函数。
    • 批处理大小:根据模型规模调整,从0.5M到4M不等。
    • 学习率:采用线性学习率方案,从0逐渐增加到最大值。
    • 正则化:使用AdamW优化器,权重衰减为0.1。
    • 梯度裁剪:梯度裁剪设置为1.0,但在某些情况下降至0.3。
    • 预分割因子:使用预分割因子以避免梯度计算中的溢出。
  5. 预训练数据集

    • 数据集包含多个来源,包括RoBERTa、Pile和Reddit。
    • 数据去重:使用MinHashLSH进行去重,去除Jaccard相似度≥0.95的重复文档。
    • 数据处理:使用GPT-2的字节级BPE进行分词,最终数据集包含约180B个标记。
  6. 训练效率

    • 使用992个80GB的A100 GPU进行训练,采用全分片数据并行(Fully Sharded Data Parallel)和Megatron-LM张量并行。
    • 每个GPU的利用率高达147 TFLOP/s。
  7. 评估

    • 模型在多个自然语言处理(NLP)和对话任务上进行评