速通大模型“黑话”

大模型向量数据库机器学习

点击上方👆蓝字关注我们!

picture.image

前言

从新闻头条到我们日常使用的开发工具,人工智能,特别是大语言模型(LLM),已经无处不在。或许你已经感受到了它的强大,但面对诸如 “Transformer”、“RAG”、“自回归” 等专业术语(也就是我们常说的“AI 黑话”)时,是否常常感到困惑,仿佛隔着一道无形的门槛?

本文正是为希望跨越这道门槛的你而准备的。它旨在成为一份通俗易懂的“AI 黑话”解读指南。我们将摒弃复杂难懂的学术定义,用清晰的比喻和直观的逻辑,帮助你快速建立起关于大模型的核心知识框架。

我们将从浅入深,一起探索大模型在“思考”(运作)和“学习”(训练)时的基本流程。无论你是想将 AI 能力集成到自己的产品中,还是单纯对这项革命性技术感到好奇,相信这份指南都能为你点亮前行的道路,让你在面对 AI 浪潮时更加从容和自信。

读完本文,希望能够帮助你:

  • 理解大模型从接收用户输入(Prompt)到生成内容(Generation)的完整工作流程。
  • 对一些核心的流程(例如分词、反向传播、自回归)有较为具象的认识。
  • 明确区分预训练(Pre-training)、监督微调(SFT)和强化学习(RLHF)这三大核心训练阶段的不同目标与方法,理解一个“原始”的基座模型是如何一步步被“调教”成一个有用的对话助手的。

picture.image

内容速览:推理(运作)+ 训练

大模型的基本概念

什么是大语言模型(LLM)

大语言模型(Large Language Model, LLM)是自然语言处理(NLP)领域的一个新兴的流行领域,通过巨大的参数量,能够理解和生成人类语言,就像是一个人工打造的"超级大脑"。

我们日常使用的 ChatGPT、Gemini、豆包等,本质上都是大语言模型。

大语言模型之所以被称为"大",是因为它们通常包含数十亿甚至数千亿个参数,需要海量的数据和计算资源来训练。这些模型能够处理和生成人类语言,理解上下文,并在各种任务中表现出惊人的能力。

token:大模型的基本单位

当我们与大模型对话时,我们输入的内容被称为“prompt”(提示词)。大模型不会直接处理整句话,而是会通过分词器(Tokenizer)将文本切分成一个个的“token”。

token 可能是一个单词、一个字符或者一个词的一部分。大模型的任务就是计算在已有 token 序列之后,应该续写哪些 token。

picture.image

tokenizing 的意义: Tokenizing 是将人类语言翻译成机器能够高效处理的结构化数据的关键一步。它的核心是在语言的语义完整性和计算机的高效处理能力之间找到了一个近乎完美的平衡点。

为了理解它的巧妙之处,我们可以先看看两种简单的替代方案有什么问题:

  • 按词语分词:看似自然,但会导致词表规模爆炸(如 run, running, ran 都要单独记),并且模型遇到词表中没有的词(如新词、拼写错误)就会束手无策(称为 OOV, Out-of-Vocabulary 问题)。
  • 按字符分词:能解决 OOV 问题,但序列会变得过长(一个单词变成很多个字符),不仅计算开销巨大,也让模型很难从单个字母中学习到高层次的语义信息。

而主流的子词分词方法(如 BPE)通过将文本切分成有意义的子词单元(Token),同时解决了上述问题。 它不是简单地将文本拆分成单个字符,也不是机械地拆分成词语,而是通过将文本分解为具有独立语义的最小单位(即 Token),将人类语言转化为机器能够理解和学习的结构化数据。
例如 taller 可能会被拆分成 tall + er 这样的形式,本身就能体现出形容词本身和比较级的语义特征。这既保证了模型能够有效地捕捉和学习词语、短语的意义和上下文关系,又避免了因序列过长而导致的巨大计算开销,从而让模型能够高效、准确地理解和生成语言。

总结来说,Tokenizing 是一种优雅的工程妥协。它将连续的文本转化为了离散、高效且富有语义信息的 token 序列,为大模型理解和生成复杂的人类语言奠定了坚实的基础。

BPE(Byte Pair Encoding)

使用最广泛的一种分词方法是 BPE (Byte Pair Encoding)。GPT 系列、DeepSeek、Gemini 等主流模型采用的都是 BPE 或其变体。BPE 最早源于一种数据压缩算法,其核心思想是通过不断合并最高频的相邻符号对,来迭代地构建词表 (vocabulary)。

