大模型底层核心逻辑总结

1 核心总纲

大模型的核心逻辑:先通过「Tokenizer+Embedding」实现“识字”(将文字转化为模型可处理的数学信号),再通过「Transformer层」实现“懂话”(理解上下文语义);训练阶段靠「反向传播+残差连接+层归一化」稳住训练过程、调好参数,推理阶段固定所有参数,只用训练好的组件完成“输入→输出”的预测。

2 关键组件详解(训练+推理的作用)

2.1 Tokenizer(分词器)

核心作用: 将人类文字拆分为模型理解的最小语义单元「token」,是文字与模型的“桥梁”。

关键细节: 是独立于大模型的预训练(属于数据准备阶段,即预训练前),用海量语料训练完成,生成固定「词表」(仅记录token与唯一ID的映射,不存向量)。

需要注意的是,
训练前(此处特指数据准备阶段)用于生成词表的海量语料,
与训练时(主要指预训练阶段)用于优化模型参数的海量语料,可同可不同,
但核心要求是语料分布一致——若二者类型、分布差异过大,会导致词表不适配预训练数据,影响模型“识字”精准度。

分词器产生的词表*不与单个大模型绑定*,可以给不同大模型使用,但需满足“适配性要求”,并非随意可用

具体说明:
① 可共用的情况:
	当不同大模型的类型(如均为Decoder-only、均为Encoder-only)、语料分布一致,
	且使用同一种Tokenizer算法(如均为BPE)时,
	词表可共用(比如用通用语料生成的词表,可给两个不同的GPT类模型使用);

② 不建议共用的情况:
	若模型类型不同(如一个是BERT<Encoder-only>、一个是GPT<Decoder-only>)、
	语料分布差异大(如一个是新闻语料词表、一个是医学模型),
	或Tokenizer算法不同,共用词表会导致适配性差,影响模型语义理解精度;

理论上,如果Tokenizer算法、词表大小、特殊token定义完全一致,词表可以共用。
但实践中极少这样做,因为不同模型通常有特定的tokenization需求(如GPT-2用<|endoftext|>,BERT用[CLS]/[SEP]),
且词表是模型参数的一部分,直接共用可能导致维度不匹配或语义偏差。

推理时作用: (即训练完成后,用户与大模型对话、提出需求时的作用)——
将用户输入的文字(哪怕是未见过的词/句子)拆分为词表中已有的token小块,转化为对应ID(未见过的词靠BPE等算法拆分,避免报错)。

2.2 Embedding(词向量)

核心作用: 将Tokenizer输出的「token ID」转化为高维向量,让模型用数学方式表示token的语义特征。

关键细节:

① 维度数:人为设定的超参数(如768、4096),并非从数据中发现;

② 向量含义:模型在预训练中自主学习,人类无法提前指定,也难以完全解释(仅能事后推测部分维度的大致含义,如情感、词性);

③ 与词表的区别及时间线:
Tokenizer的训练独立于神经网络预训练,通常在数据准备阶段完成,全程固定且可跨模型共用;
Embedding矩阵在预训练启动时随机初始化,并作为可学习参数在预训练过程中持续优化。它是神经网络第一层,将离散的token ID映射为连续向量,其参数与 Transformer 层的参数,通过反向传播机制同时被梯度下降更新,
待训练完成后正式固定,且与单个对应的大模型绑定,不可跨模型直接复用,因为Embedding矩阵是每个模型在自身训练过程中,结合自身训练数据、参数结构,重新初始化并优化的专属矩阵,跨模型复用会导致语义编码不匹配,严重影响模型效果。
二者配合完成“文字→向量”的转换。
需注意,Embedding矩阵的优化并非由Transformer层单独实现,而是与Transformer层参数一起,通过反向传播机制协同更新。

推理时作用: 用训练好的固定Embedding矩阵,将token ID快速映射为向量,作为Transformer层的输入(不更新参数,仅做前向计算)。

2.3 Transformer层(核心语义理解组件)

核心作用: 将孤立的token向量,通过「自注意力机制」融合上下文信息,转化为“懂逻辑、懂语义”的向量,实现从“识字”到“懂话”的升级。

关键细节:

① 自注意力机制:通过Q(查询)、K(键)、V(值)的矩阵运算,计算token间的相关性(注意力分数),本质是“点积+缩放”,和余弦相似度思想同源(工程上更高效,不直接显式调用余弦相似度/欧式距离);

