经典大语言模型解读(3):参数量更大、泛化性能更强的生成式模型GPT-2

概述

GPT-1的基础上,OpenAI提出了包含15亿参数(GPT-1参数量的10倍以上)的GPT-2模型。该模型在一个更大规模的文本数据集WebText上进行预训练。与GPT-1依赖特定任务上的有监督微调来提升性能不同,GPT-2具备更强的零样本(zero shot)学习能力,能在未专门微调的任务上表现出色。

Zero shot learning(零样本学习):模型能够在没有见过特定类别训练数据的情况下识别新类别。

GPT-2框架

训练数据

大多数先前的工作都在单一文本领域上(新闻文章、维基百科等)训练语言模型。为此,本文构建了一个更大,更多样性的数据集WebText,该数据集中包含了超过800万个文档,总数据量达到了40GB。

输入表示

GPT-2采用Byte Pair Encoding(BPE)方式来对文本进行编码,BPE 是一种常用于压缩和处理自然语言的算法,它通过反复合并最频繁出现的字符对,将词汇分割为子词单元,以生成固定大小的词汇表。这种方法使模型可以处理常见词、罕见词,甚至是未见过的词。

关于BPE,维基百科给出了一个很好的示例。假定要编码的数据为:

复制代码
aaabdaaabac

其中字节对aa出现的最频繁,因此它将被数据中未使用的字节替换,例如Z。替换结果如下:

复制代码
ZabdZabac
Z=aa

之后可以看出ab出现的最频繁,采用同样的方式,用Y来替换它:

复制代码
ZYdZYac
Y=ab
Z=aa

剩下的唯一字节对ac仅出现一次,编码可以在此处停止。或者,可以继续进行压缩编码,即将出现多次的ZYX来替换:

复制代码
XdXac
X=ZY
Y=ab
Z=aa

该数据无法通过字节对编码进一步压缩,压缩过程结束。在解压时,只需按相反顺序执行替换即可。

需要注意的是,GPT-2对BPE进行了改进。文中指出,BPE 包含了许多常见单词的不同版本,比如 dog,因为它们在很多变体中出现,如 dogdog!dog?。这导致了有限词汇槽和模型容量的次优分配。为了避免这种情况,GPT-2阻止 BPE 在任何字节序列中跨字符类别进行合并。但空格例外,这显著提高了压缩效率。

模型

GPT-2的架构仍然是基于Transformer解码器,但对Transformer进行了一些的修改:

  • Layer Normalization被移动到每个子模块的输入,并在最后的自注意块之后添加额外的Layer Normalization。
  • 在初始化时按 1 / N 1/\sqrt{N} 1/N 的比例缩放残差层的权重,其中 N N N 为残差层的数量。
  • 词汇扩展到 50 , 257 50,257 50,257。
  • 上下文长度从 512 512 512增加到 1024 1024 1024,这意味着GPT-2 能够处理更长的文本片段,从而在生成和理解长文本时表现更好。
  • 使用了更大的批处理大小 512 512 512。

在实验中设置了4中不同容量的模型版本,具体见下图,其中参数量最小的模型相当于GPT-1,第二小的模型相当于BERT的最大模型,参数量最大的模型被称之为GPT-2。

结语

GPT-2通过将参数数量提升一个数量级,采用字节对编码(BPE)技术进行文本编码,并在更广阔的数据集上进行预训练,同时在训练过程中将上下文长度增加了一倍。这些改进显著增强了GPT-2相对于其前身GPT-1的文本生成能力。

以上便是本文的全部内容,若是觉得不错可以支持一下博主,你们的支持是博主更新的不竭动力。若是有任何问题也敬请批评指正。

相关推荐
buttonupAI5 小时前
今日Reddit各AI板块高价值讨论精选(2025-12-20)
人工智能
2501_904876485 小时前
2003-2021年上市公司人工智能的采纳程度测算数据(含原始数据+计算结果)
人工智能
竣雄6 小时前
计算机视觉:原理、技术与未来展望
人工智能·计算机视觉
救救孩子把6 小时前
44-机器学习与大模型开发数学教程-4-6 大数定律与中心极限定理
人工智能·机器学习
Rabbit_QL6 小时前
【LLM评价指标】从概率到直觉:理解语言模型的困惑度
人工智能·语言模型·自然语言处理
呆萌很6 小时前
HSV颜色空间过滤
人工智能
roman_日积跬步-终至千里6 小时前
【人工智能导论】02-搜索-高级搜索策略探索篇:从约束满足到博弈搜索
java·前端·人工智能
FL16238631296 小时前
[C#][winform]基于yolov11的淡水鱼种类检测识别系统C#源码+onnx模型+评估指标曲线+精美GUI界面
人工智能·yolo·目标跟踪
爱笑的眼睛117 小时前
从 Seq2Seq 到 Transformer++:深度解构与自构建现代机器翻译核心组件
java·人工智能·python·ai
小润nature7 小时前
AI时代对编程技能学习方式的根本变化(1)
人工智能