BPE 算法的工作原理:

  1. 从字符级别开始,每个字符都是一个 token;
  2. 统计所有相邻 token 对的出现频率;
  3. 将出现频率最高的 token 对合并为新 token;
  4. 重复步骤 2-3,直到达到预设的词表大小。

下面有一个简单的例子:

picture.image

这个过程会一直持续下去,像 lownew 这样常见的组合会逐渐被合并成单个 token。最终,词表里既有像 l, o 这样的单个字符,也有像 er 这样的子词,还有像 low 这样的完整单词。这种构成方式让分词器既能高效处理常见词,又能灵活地拆分和理解未知的新词。

从这个过程我们也可以看出,分词器的训练可以不需要任何参数,只需要指定最大词表大小或是最多迭代次数,直接利用语料库去生成即可。

大模型的运作流程

大模型的续写机制:自回归生成

“自回归” 这个词听起来很专业,但其实很简单:自己回归自己,即把上一步的输出,作为下一步的输入。

在分词阶段结束后,我们有了一个包含几万到几十万个 token 的词表(Vocabulary),每个 token 都有一个唯一的数字 ID。例如,“I love NLP” 会被转化为 [101, 2293, 18847] 这样的数值序列输入给模型。

从根本上说,大模型就是一个终极的“下一个词”预测器。它生成内容的本质,就是在给定一段已有文本的基础上,一步一步地预测出最有可能紧随其后的下一个 token 是什么。

具体流程如下,我们可以把它想象成一个严谨的四步循环:

  1. 接收输入 (Prompt & Tokenize): 用户输入一段文字,如“中国的首都是”。分词器迅速将其切分为 token 序列,并转换为对应的数字 ID 序列。
  2. 预测概率分布 (Prediction): 模型接收这个数字序列,然后动用其全部“算力”来回答一个问题:在整个词汇表中,哪一个 token 最有可能出现在 中国的首都是 后面?模型不会只给出一个答案,而是会输出一个覆盖了词表中所有 token 的概率分布(一个概率列表,总和为 1)。 例如:{ "北京": 0.95, "上海": 0.02, "一个": 0.001, ...}。
  3. 采样与拼接 (Sample & Append): 模型根据上一步生成的概率分布,采样 (Sample) 出一个 token。通常它会选择概率最高的那个(比如“北京”),但也可以引入一些随机性。然后,模型将选出的这个 token 的 ID 拼接到现有序列的末尾。
  • 旧序列: [ID("中国"), ID("的"), ID("首都"), ID("是")]
  • 新序列: [ID("中国"), ID("的"), ID("首都"), ID("是"), ID("北京")]
  1. 循环迭代 (Loop): 将这个新的、更长的序列作为下一轮的输入,完全重复第 2 步和第 3 步,让模型预测再下一个 token(比如“。”)。

这个“预测-拼接-再预测”的循环会不断进行,一个 token 一个 token 地向外“吐”出内容,直到满足某个停止条件(比如生成了特殊的 [EOS] 结束标记,或达到了设定的最大长度),最终构建出完整的回答。

这个过程就像一个超级智能的词语接龙游戏。但与人类玩接龙只看前一个词不同,大模型在决定下一个词时,会回顾并分析前面已经说过的所有内容。这种“下一步的决策依赖于过去所有步的完整历史”的模式,正是“自回归”这个词的精髓所在。

思考

既然模型推理时参数已经是固定的,为什么同样的问题抛给同一个 LLM,每次输出的结果不尽相同呢?

简单来说,因为它在最后“选词”的环节引入了可控的随机性。

如果模型总是死板地选择概率最高的词(贪心策略),那每次的回答确实会一模一样,但会显得非常机械和重复。

为了让回答更自然、更有创造力,现在的模型普遍采用一种 “采样(Sampling)” 的策略。你可以把它想象成模型在做“多选题”:它不是直接选得分最高的那个,而是根据得分,从排名靠前的几个选项中随机挑一个。

这就好比你问“今天天气不错,我们去___?”,模型算出来“公园”得分 90,“逛街”得分 85,“野餐”得分 80。它不会永远只说“公园”,而是这次可能选了“公园”,下次可能就选了“逛街”。

而 LLM 是 autoregressive(自回归)模型,生成文本时从第一个词开始,每个后续词的预测都依赖于之前生成的所有词。即使初始采样的微小差异(如第一个词不同),也会通过 “蝴蝶效应” 导致后续生成路径完全不同,最终输出差异显著。