② 多头注意力(多个专家专项处理):多个并行的注意力“头”,分别关注语法、语义等不同特征,最后拼接结果,丰富语义表示;

③ 中间含义:编码器输出“中间含义”(无法用具体语言描述的原文语义),解码器通过“交叉注意力”参考这个中间含义,确保生成内容贴合输入;解码器还会用“Mask掩码”(防偷看、遮占位符),避免训练和推理时出现逻辑错误;
注意:对于Decoder-only架构(如GPT),不存在独立的编码器,用户输入直接作为解码器的prompt,通过自注意力(Self-Attention)逐层处理,没有交叉注意力机制。

④ 核心结构:
Transformer层主要由「编码器(Encoder)」和「解码器(Decoder)」组成,
类比翻译任务更好懂——编码器负责“读懂原文”,解码器负责“写出译文”,二者配合完成语义的编码与解码,
不同大模型会灵活选用(如GPT只用解码器,BERT只用编码器)。

  • 推理时作用:即训练完成后,用户与大模型对话、提出需求时的作用——仅做前向计算,通过注意力机制让每个token“吸收”其他token的上下文信息,不涉及任何梯度计算或参数更新。

Transformer层(编码器+解码器)训练与推理的通俗工作机制

结合翻译任务类比,用“工厂调试(训练)”和“工厂开工(推理)”的思路,把工作机制讲透,避开复杂公式:

(1)训练时:相当于“调试工厂设备”,让编码器、解码器学会配合,调好所有参数

核心目标:让编码器能精准“读懂”输入(原文)、解码器能精准“写出”输出(译文),通过反向传播不断修正参数,最小化预测误差。

① 编码器的工作(读懂原文):

接收Embedding层传来的token向量,先加上“位置编码”,再通过自注意力机制,计算每个token和其他所有token的关联(比如“苹果”和“手机”“吃”的关联度),再经过多头注意力、残差连接、层归一化、前馈神经网络(FFN)的处理,最终输出“中间含义”(原文的语义密码,看不到但很关键),全程是“前向计算”,为解码器提供参考。

这里的位置编码,通俗说就是给每个token的向量“打位置标记”,
是人为设计的固定规则(非模型学习所得),核心是“不同位置编码不同”,

解决自注意力机制“忽略语序”的缺陷——
	自注意力本身只算token间的关联,
	不加位置编码会分不清“我爱你”和“你爱我”。
	
具体工作流程很简单,举个通俗例子:
	假设“我”“爱”“你”的Embedding向量分别是[0.2,0.5,0.1]、[0.8,0.3,0.6]、[0.4,0.7,0.9],
	给第1、2、3位分别分配固定编码[0.01,0.01,0.01]、[0.02,0.02,0.02]、[0.03,0.03,0.03],
	将token向量与对应位置编码相加,就能得到带位置信息的向量
	(如“我”(第1位)变为[0.21,0.51,0.11],“你”(第3位)变为[0.43,0.73,0.93]),
	这样模型就能区分语序差异。

注意:
	这里的固定编码仅作易懂的示例,实际并非简单的“等差数列”,
	而是使用正弦/余弦函数(Transformer原始论文)或可学习的参数(后续变种)

② 解码器的工作(学写译文):

训练时,解码器的输入是“完整的正确译文”(该译文来自训练前提前准备的标注训练语料,是人工或自动标注好的“原文-译文”对应对,本质是给模型提供的“标准答案”,来自专门构建的平行标注语料库,确保准确性和规范性,比如原文“我有一只猫”,译文“I have a cat”),但会做两个关键操作:一是加“Causal Mask(防偷看掩码)”,遮住译文后面的词(避免模型“作弊”,强迫它只能根据前面的词预测下一个词);二是加“Padding Mask(占位掩码)”,遮住句子末尾的无效占位符(避免干扰计算)。

之后,解码器先通过“掩码自注意力”处理自己的输入(译文token向量),再通过“交叉注意力”(上传文件核心知识点)参考编码器输出的“中间含义”(确保译文贴合原文),最后经过和编码器类似的后续处理,输出预测结果,与“正确译文”对比,算出“损失”(预测错误的程度)。

③ 协同优化(反向传播主导):

算出损失后,反向传播机制会贯穿整个Transformer层(编码器+解码器),还有Embedding矩阵,计算所有参数(Q/K/V权重、FFN权重等)的梯度,再通过梯度下降更新这些参数——相当于“调试设备”,比如调整编码器对“关联度”的计算方式、解码器对中间含义的参考权重,反复迭代,直到损失最小、预测最精准。

