EE6427-P6-新兴AI技术
Foundation Models (FMs)
什么是基础模型
所谓基础模型,是基于大规模预训练和下游微调的一种新的AI范式。模型先在海量、多样化的数据上进行训练,构成基础模型。然后基础模型进行些许调整,即可用于后续的“下游任务”(downstream tasks)。
- 第一步是“通识教育”(预训练):让 AI 像海绵吸水一样,在互联网上阅读海量的、未经人工精细标注的文本或图片。AI 在这个过程中自己寻找规律(自监督学习),建立起对世界的基本认知和常识,这就是打好了“基础”。
- 第二步是“职业培训”(微调/适应):当 AI 毕业后,如果你想让它当客服,就给它几本客服手册让它学一下(微调);你想让它做翻译,就让它看点翻译教材。因为底子好,它能极快地适应各种具体的工作(下游任务)。
调整 / 微调 FMs (Adapting / Finetuning)
微调
什么是微调?:为特定的下游任务/用例调整预训练模型参数的过程。预训练模型拥有海量且多样化的知识,但在特定领域缺乏专精(缺乏专业性)。微调通过让模型从特定领域的数据中学习来填补这一空白,使其在目标应用中更加准确和有效。
微调的流程 (Fine-tuning Process)
- 数据准备 (Data preparation):数据清洗、处理缺失值、格式化文本以符合模型的输入要求、数据增强等。
- 预训练模型选择 (Pre-trained model selection):了解不同模型的架构、输入/输出规范。考虑模型大小、训练数据、性能等因素。
- 微调方法选择 (Method selection for fine-tuning):为特定应用选择合适的微调或适配方法。
- 验证 (Validation):在目标验证集上评估微调后模型的性能。
- 模型迭代 (Model Iteration)…
- 部署 (Deployment)
适配器微调 (Adaptor Tuning)
适配器微调是一种用于微调大型预训练模型的技术。它在原始模型上插入被称为“适配器 (adaptors)”的小型网络层,微调时仅训练适配器 (Train only the adaptors)。
它在计算资源或带标签数据有限的情况下非常有用。
适配器微调的步骤
- 在预训练模型的各个层之间插入小型的、轻量级的适配器(网络)。
- 在微调期间,仅训练这些适配器,而基础模型的原始权重(参数)被“冻结” (frozen)。
- 这显著减少了需要更新的参数数量,从而在计算量和内存使用方面使微调变得更加高效。
下图(c)和 (d) 是一个添加适配器到 Transformer中例子,适配器由两个全连接层(FC layers)和非线性激活函数组成。在大多数时候,(c)的并行插入的方式更常见。

另一种微调的方式是LoRA(上图a),下面将会详细介绍。
低秩适应 Low-Rank Adaptation (LoRA)
低秩适应是另一种微调的方式,它的计算开销和参数更新量都非常低。
一个例子是使用 Adam 优化器对拥有 1750 亿参数的 GPT-3 进行微调时,相比直接对模型进行微调,使用 LoRA 可以将需要训练的参数量减少 10,000 倍,并将 GPU 显存需求降低 3 倍。
在使用LoRA进行微调时,首先需要确定需要微调的目标层。在Transformer 架构中的注意力层 (attention layer),如下图所示。

上图是插入了LoRA Adapter的架构图。Pre-trained parameter就是之前老的模型,这部分参数被冻结。
- 现在输入X,老的注意力层会输出老模型的输出;同时X被输入右边的两个低秩矩阵 $A$ 和 $B$。x 会通过这两个矩阵的乘积,然后得到另一个输出向量。这两个分支的输出会相加,最终产生输出。即,输出时的权重矩阵被调整为了$W’ = W + A \times B$
- 输出会于期望输出进行比对,差值被用于训练低秩矩阵 $A$ 和 $B$。
由于A和B的秩很低,因此他们的参数量很小。故只需要很小的计算量即可微调模型。
大语言模型
引入
什么是大语言模型?:旨在理解、生成和处理人类语言的 AI 模型。
主要特征 (Key Features):
- 庞大规模 (Massive Scale):拥有数十亿(甚至更多)个参数,使其能够处理广泛的语言任务。
- 训练数据 (Training Data):在来自各种来源的海量文本数据上进行训练,使它们能够学习人类语言的方方面面。
- 能力 (Capabilities):可以处理不同的任务,如语言翻译、问答、文本生成、情感分析等。
- 应用 (Applications):自然语言处理、聊天机器人、内容创作、语言理解等。
- 挑战 (Challenges):偏见 (bias)、滥用 (misuse)、社会影响 (societal impacts) 等。
看看抢我工作的东西的发展历史吧:

BERT模型
BERT全称基于 Transformer 的双向编码器表示 (Bidirectional Encoder Representations from Transformers, BERT)。它是由 Google 在 2018 年左右开发的一种自然语言处理 (NLP) 模型。
回顾前面,Transformer模型是Encoder-Decoder架构。BERT是一个Encoder,一个带有双向自注意力机制 (bidirectional self-attention) 的 Transformer 编码器。
它能够:
- 理解单词之间双向的上下文关系。
- 能够生成语境化 (contextualized) 的词向量表示 (word embeddings)。
BERT训练
BERT的训练分为两个步骤:
- 预训练 (Pretrain) BERT 以使其理解语言。
- 微调 (Fine-tune) BERT 以学习特定的下游任务。
预训练
与人类学习语言类似,要通过预训练让BERT理解语言,主要是让它做句子续写和完形填空。
在这个阶段主要采用无监督学习/自监督学习,实现原理如下:
- 掩码语言模型 (Masked Language Model, MLM):输入Input Masked Sentence,一句话中的部分次被遮蔽,强迫模型从这个词周围的token来预测这个词,从而进行“完形填空”一般的语言学习步骤。
- 下一句预测 (Next Sentence Prediction, NSP):输入的句子是Input Masked Sentence A和Input Masked Sentence B。NSP的目标是是预测文本对中的一个句子是否紧随另一个句子,从而训练模型理解逻辑。

BERT的训练输入:
BERT的训练输入是两句话。例如下面的my dog is cute 和 he likes playing。输入后首先将它嵌入为token,然后使用Segment Embedding为它嵌入句子归属信息(属于句子A还是B)。最后对它进行位置编码。然后进入BERT网络。

BERT网络输出
在网络输出时,将其输出的token通过全连接层映射到一个30,000词元的词汇中,然后我们将其与实际的单词进行比较,迫使这个网络学习预测被掩盖的单词是什么。

微调训练
在微调训练中,针对具体任务,通常会采用监督学习。
我们会在最后一个编码器层之后添加特定任务模块,以便能够映射到这里的目标任务。
以将其微调为问答模型作为例子,输入是Question和存在Question答案的Paragraph,在输出时,加入一层微调网络,训练两个额外的向量,用来标记段落中答案的开头和结尾 (Start/End Span)。这样,模型就可以根据问题和资料回答了。

你可以用它来进行情感分析,也可以用它来进行文本总结,以及许多其他不同的任务。
GPT模型
生成式预训练 Transformer (Generative Pre-trained Transformer, GPT) 是一种在海量文本上进行预训练的 AI 模型,旨在学习生成类似人类的文本。它对应Transformer架构的解码器部分。
如果说 BERT 玩的是“完形填空”,那么 GPT 玩的就是“文字接龙”。
GPT 预训练方式:根据前面的词元 (tokens) 预测下一个词元 (predict the next token)。
核心机制:预测下一个词。GPT 在预训练时,你给它看“今天天气很”,它就要猜出下一个字可能是“好”或者“晴”。猜错了就自我修正,猜对了就继续往下接。
单向阅读:与 BERT 的“双向”不同,GPT 是从左往右严格单向阅读的。因为它必须模拟人类说话和写字的顺序,不能“偷看”后面的答案。
LLM架构总结
仅编码器 (Encoder-only) (例如:BERT)
- 预训练:掩码语言建模 (MLM) 完形填空,下一句预测 (NSP)。
- 优势:擅长分类任务(如情感分析、阅读理解找答案)。
仅解码器 (Decoder-only) (例如:GPT)
- 预训练:预测下一个词 / 词元 (Next word prediction)。
- 优势:擅长生成任务(如写文章、聊天)。预训练后具有更好的泛化能力(能举一反三)。
编码器-解码器 (Encoder-decoder) (例如: Text-to-Text Transfer Transformer,或称 T5)
- 预训练:提供文本作为输入,并训练它生成目标文本。
- 优势:擅长诸如机器翻译、文本摘要等需要“先通读理解,再重新生成”的任务。