控制采样策略的一个重要参数就是“温度(Temperature)”,温度控制概率分布的 “平滑度”。

  • 低温 (T<1):概率分布更“尖锐”,强者愈强。模型会更倾向于选择它认为最可能的词,回答更具确定性、更保守。
  • 高温 (T>1):让概率分布更“平滑”,会放大低概率词的可能性,缩小了高概率与低概率词之间的差距。这给了那些“意料之外”的词更多被选中的机会,让回答更多样、更具创造性,但风险是可能偏离主题。

Transformer 架构与自注意力机制:让模型学会“抓重点”

Transformer 是目前几乎所有主流大模型(包括 GPT 系列、Gemini 等)都在使用的核心架构。我们可以将它理解为大模型的“核心处理器设计图”,它决定了模型处理信息的基本方式,而其设计的革命性之处,就在于其核心组件——自注意力机制 (Self-Attention)。

Transformer 出现之前:RNN 的“线性拥堵”

要理解 Transformer 为何是革命性的,我们需要先知道它解决了什么问题。在它出现之前,处理文本序列的主流模型是 RNN(循环神经网络)。

RNN 的工作方式就像一个逐字阅读的人,从句子的第一个词读到最后一个词。它会努力记住前面读过的内容,然后将“记忆”传递给下一个时间点。

这种“一个接一个”的串行处理方式,导致它无法充分利用现代 GPU 强大的并行计算能力,处理长文本时效率低下。同时,存在长距离遗忘的问题:当句子很长时,就像一个人记性不好,读到句尾时可能已经忘了句首的关键信息。

Transformer 的革命:一眼看全,并行处理

Transformer 彻底抛弃了 RNN 的线性序列处理方式。它不再是逐字阅读,而是像拥有“鹰眼”一样,一口气读取整个句子,然后立刻并行处理所有词元。

一口气看完全部词元,模型如何理清它们之间的复杂关系呢?(例如,一句话里有多个“它”,每个“它”分别指代什么?)这就是自注意力机制 (Self-Attention) 发挥作用的地方。

自注意力机制:一场内部的“关联度投票”

如果说 Transformer 是一个高效的团队,那么自注意力机制就是这个团队的高效沟通法则。它让句子中的每一个词元都能“看”向句子中的所有其他词元,并计算出“我应该最关注谁”。

picture.image

人类阅读时的注意力:当我们阅读“The robot ate the apple because it was delicious.”这句话时,我们自然而然地知道“it”指的是“apple”。

大模型的自注意力机制:大模型通过自注意力机制,能够计算出“it”和“apple”之间的关联度很高,从而理解“it”指代的是“apple”,而不是其他人或物。

我们可以用一个生动的例子来理解这个过程:

句子: "The robot ate the apple because it was delicious."

当模型处理到 it 这个词时,它需要搞清楚 it 到底指代的是 robot 还是 apple。自注意力机制会这样做:

分身角色 (Q, K, V):为了理解上下文,句子中的每个词元都需要从其他词元那里“检索”相关信息来丰富自己。为此,模型为每个词元都生成了三个专属向量,让它们扮演三个不同的角色:

  • Query (查询 Q):可以理解为 “我想找谁”。代表 it 这个词,它主动发出的寻找关联的“提问信号”。
  • Key (键 K):可以理解为 “我是谁,我有什么特点”。代表 robotapple 等所有词元,它们各自展示出的“身份标签”。
  • Value (值 V):可以理解为 “我携带的实际信息”。代表每个词元实际蕴含的意义。

计算关联度(Attention Score):it 的 Query 向量会和句中所有词元(包括它自己)的 Key 向量进行一次“匹配度”计算(通常是点积运算)。

  • Q_it · K_robot → 得到一个分数(比如 0.1)
  • Q_it · K_apple → 得到一个更高的分数(比如 0.8)
  • Q_it · K_delicious → 得到一个较高的分数(比如 0.6)
  • 这个分数就代表了 “为了理解 it,我应该在多大程度上关注你这个词”。分数越高,关联越强。

加权求和,重塑自我:最后,模型将所有词元的 Value 向量根据上一步算出的关联度分数进行加权求和。 appledelicious 的分数高,所以它们的 Value 信息会被更多地融入; robot 的分数低,它的信息则被少量融入。

这样, it 这个词元原始的、孤立的含义,就被重塑成了一个全新的、吸收了上下文信息的、含义更丰富的向量。这个新向量里,已经深深地烙印了 appledelicious 的信息,模型因此“理解”了 it 指的是 apple

最关键的是,这个过程对所有词元是同时并行发生的。 robot 也在同步计算它和谁的关联度, apple 也是。这就像在一瞬间完成了一场全员参与、信息充分交互的“内部关系投票”,极大地提升了模型对语言上下文的理解深度和效率。