④ 关键提醒:
训练时,编码器和解码器是“一起调试”的,参数同步更新;如果是Encoder-only模型(如BERT),就只有编码器在训练,重点优化“语义理解”(比如完形填空);如果是Decoder-only模型(如GPT):输入文本直接经过Tokenizer、Embedding后,进入堆叠的Transformer Decoder blocks处理,通过自注意力机制学习语言建模(预测下一个token),不存在单独的编码器-解码器分工。

(2)推理时:相当于“工厂开工”,用调试好的设备(固定参数)高效干活,不做任何调试

核心目标:用户输入文字后,快速输出准确结果,全程不更新参数、不计算损失、不用反向传播,只做“前向计算”。

① 编码器的工作(还是读懂输入):

和训练时的前向计算逻辑完全一样——接收用户输入(比如“我有一只猫”)经过Tokenizer、Embedding处理后的向量,加位置编码,通过自注意力、多头注意力等一系列处理,输出“中间含义”,传递给解码器(如果是Decoder-only模型,不存在"编码器"和"解码器"的区分,整个模型就是一个统一的前向传播过程,将输入文本作为context,直接通过自注意力机制逐层处理,自回归地生成后续token)。

② 解码器的工作(逐步生成输出):

推理时,解码器没有“完整的正确译文”当输入,只能“从零开始”逐步生成:

第一步:输入一个特殊的“起始token”(比如),结合编码器传来的中间含义(有编码器时),预测出第一个词(比如“I”);

第二步:把“起始token+I”作为新的输入,再预测下一个词(比如“have”);

第三步:重复这个过程,每一步都通过交叉注意力参考编码器的中间含义(确保不偏离原文),通过掩码自注意力参考前面生成的词(确保逻辑连贯),直到预测出“结束token”(比如),停止生成,输出最终结果(译文或对话回复)。

③ 关键提醒:
推理时,所有参数(编码器、解码器的权重,Embedding矩阵)都已固定,相当于“设备调试好后,只按固定流程干活”,速度快、不修改任何设置;Mask掩码依然会用(防偷看、遮占位符),确保生成逻辑正确。

通俗总结:训练时,Transformer层(编码器+解码器)是“边学边调”,重点练“看懂”和“写对”;推理时,是“学以致用”,重点练“快速、准确输出”,二者流程相似,但目的、操作完全不同。

3 训练阶段核心技术(解决“训练不稳定”问题)

核心目标:通过海量数据训练(主要是预训练阶段),不断优化并调整「在预训练启动时随机初始化的Embedding矩阵+Transformer参数」,让损失函数最小化,帮助模型学会语言规律;二者协同优化,由反向传播机制主导(非Transformer层单独主导),配套「残差连接+层归一化」解决训练中的不稳定问题。

3.1 反向传播

专属场景: 仅存在于「训练阶段」,推理阶段完全不用。

核心作用:

计算损失函数对模型所有参数的梯度(包括Embedding矩阵参数和Transformer层所有参数),通过梯度下降不断更新这些参数(让模型持续修正错误,学会规律),实现Embedding矩阵与Transformer层参数的协同优化。

需特别澄清:
反向传播是整个大模型训练时的「全局优化机制」,并非仅存在于Transformer层的解码器中—— 无论Transformer是Decoder-only(如GPT)、Encoder-only(如BERT)还是Encoder-Decoder结构,反向传播都会贯穿所有可学习参数所在的组件。

两种核心结构的反向传播差异如下:

	① Decoder-only结构(如GPT):
		反向传播贯穿Embedding层和所有Decoder块,
		梯度从输出层(预测下一个token)反向传递至输入侧,
		重点优化“生成逻辑”相关参数;

	② Encoder-only结构(如BERT):
		反向传播贯穿Embedding层和所有Encoder块,
		梯度从输出层(完形填空等任务)反向传递,
		重点优化“语义理解”相关参数,二者核心逻辑一致,仅传梯路径随结构略有差异,均会更新所有可学习参数。

3.2 残差连接

核心作用: 解决训练时反向传播的「梯度消失」问题(深层网络梯度连乘趋近于0,前面的层学不到东西)。

原理: 输出 = 上一层原始输入 + 本层处理后的结果,反向传播时,对输入的梯度会沿着残差连接直接回传(梯度为1),避免了经过F(x)时的梯度衰减,确保深层网络也能得到有效更新。

