GPT1的训练
GPT 模型的核心结构基于解码器(Decoder) 构建,其简化设计中移除了传统解码器中的一个
多头注意力层,仅保留了单个完整的解码器层,聚焦于文本生成任务,兼顾效率与生成效果。
在文本生成过程中,GPT 采用自回归生成机制,具体流程如下:首先,我们向 GPT 输入一个特殊
标记 <SOS>(即 Start of Sentence,中文意为 “句子开始”),该标记的核心作用是明确告知模
型:“需要开始生成文本了”。此时,模型仅以 <SOS> 作为输入,通过自身的解码器层进行预测,
输出第一个单词(例如 the)。生成第一个单词后,模型并不会丢弃之前的输入信息 —— 而是将
初始输入的 <SOS> 与刚刚生成的单词 the 结合,共同作为新的输入再次传入 GPT。模型基于这
两个输入的语义关联,预测出下一个单词(例如 weather)。
后续的生成过程以此类推:每次生成新的单词后,都会将所有历史输入(包括 <SOS> 和之前生成
的全部单词) 整合起来,作为下一次预测的输入,持续生成下一个符合上下文逻辑的单词。这个
循环会一直进行,直到生成的文本长度达到预设的目标长度,或者模型输出特殊结束标记 <EOS>
(即 End of Sentence,中文意为 “句子结束”),整个文本生成过程才算完成。
在 GPT 的预训练阶段,假设一段完整句子由若干单词依次组成,分别记作 U1,U2…Un
。论文中的核心条件概率公式,描述的就是自回归预测的计算逻辑。
举个例子:当模型需要预测并生成第四个单词good时,本质是计算一个条件概率:在前面所有已
生成单词的上下文条件下,下一个单词恰好为good的出现概率。
公式中统一代表模型的全部可学习参数。预训练的核心目标,就是最大化整句话的联合条件概率,
通过反向传播不断迭代、更新并优化模型所有参数,缩小预测值与真实文本的差距。
除此之外,模型还会设置上下文窗口大小 k,用来限制单次预测能参考的前文长度。例如 k=3
时,模型在预测下一个单词时,最多只能看到前方 3 个单词,避免过长上下文带来的计算负担,同
时约束语义依赖范围。
GPT 的预训练流程整体与 Transformer 解码器的运算逻辑保持一致。第一行中大写的U代表输入
的整段文本序列。首先将输入单词序列U与词嵌入矩阵相乘,得到词嵌入向量,再叠加位置嵌入信
息,从而同时融合单词语义与位置顺序特征。
第二行公式,表示层级之间的传递关系:将上一层解码器的输出结果,作为下一层解码器的输入,
逐层完成特征提取与上下文建模。
最后一行代表最终的预测环节:将解码器输出的最终隐藏特征hn,与词嵌入矩阵的转置进行矩阵运
算,映射至词表维度,得到每个单词的原始得分。随后经过 Softmax 函数归一化,换算为每个单
词的预测概率。最终模型选取概率值最大的单词,作为当前时刻的输出结果,完成逐词自回归预
测。
GPT1的微调
GPT1的微调任务也分成4种。分类,蕴含,相似度计算和多选。
分类:一段文字 → 打标签;
蕴含:两句话 → 判断逻辑(蕴含 / 矛盾 / 中性);
相似度:两句话 → 判断意思像不像;
多选:题干 + 选项 → 选出正确答案。
GPT2
Zero-shot
GPT-2 在 GPT-1 的基础上,主要做了两处核心升级:一是堆叠更多解码器层,加深模型网络深
度;二是采用规模更大、质量更高的 WebText 海量语料数据集进行预训练。
同时,GPT-2 探索并验证了更加通用的迁移学习范式,首次证明:大尺度预训练语言模型可以实
现零样本(Zero-shot)泛化。在不修改模型参数、不调整网络结构、不进行下游任务微调的前提
下,仅依靠预训练习得的通用语言能力,直接完成各类下游任务。
简单来说,Zero-shot 能力的核心原理,就是当下广泛使用的提示词(Prompt)机制。只需向模
型输入一段引导性提示文本,模型便能理解指令意图,依据前文语境与提示信息,自主生成符合任
务需求的内容,无需额外训练即可适配多种场景。
TOP-K,TOP-P
在文本续写任务中,例如补全句子后半段内容,如散步、骑车、看夕阳等场景,单纯选择概率最高
的词语,容易导致生成内容单调、重复、缺乏多样性。为了解决这一问题,模型引入了Top-K与
Top-P两种采样参数,用来提升文本生成的丰富度与自然度。
原本的 GPT 生成单词时,会直接选取全局概率最高的词汇作为输出,生成方式过于固定。Top-K
采样:人为设定一个固定数值,例如将 K 设置为 5。模型会筛选出当前概率排名前五的单词,将其
余所有单词的概率直接置为 0,只保留这五个候选词。随后对筛选后的概率重新归一化,再在限定
范围内采样选词,避免出现过于冷门、不通顺的词汇。
Top-P 采样,也叫核采样,会设定一个累计概率阈值,例如设置为 95%。模型先将全部词汇按照
概率从高到低排序,从前到后依次累加概率,直到累计总和达到并超过 95% 时停止筛选。被纳入
累加区间的词汇,即为当前合法候选词集合。最后同样对该区间内的概率进行归一化,再从中采样
生成下一个单词。
简单来说:Top-K 固定选取前 K 个候选词,Top-P 按照累计概率动态筛选候选词,两者配合使
用,既能保证语句通顺合理,又能有效增加文本的多样性,避免生成内容呆板重复。
温度
在文本生成过程中,模型经过全连接层输出每个候选单词的原始逻辑得分,再将得分送入 Softmax
函数,转化为各个单词的预测概率。
而温度(Temperature) 是调节生成随机性的超参数,原理是在 Softmax 计算中新增温度系数作
为分母,对原始得分进行缩放。
当温度小于 1 时,原始得分差距被放大,概率分布更加集中,模型更倾向选择高概率词汇,生成内
容更连贯、保守、确定性更强;
当温度大于 1 时,得分差距被缩小,概率分布更加平缓,低概率单词也有机会被选中,生成内容更
多样、更有创意,但容易出现逻辑混乱。
GPT 在使用温度、Top-K、Top-P这三个生成控制参数时,存在先后执行顺序,三者不会同时随意
调整。通常不会同步改动 Top-K 与 Top-P 两项参数,防止两者作用相互冲突、抵消或过度叠加。
不同参数各有筛选逻辑,若同时大幅调整,会造成概率分布紊乱,让生成效果难以控制,出现语句
不通顺、逻辑混乱或风格失控的问题。因此在实际使用中,一般只单独调节其中一项参数,保证生
成结果稳定可控。
GPT3
在几十个自然语言处理数据集上对GPT-3进行了评估,包括三种设置:
(1)零样本学习(Zero-shot Learning):不允许展示具体的任务样本,只告知模型自然语言表示的指令;
(2)单样本学习(One-shot Learning):只允许向模型展示一个样本;
(3)小样本学习(Few-shot Learning):允许尽可能多的向模型展示样本(大概在10-100个之
间)
【1】参考
大白话讲明白GPT、GPT2、GPT3 #GPT #GPT2 #知识前沿派对 #AI新星计划 #申请加入抖音计算科学顶流班 - 抖音