检索增强生成(RAG)

检索增强生成(Retrieval-Augmented Generation, RAG)就像是给大模型配备了一个"外部记忆库",让它能够查阅最新或专业的资料来回答问题。

我们知道,大模型的一个核心局限是它的知识是“静态”的,截止于其训练数据的最后日期,并且它不了解任何私有或实时信息。因此,当你问它“今天的天气如何?”或“我们公司上个季度的财报总结是什么?”时,它要么无法回答,要么就会开始“一本正经地胡说八道”(即幻觉 Hallucination)。

检索增强生成 (RAG) 正是解决这一问题的优雅而强大的方案。它就像是把大模型的“闭卷考试”模式,变成了“开卷考试”模式。你不必强迫模型记住所有知识,而是在它回答问题前,先帮它找到相关的参考资料,让它依据这些资料来作答。

我们日常使用的 AI 对话产品中的“联网搜索”功能,或者外挂企业内部知识库进行问答,背后都是 RAG 在发挥作用。

RAG 的核心工作流:三步走

想象一下,你向一个搭载了 RAG 的 AI 助手提问:“我们物料管理系统的 A 模块源码,主要实现了什么功能?”

第一步:检索 (Retrieve) - 去图书馆找书

  • AI 助手不会立刻让大模型回答。相反,它会将你的问题“我们物料管理系统的 A 模块源码”作为查询指令,发送给检索模块。
  • 检索模块就像一个图书管理员,它会在你提供的“图书馆”(如公司的源码库、API 文档、向量数据库)里快速搜索,找到与你问题最相关的几段文字或代码片段。
  • 检索方式:这可以是传统的关键词搜索,但更先进的是向量检索。后者能理解语义相似度,即使你的提问和原文措辞不同,也能精准地找到相关内容。

第二步:增强 (Augment) - 划重点并递上小纸条

  • 检索模块找到了相关的资料(比如几段关键的源码和注释)。
  • 系统会将这些检索到的“参考资料”和你的“原始问题”智能地组合在一起,形成一个内容更丰富、上下文更明确的新 Prompt。这就像是把划好重点的参考书内容,和你原来的问题一起贴在一张小纸条上。
  • 这个新 Prompt 的格式通常可以是这样的:

“请根据以下背景信息回答问题。背景信息:‘[这里是检索到的A模块源码片段1]’,‘[这里是相关的架构文档描述2]’。我的问题是:我们物料管理系统的 A 模块源码,主要实现了什么功能?”

第三步:生成 (Generate) - 看小纸条回答问题

  • 这个包含了丰富上下文的“增强版 Prompt”被发送给生成模块(也就是那个标准的大语言模型)。
  • 对于 LLM 来说,现在的任务变得极其简单。它不再需要“回忆”或“猜测”,只需要像一个阅读理解高手一样,总结和提炼小纸条上已有的信息,就能给出一个准确、有理有据的回答。
  • 因此,它能够做到回答有依据,对于资料中没有提及的内容,它会自然地回答“根据现有资料无法得知”,而不是凭空捏造。

通过这个“先查资料,再作答”的简单流程,RAG 极大地提升了 LLM 在处理专业领域、 私有数据和实时信息时的准确性和可靠性,是当前将大模型落地应用的最核心技术之一。

大模型的规模与架构

参数量与 Scaling Law

如果说大模型是一个极其复杂的“人工大脑”,那么参数就是构成这个大脑的“神经元连接的强度”。

参数

在技术上,参数是模型中的权重(weights)和偏置(biases),它们本质上是一系列需要通过训练来学习和优化的数值。你可以把它们想象成大脑中亿万个可以调节的“旋钮”。训练的过程,就是不断地、精细地调整这些旋鈕,使得模型在接收到特定输入时,能产生最接近正确的输出。

因此,参数量(比如 1750 亿个)就是这些“旋钮”的总数量,它直接决定了模型的复杂度和潜在的容量上限。

Scaling Law

许多研究表明,模型参数越多,规模越大,算力越高,表现就越好。这一现象被称为扩展定律 (Scaling Law),也就是常说的“大力出奇迹”。

Scaling Law 揭示了模型性能与三个核心因素的规模严格相关:

  • 模型尺寸(参数量)
  • 训练数据集的规模
  • 投入的计算量 (Compute)

这三者就像一个木桶的三块板,需要均衡地扩大,才能最有效地提升模型性能。给一个“天才大脑”(巨大参数量),却只让他读一本书(少量数据),是巨大的浪费。反之亦然。Scaling Law 指导着机构如何最经济地利用资源来训练出更强大的模型。

