以GPT系列中的Transformer为例,这种深度学习模型结构通过自注意力机制等技巧解决了相关问题。正是得益于Transformer架构,基于GPT的大型语言模型取得了显著的进展。
Transformer模型架构包含了众多模块,而我们讨论的各种微调技术通常是对这些模块中的特定部分进行优化,以实现微调目的。

要深入理解各类微调手段,首先需要对网络架构有一个基本的认识。以下以Transformer为例,阐述各个模块的作用:
输入嵌入层(Input Embedding)
- 输入(Inputs):模型的输入环节,通常为单词或符号序列。
- 输入嵌入(Input Embedding):此步骤将输入序列(例如句中的每个单词)转化为嵌入表示,即能够表征单词语义信息的高维向量。
- 位置编码(Positional Encoding):鉴于Transformer不依赖序列,位置编码旨在提供序列中单词位置的信息,这些编码添加到输入嵌入中,确保模型即便同时处理输入也能够利用单词的顺序信息。
编码器层(Encoder,左边)
- Nx:指示有N个相同的编码器层叠加而成。每个编码器层包括两个主要子层:多头自注意力机制和前馈神经网络。
- 多头自注意力(Multi-Head Attention):注意力机制允许模型在处理每个单词时考虑到输入序列中的所有单词。多头部分表示模型并行学习输入数据的不同表示。
- 残差连接和归一化(Add & Norm):注意力层后面跟着残差连接和层归一化,有助于防止深层网络中的梯度消失问题,并稳定训练过程。
- 前馈神经网络(Feed Forward):全连接神经网络处理自注意力层的输出,包含两个线性变换和一个非线性激活函数。
解码器层(Decoder,右侧)
- 解码器亦包含多个相同的层,每层包括三个主要子层:掩蔽的多头自注意力机制、多头自注意力机制和前馈神经网络。
- 掩蔽多头自注意力(Masked Multi-Head Attention):与编码器的多头自注意力机制类似,但为确保解码顺序性,掩蔽操作确保预测仅依赖于之前的输出。
- 前馈神经网络(Feed Forward):与编码器相同,每个子层之后也有加法和归一化步骤。
输出嵌入层和输出过程
- 解码器端的嵌入层将目标序列转换为向量形式。
- 线性层(Linear)和Softmax层:解码器的输出通过线性层映射到一个更大的词汇空间,Softmax函数将输出转换为概率分布。