推理时作用: 即训练完成后,用户与大模型对话、提出需求时的作用——仅做简单的加法操作(无梯度、无求导),融合原始信息和处理后的信息,让语义表示更稳定。

3.3 层归一化(Layer Norm)

核心作用: 解决训练时的「梯度爆炸+训练不稳定」,加速收敛(并非防梯度消失)。

原理: 将每一层的向量“拉回”均值接近0、方差接近1的标准分布,避免QK点积等运算导致数值波动过大,防止梯度爆炸和Softmax饱和。

推理时作用: 即训练完成后,用户与大模型对话、提出需求时的作用——和训练时逻辑一致,做标准化处理,稳住数值范围,确保前向计算顺畅。

4 关键疑问澄清(重点回顾)

4.0 大模型从0到有的主要流程

4.0.1 准备阶段(Preparation Phase)

(0)时间线: 任何"训练"开始之前

(1)数据收集与清洗

  • 做什么: 从互联网、书籍、论文等渠道抓取海量原始文本
  • 产出: 干净的自然语言语料(几十TB级别,无标注、无配对
  • 关键: 去重、去噪、过滤低质量内容,但不需要人工标注

(2)Tokenizer训练(BPE/SentencePiece等算法)

  • 做什么: 用清洗后的语料训练分词算法,学习"如何切分文本"
  • 产出:
    • 词表(Vocabulary): token ↔ ID的映射表(如50000个token)
    • 分词规则: 遇到未知词如何拆成子词
  • 关键:
    • 这是统计学习,不是神经网络训练
    • 只确定"怎么切分",不涉及语义理解
    • 词表一旦生成就固定不变

4.0.2 预训练(Pre-training)

(0)时间线: Tokenizer准备好之后,这是模型"练基本功"的核心阶段

(1)做什么
无标注 的海量文本,通过自监督任务训练神经网络参数

(2)核心机制

  • 输入: 原始文本(如"猫坐在垫子上")
  • 任务形式:
    • GPT类:预测下一个token(“猫坐"→预测"在”)
    • BERT类:掩码语言模型(“猫[MASK]在垫子上"→预测"坐”)
  • 学习对象:
    • Embedding矩阵(随机初始化→优化)
    • Transformer所有参数(随机初始化→优化)

(3)关键特征

特征 说明
数据 无标注、海量(TB级)、通用领域
目标 学会语言的统计规律、世界知识、推理能力
产出 基座模型(Base Model),具备通用能力但不懂指令
耗时 数周到数月,消耗数千GPU/TPU

(4)与Tokenizer的关系

  • Tokenizer在预训练之前已固定
  • 预训练时调用Tokenizer将文本转为token ID
  • 不修改Tokenizer,只训练神经网络参数

4.0.3 微调/对齐阶段(Fine-tuning / Alignment)

(0)时间线: 预训练完成后,让模型"学会听话"

(1)指令微调(Instruction Tuning / SFT)
做什么:有标注的指令-回复数据训练,让模型学会"问答格式"

对比 预训练 指令微调
数据 “猫坐在垫子上”(纯文本) {“instruction”: “翻译这句话”, “input”: “Hello”, “output”: “你好”}
标注 需要人工或模板生成
目标 预测下一个token 学会遵循指令格式
数据量 TB级 MB~GB级(通常数十万到数百万条)

其他微调变体

  • 领域微调: 用医学/法律等专业数据,让模型成为专科医生
  • 任务微调: 针对翻译、摘要等特定任务优化

4.0.4 推理部署(Inference)

(0)时间线: 所有训练完成后,用户实际使用

(1)做什么

  • 冻结所有参数(Embedding + Transformer不再更新)
  • 接收用户输入 → Tokenizer分词 → Embedding映射 → Transformer计算 → 生成输出
  • 只有前向传播,没有反向传播

完整流程图

准备阶段          预训练阶段           微调阶段            推理阶段
┌─────────┐     ┌──────────┐      ┌──────────┐      ┌──────────┐
│ 数据清洗  │ →  │ 无标注数据  │  →  │ 有标注数据  │  →  │ 用户提问   │
│ (TB级)  │     │ (TB级)    │      │ (GB级)    │      │          │
├─────────┤     ├──────────┤      ├──────────┤      ├──────────┤
│ 训练     │     │ 训练Embedding│ →  │ 固定Tokenizer│ →  │ 固定Tokenizer│
│ Tokenizer│     │ +Transformer│      │ 微调Transformer│      │ 前向计算   │
│ (统计学习)│     │ (神经网络) │      │ (神经网络)  │      │          │
├─────────┤     ├──────────┤      ├──────────┤      ├──────────┤
│ 产出     │     │ 产出基座模型 │  →  │ 产出Chat模型 │  →  │ 生成回答   │
│ 词表(固定)│     │ (如GPT-3) │      │ (如ChatGPT)│      │          │
└─────────┘     └──────────┘      └──────────┘      └──────────┘

4.1 以翻译任务为例的数据构建(现代通用大模型范式)

现代通用大模型(如GPT-4)的翻译能力,不是通过专门的平行语料监督训练获得,而是遵循**“通用预训练→指令微调→推理使用”**的标准流程。以下以翻译任务为例,说明各阶段的数据构建方法。

4.1.1 准备阶段(Tokenizer训练)

目标: 让Tokenizer学会切分中英文文本,生成固定词表

维度 具体内容
数据性质 无标注、非平行(中文和英文各自独立,不需要一一对应)
数据来源 中文:新闻网站、小说、论坛、维基百科中文版
英文:纽约时报、书籍、Reddit、维基百科英文版
数据量 各语种几十GB到TB级,覆盖通用领域
是否需要翻译对 不需要
核心要求 语种分布均衡、领域覆盖广泛、质量高
# 伪代码示意
chinese_corpus = 抓取(["人民日报", "知乎", "晋江文学", "百度百科"])  # 无标注
english_corpus = 抓取(["NYT", "Gutenberg", "Wikipedia_en", "Reddit"])  # 无标注

# 合并后训练Tokenizer(BPE算法)
tokenizer = train_bpe(
    corpus = chinese_corpus + english_corpus,  # 简单拼接,不对应
    vocab_size = 64000,  # 中英双语通常设大一些
    special_tokens = ["<pad>", "<s>", "</s>", "<unk>"]  # 特殊标记
)

# 产出:词表文件(vocab.json)+ 切分规则(merges.txt)

关键说明:

  • 中文语料里全是中文,英文语料里全是英文,不需要对齐
  • Tokenizer从混合语料中统计:中文常用字词、英文常用单词/子词
  • 最终词表包含:中文token、英文token、共享子词(如数字、标点)
  • 模型后续通过这个词表"认识"中英文,但此时不学习翻译映射

4.1.2 预训练阶段

目标: 让神经网络学会中英文各自的语法规律和世界知识,形成跨语言通用语义空间

维度 具体内容
数据性质 无标注、非平行(连续文本,无source/target配对)
数据格式 原始连续文本,如:“猫坐在垫子上。The cat sat on the mat.”
数据来源 Common Crawl、Books、Wikipedia、代码等(含中英文混杂内容)
数据量 TB级(越多越好)
核心要求 覆盖多领域,包含少量自然混用的多语言内容(如学术论文、多语言网页)

关键机制:

  • 不直接学习"这句中文=那句英文"
  • 通过自监督语言建模(预测下一个token)学习:
    • 中文语法:“猫坐在___” → “垫子上”
    • 英文语法:“The cat sat on the ___” → “mat”
    • 跨语言隐含关联:偶尔看到"人工智能(Artificial Intelligence)"这样的对照

产出: 基座模型(如GPT-3),具备中英文理解能力,但不会执行翻译指令


4.1.3 微调阶段(获得翻译能力的关键)

目标: 让模型学会"翻译"这个任务格式,激活预训练时埋下的跨语言关联

维度 具体内容
数据性质 有标注、指令格式(但不是传统平行语料的句对格式)
数据格式 {"instruction": "将以下中文翻译成英文", "input": "我有一只猫", "output": "I have a cat"}
数据来源 人工标注、自动模板生成、部分公开翻译数据集转换
数据量 MB~GB级(通常数万到数十万条指令,翻译只占其中一部分)
核心要求 指令多样性(不仅翻译,还有问答、摘要、编程等),避免只学翻译
# 微调数据示例(翻译只是众多指令中的一种)
fine_tune_data = [
    {
        "instruction": "将以下中文翻译成英文",
        "input": "我有一只猫",
        "output": "I have a cat"
    },
    {
        "instruction": "将以下英文翻译成中文",
        "input": "The weather is nice today",
        "output": "今天天气很好"
    },
    # 翻译指令只占全部微调数据的一小部分
    {
        "instruction": "总结以下文章",
        "input": "长文本...",
        "output": "摘要..."
    },
    {
        "instruction": "写一段Python代码计算斐波那契数列",
        "input": "",
        "output": "def fib(n):..."
    }
]

关键说明:

  • 不需要百万级平行句对,只需少量翻译指令示例(可能几千条)
  • 模型学会的是:听到"请翻译"指令时,如何组合预训练知识生成译文
  • 翻译能力来自预训练的知识储备+微调的任务理解,而非死记硬背句对

4.1.4 推理阶段(实际翻译)

目标: 用户使用模型完成翻译任务

用户输入:"请把'我有一只猫'翻译成英文"
    ↓
Tokenizer: ["请", "把", "'", "我", "有", "一", "只", "猫", "'", "翻译", "成", "英文"] → IDs
    ↓
模型理解:这是一个"中译英"的翻译指令
    ↓
生成过程:I → have → a → cat(自回归生成)
    ↓
输出:"I have a cat"

关键:

  • 模型从未在预训练或微调时见过"我有一只猫=I have a cat"这个精确配对
  • 依靠预训练时学到的:
    • "我≈I"的语义关联(来自混杂语料中的共现)
    • "有≈have"的用法对应
    • 英文语法规则(冠词"a"的使用)
  • 实时组合生成正确译文

总结

阶段 数据特点 是否需翻译对 核心作用
准备阶段 无标注、非平行 ❌ 不需要 Tokenizer学习切分规则
预训练阶段 无标注、非平行 ❌ 不需要 学会语言规律,形成跨语言语义空间
微调阶段 有标注、指令格式 ⚠️ 少量翻译指令示例 学会"翻译"任务格式,激活跨语言能力
推理阶段 用户输入 - 组合知识,实时生成译文

与传统NMT的本质区别:

  • 传统NMT:预训练无→直接用百万平行句对监督训练
  • 现代通用大模型:预训练海量无标注数据→少量指令微调→涌现翻译能力

通用大模型 与 专用翻译模型 训练的区别
范式一:通用大模型(如GPT、LLaMA)

阶段 数据特点 任务 标注
预训练 海量、无标注、通用领域 语言建模(预测下一个token)
微调/SFT 少量、有标注、指令格式 遵循指令、对话

范式二:专用翻译模型(如传统NMT系统)

阶段 数据特点 任务 标注
预训练(可选) 海量、无标注、通用领域 语言建模
监督训练 中等规模、有标注、平行语料 翻译任务

通用大模型: 预训练就是无标注的,后续可能接SFT或专门微调
专用翻译模型: 可以先无标注预训练(学会语言),再有标注监督训练(学会翻译);也可以直接用平行语料监督训练(从头学翻译)

4.2 未见过的词/句子,模型为什么能理解?

靠三层“泛化能力”:

① Tokenizer将新词拆分为词表中已有的token小块;

② Embedding通过语义空间的向量关联(相似词向量靠近)进行联想;

③ Transformer通过上下文注意力,推理出新词/句子的语义角色,实现“举一反三”。

4.3 向量相似度(余弦/欧式距离)在哪里用?

  • Transformer内部:不直接调用,QK点积+缩放的本质,和余弦相似度一样是“衡量向量相关性”,只是计算更高效;

  • 其他场景(如RAG、向量检索):大量使用余弦相似度、欧式距离,用于匹配用户问题和数据库中的相似内容。

4.4 训练阶段 vs 推理阶段(核心区别)

维度 训练阶段 推理阶段(用户提问时)
核心目标 调整参数,最小化损失 用固定参数,生成回答/预测
关键操作 前向传播→算损失→反向传播→更新参数 仅前向传播(文字→token→ID→向量→Transformer→输出)
参数状态 持续更新(在预训练启动时随机初始化的Embedding矩阵、Transformer参数) 完全固定(不做任何修改)
核心依赖 反向传播、残差连接、层归一化 Tokenizer、训练好的Embedding矩阵、Transformer

5、终极通俗总结

5.1 组件分工:

Tokenizer+Embedding帮模型“识字”,Transformer帮模型“懂话”;

5.2 训练过程:

像学生刷题(前向传播)、老师批改(反向传播)、调整学习方法(更新参数),残差连接和层归一化是“辅助工具”,防止学生“越学越忘”“学乱”;

5.3 推理过程:

像学生考试,只用已经学会的知识(固定参数)做题,不批改、不调整,快速给出答案;

5.4 核心能力:

大模型不是“死记硬背”,而是靠训练学会语言规律,靠泛化能力应对未见过的提问。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