从“B”到“T”:模型的规模竞赛

大模型的名称后通常会标注其参数量,“B”代表 Billion(十亿),现在甚至出现了“T”,代表 Trillion(万亿)。

  • GPT-3 (2020): 175B,当年的里程碑,证明了 Scaling Law 的可行性。
  • GPT-4 (2023): 官方未公布,但业界普遍估计其总参数量超过 1.8T(即 1800B),同样被认为是 MoE 架构。

“大力”的极限:边际收益递减

不过,正如 Scaling Law 的深入研究所揭示的,单纯增加参数量带来的性能提升,其边际收益正在逐渐递减。将模型从 100B 增加到 1000B 带来的提升,远比从 10B 增加到 100B 要小。

这是因为训练成本(算力、电力、时间)会呈指数级增长,而性能提升却趋于平缓。这促使整个行业开始从“追求更大 (Bigger)”转向“追求更聪明 (Smarter)”。例如,通过改进模型架构(如 MoE)、提升数据质量、优化训练算法等方式,来更高效地提升模型能力。

稠密模型 vs 稀疏模型

根据计算方式的不同,大模型可以分为稠密模型和稀疏模型。

稠密模型

  • 每次计算都会调动所有参数,就像是"全情投入",计算量大但理论上能力更强。
  • 想象一个学生面对每一道题都动用自己所有的知识和思考能力,无论题目难易。

稀疏模型

  • 只激活与当前问题相关的部分参数,更加"冷静",能降低计算量,提升速度。
  • 就像一个聪明的学生,面对简单的加减法不会去思考微积分,只调用相关知识。

混合专家模型(MoE)

混合专家模型(Mixture of Experts, MoE)就像是一个由多位专家组成的团队,每位专家负责不同领域的问题,由一个"协调者"决定针对具体问题应该请哪位专家来回答。

目前稀疏模型中最流行的一种实践是混合专家模型(MoE)。Grok、DeepSeek 等都是 MoE 模型。

MoE 模型通过"门控网络"(可以理解为"协调者"或"分发员")给每个问题分配合适的"专家"(参数子集),赋予它们不同的权重,再生成结果。这种方法可以在保持模型能力的同时,大幅降低计算成本。

例如,当你问一个编程问题时,MoE 模型会主要激活与编程相关的"专家参数";而当你问一个历史问题时,则会激活与历史相关的"专家参数"。这就像一个公司有市场、技术、财务等不同部门的专家,根据问题性质决定由哪个部门来处理。

这里可能有一个容易误解的地方,MoE 模型中的多个“专家”擅长哪个方面并不是预先设定的。

这些专家的“专业领域”完全是在海量数据训练中自发涌现和动态形成的。它们的分工远比我们想象的要更抽象、更底层。

  • 可能 1 号专家最终擅长处理英文中的语法结构。

  • 可能 5 号专家对JSON 格式的文本特别敏感。

  • 而 8 号专家可能专门处理与科学推理相关的逻辑模式。

我们无法给这些专家贴上易于理解的标签,但正是这种基于数据模式的、机器自发形成的分工,使得 MoE 架构在处理复杂和多样化的信息时,能够达到惊人的效率和性能。

大模型的训练流程

预训练阶段

大模型的训练通常分为三个主要阶段:预训练、后训练(微调)和 后训练(强化学习)。这三个阶段可以类比为人类的成长过程:婴幼儿期(大量吸收基础知识)、学生时代(学习专业技能)和社会化过程(学习社会规范和价值观)。

picture.image

预训练(Pre-training)的目的

预训练是大模型制造的第一步,目的是让模型掌握人类世界的各种知识和语言规律,就像婴幼儿时期通过大量阅读和观察来学习世界的基本规则。

预训练使用的是海量互联网数据,包括各种文章、书籍、代码、百科全书等内容。这一阶段是大模型训练中最耗时、耗算力的部分,往往需要几个月甚至几年的时间,以及大量的高性能计算设备。

预训练完成后,我们会得到一个基座模型(Base Model),你可以将它理解为一个"互联网模拟器"或"学会了人类世界知识的通用大脑"。这个基座模型掌握了大量的知识,但还不知道如何与人类有效交流,也不知道什么是"好的回答"。

自监督学习与反向传播

在预训练阶段,模型需要阅读海量的原始文本数据。但这些数据只有文字,并没有现成的“问题”和“答案”供模型学习。那么,模型是如何从中汲取知识的呢?答案就是自监督学习(Self-supervised Learning),它是一种让模型自己给自己“出题”并“对答案”的聪明方法。

整个学习过程由两个核心环节构成:首先通过自监督学习创造出学习任务,然后通过反向传播机制来完成学习和优化。

第一步:自监督学习 —— 无中生有地创造“考题”

自监督学习的核心思想是从数据本身中自动生成标签或目标,而无需人工标注。这就像让一个孩子通过玩填字游戏来学习语言,而不是直接给他一本字典背诵。

最主流的一种自监督任务叫做“遮蔽语言建模”(Masked Language Modeling)。具体过程如下:

  1. 获取原文:从海量数据中随机抽取一句话。例如:“我家门口有两棵树,一棵是枣树,另一棵也是枣树。”
  2. 制造问题(Masking):随机遮盖掉句子中的一个或多个 token,形成一道“完形填空题”。例如:“我家门口有___棵树,一棵是枣树,另一棵也是___。”
  3. 确定答案:被遮盖住的原始单词“两”和“枣树”,就成了这道题唯一的“正确答案”。

通过这个简单的方法,我们就能从无穷无尽的文本中,自动地、源源不断地为模型创造出亿万道“考题”。

第二步:学习循环 —— 通过“猜测、对比、反思”来优化

有了考题之后,模型就可以开始它的学习循环了。这个循环的核心机制是反向传播(Backpropagation),它驱动着模型不断地自我纠错和进步。

这个循环包含四个关键步骤:

  1. 前向传播(做出猜测):模型读取这道“填空题”,并根据已经学到的知识,尽力去预测空白处最有可能的词。比如,模型经过计算,可能猜测空白处是“村上春树”的概率是 10%,而猜测是“枣树”的概率是 8%。
  2. 计算损失(衡量差距):模型将自己的猜测结果与“正确答案”(也就是原文中的“枣树”)进行对比。这个“差距”在数学上被称为损失(Loss)。猜测得越离谱,损失值就越大。模型发现自己对“枣树”的预测概率不够高,因此产生了一个不小的损失值。
  3. 反向传播(反思归因):这是最关键的一步。模型会根据这个损失值,从后向前、层层递进地反向追溯,计算出网络中每一个参数对这次“猜错”负有多大的责任。这个过程就像一个团队项目失败后开复盘会,精确地找出是哪个环节、哪个人的哪个决定导致了最终的失误。在数学上,它就是找到了让损失下降最快的方向(梯度)。
  4. 更新参数(调整认知):模型将所有参数朝着“能让损失变小”的方向进行微小的调整。与“枣树”预测相关的参数权重会被调高一点,而与“村上春树”相关的则可能被调低。

通过亿万次重复“出题 → 猜测 → 对比 → 反思调整” 这个循环,模型的参数被不断优化。它逐渐学会了语法、语境、事实知识甚至一定的推理能力,最终,它的“思考方式”会越来越接近正确答案,从而变得越来越“聪明”。

一个具体的反向传播的例子

概念速查

  1. 损失函数(Loss):衡量模型预测值与真实值的差距(例如均方误差)。
  2. 偏导数:损失函数对某个参数的变化率(参数变化一点点,损失会变化多少)。
  3. 链式法则:当参数通过多个中间变量影响损失时,用链式法则计算总变化率(复合函数求导)。
  4. 参数更新:用偏导数乘以学习率(步长),反向调整参数以减小损失。

假设我们有一个超简单的“模型” picture.image

  • 输入: picture.image (已知)
  • 真实值: picture.image (已知)
  • 模型参数: picture.image (初始值,需要优化)
  • 模型预测: picture.image (简单的线性模型)
  • 损失函数: picture.image (均方误差)

步骤1:前向传播(计算损失)

先计算当前参数下的损失:

picture.image

步骤2:反向传播(计算偏导数)

我们的目标是找到:损失对参数 picture.image会变化多少。

根据链式法则,picture.image

分别计算两部分:

  1. picture.image

:损失对预测值的偏导数

picture.image 2. picture.image

:预测值对参数 picture.image 的偏导数

picture.image 3. 链式法则组合:picture.image

步骤3:更新参数

为了减小损失,我们需要反向调整 tu(减去偏导数乘以学习率,假设学习率 η=0.1):

picture.image

验证效果

用新的 picture.image 计算损失:

picture.image

可以看到,损失从最初的 4,大幅降低到 0.16

后训练阶段

后训练 是指在模型完成了大规模、无监督的“预训练”之后进行的所有训练和优化过程的总称。预训练阶段的模型通过海量文本数据学习了语言的规律、事实知识和一定的推理能力,但它更像一个知识渊博但行为不可控的“原始大脑”。

从我们最常用的 LLM 对话模型的角度来看,后训练阶段的核心目标是让模型的能力与人类的意图、价值观和偏好对齐,一方面能够回答你的问题而不是帮你续写问题,成为一个合格的对话模型,另一方面是尽量保证他的回答 有用、无害且可靠。

后训练是目标,实现这一目标的关键步骤包括监督微调和强化学习。

监督微调(SFT)——模仿

监督微调(Supervised Fine-Tuning, SFT)就像是针对特定职业的专业培训,让基座模型从"博学多才的学者"变成"专业的对话助手"或其他特定角色。

预训练完成后的基座模型通常不能直接使用,还需要进行后训练,其中最常用的方法是监督微调(SFT)。

监督微调需要提供带标注的数据集,让模型模仿这些数据的风格来生成内容。例如,要将基座模型变成对话助手,就需要提供大量高质量的问答对话数据。

与预训练相比,微调所需的数据集规模和训练时长都要小得多。例如,开源对话数据集 Open Assistant 只包含约 16 万条对话信息(其中中文对话不到 5000 条),但已足够将基座模型转变为一个合格的对话助手。

监督微调中的数据集需要一般真人编写保证质量,这些人被称为数据标注员。

数据标注员的工作是创建或筛选高质量的对话样本,确保这些样本符合预期的行为标准(例如,礼貌、有帮助、安全等)。

不同用途的大模型需要不同类型的微调数据。例如,医学专家模型需要医学对话数据,法律专家模型需要法律对话数据,等等。这就像不同专业的学生需要学习不同的专业课程一样。

强化学习(RL)——领悟

强化学习(Reinforcement Learning, RL)就像是大模型的"社会化训练",教它学会什么样的行为是受欢迎的,什么样的行为是不受欢迎的。

完成监督微调后,我们已经有了一个基本可用的大模型。但如果到此为止,大模型也只是一个"没有灵魂,只会四处搬运鹦鹉学舌的复读机"。

要给大模型注入"灵魂",使其输出更符合人类偏好,甚至展现出超越人类的智力,就需要进行强化学习(RL)。

这就像是一个人在学校学习了各种知识和技能后,还需要在社会中学习如何与人相处,如何表达自己的想法,如何做出受欢迎的行为。

RLHF:基于人类反馈的强化学习

基于人类反馈的强化学习(RLHF)就像是通过"点赞"和"踩"来教导大模型,让它学会什么样的回答是人类喜欢的。

强化学习的一种常用方法是基于人类反馈的强化学习(Reinforcement Learning from Human Feedback, RLHF)。其基本流程是:

  1. 让数据标注员给AI生成的多个答案排序,将好的排在前面,差的排在后面;
  2. 根据这些排序训练一个奖励模型(Reward Model, RM);
  3. 使用奖励模型对大模型生成的内容进行评分;
  4. 大模型根据奖励模型的反馈不断调整自己的参数。

通过这种方式,大模型能够逐渐学会生成更符合人类偏好的回答。这就像是社交媒体上的内容创作者,通过观察哪些内容获得更多点赞和分享,来调整自己的创作方向。

GRPO:群体相对策略优化

DeepSeek 等模型采用了一种叫群体相对策略优化(Group Relative Policy Optimization,GRPO) 的强化学习方法。其基本思路是:

GRPO 的工作原理:

  1. 给定一个问题,让 AI 生成多个不同的解决方案;
  2. 筛选出正确的解决方案,丢弃错误的;
  3. 让 AI 模仿正确的解决方案,继续生成;
  4. 反复训练,提高 AI 输出正确答案的能力。

生活中的类比:这就像是一个学生在解题时,尝试多种不同的方法,然后老师指出哪些方法是正确的,哪些是错误的。学生通过模仿正确的方法,逐渐掌握解题技巧,甚至可能发现一些老师都没想到的解法。

这种方法特别适合有明确正确答案的问题(如数学题、编程问题等)。通过这种方式,AI有时能够涌现出一些在人工数据集之外、连人类自己都未曾设想过的解决方案,达成超越人类的效果。

举一个后训练的例子:DeepSeek-R1 的强大推理能力(展示详尽的思维链,Chain of Thought,CoT),就是通过在监督微调阶段特意准备了 60 万条推理数据,然后通过 GRPO 流程引导大模型自己筛选有效思路而实现的。

大模型的部署与优化

蒸馏模型

蒸馏模型就像是"大师的学生",通过学习大师(大模型)的行为和输出,来模仿大师的能力,但自身规模更小,更容易部署。

由于完整版大模型对硬件要求极高,普通个人电脑难以运行,因此出现了蒸馏模型的概念。

蒸馏模型可以理解为"高仿版"大模型。例如,一些开发者会使用参数较小的模型(如阿里的千问 32B)去学习满血版大模型(如 DeepSeek 的 671B)的输出,然后据此调整参数,做出一个"高仿"版本。

这就像是一个年轻的音乐家通过反复聆听和模仿大师的演奏,逐渐掌握大师的技巧和风格,虽然可能无法完全达到大师的水平,但已经能够呈现出相似的表现。

量化模型

量化模型就像是对高清图片进行压缩,虽然会损失一些细节,但大大减小了文件体积,使其能够在普通设备上显示。

除了蒸馏模型外,还有量化模型,即原版大模型的"压缩版"。

量化是将大模型中精度极高的参数(通常是 FP16 或 FP32 浮点数)转化为精度较低的参数(如 INT8 或 INT4 整数),从而降低模型的体积和性能要求。许多个人电脑上部署的大模型都是这些压缩或高仿版的模型。

如果把原始大模型比作一张 4K 超高清图片,那么量化模型就像是将其压缩为 1080P 或 720P 的版本,虽然损失了一些细节,但大大减小了文件体积,使其能够在普通设备上显示。

总结

本文介绍了大模型相关的基本概念、运作流程和训练流程。从 token、transformer 架构、自注意力机制,到预训练、监督微调和强化学习,我们尝试用通俗易懂的语言和比喻解释了这些 AI 术语和概念。

希望这份速通指南能够帮助大家查漏补缺,理解那些充斥在 AI 新闻和技术文章中的「黑话」,让你在面对铺天盖地的 AI 信息时不再感到困惑,能够更加从容地理解和参与这场 AI 革命。

术语表

为方便查阅,以下是本文提到的主要 AI 术语及其简要解释:

| 术语 | 解释 | 类比 | | --- | --- | --- | | 大语言模型(LLM) | 能够理解和生成人类语言的 AI 系统 | 人工打造的"超级大脑" | | 提示词(Prompt) | 用户输入给大模型的内容 | 给 AI 的"问题"或"指令" | | Token | 大模型理解内容的最小单元 | 语言的"乐高积木" | | Transformer | 目前主流大模型采用的架构 | 大模型的"大脑结构" | | 自注意力机制 | Transformer 的核心机制,能捕捉上下文关联 | 阅读时的"超级记忆力" | | 检索增强生成(RAG) | 通过检索外部知识来增强生成内容的技术 | 给 AI 配备的"外部记忆库" | | Scaling Law | 模型参数越多,表现越好的规律 | "大力出奇迹" | | 稠密模型 | 每次计算都调动所有参数的模型 | 面对所有问题都"全力以赴" | | 稀疏模型 | 只激活部分参数的模型 | 根据问题难度"按需调动" | | 混合专家模型(MoE) | 种流行的稀疏模型架构 | 由专家团队组成的"智囊团" | | 预训练 | 让模型学习基础知识和语言规律的阶段 | 婴幼儿期的大量阅读和学习 | | 基座模型 | 预训练后得到的通用模型 | "博学多才但不专业"的学者 | | 监督微调(SFT) | 通过标注数据调整模型行为的过程 | 针对特定职业的专业培训 | | 强化学习(RL) | 让模型学习更符合人类偏好的技术 | 大模型的"社会化训练" | | 奖励模型 | 评估 AI 输出质量的模型 | AI 世界的"评委" | | 拒绝采样优化(RLPO) | 一种强化学习方法 | 尝试多种方法并保留正确的 | | 思维链(CoT) | AI 展示推理过程的能力 | "解题步骤"的展示 | | 蒸馏模型 | 模仿大模型行为的小模型 | "大师的学生" | | 量化模型 | 通过降低参数精度压缩的模型 | 压缩后的"高清图片" |

0
0
0
0
关于作者

文章

0

获赞

0

收藏

0

相关资源
TRAE 的思考:AI 时代程序员的认知进化
在 AI 浪潮下,传统的古法编程模式正在被颠覆和变革,对开发者的认知和协作模式提出了新的挑战。本次分享将深入探讨 AI Coding 的演进趋势,从 AI 辅助编程到 AI 主导的全新协作模式,以及它如何重塑人与 AI 之间的关系,同时也将分享下 TRAE 的核心理念、技术实现,演进实践中的踩坑心得、以及我们对未来的展望。
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论