我们都还没有训练过任何模型,所有内容都基于“已训练好的大语言模型”,讨论如何强化它的现有能力。从这堂课开始,我们正式进入语言模型的修炼史——看看这些模型是怎么从“不会说话”练到今天“无所不能”的。

语言模型的修炼分三个阶段,接下来我们会逐步剖析每个阶段的核心逻辑。不过在讲故事前,必须先交代一些背景知识,帮大家看懂“修炼”背后的技术原理。

在这里插入图片描述

一、背景知识:先搞懂“文字接龙”与“训练”的本质

我们已经再三强调:大语言模型唯一会做的事情,就是文字接龙——给它一个未完成的句子,它会一个符号一个符号地补全,这个符号就叫“token”。

1. 关于Token的简化约定

  • 实际情况:不同模型的Token定义不同(如ChatGPT需2-3个Token组成1个中文字);
  • 课程约定:为简化说明,我们统一假设“1个中文字=1个Token”,聚焦核心逻辑而非细节差异。

2. 语言模型=一个“有数十亿参数的函数”

  • 模型本质:语言模型可以看作一个函数F,输入是“未完成的句子”,输出是“下一个可能的Token的几率分布”(比如输入“人工智”,输出“能”的几率80%、“慧”的几率15%、其他5%);
  • 参数规模:要实现精准的文字接龙,这个函数需要数十亿个未知参数(比如GPT-3有1750亿个参数)——参数越多,函数越复杂,能捕捉的语言规律越精细。

3. “训练”与“推论”的核心区别

机器学习里,模型的生命周期分两步,这是理解后续内容的关键:

阶段核心任务通俗理解
训练(Training)用大量“句子-正确Token”数据,找出函数的参数学生刷题学知识
推论(Inference)用训练好的参数,实际做文字接龙学生用学到的知识做题

举个例子:

  • 训练资料:“人工智→能”“床前明月→光”“今天来开→会”(告诉模型“输入某句子,下一个Token该接什么”);
  • 训练过程:机器学习算法自动找出数十亿个参数,让函数F输入“人工智”时,输出“能”的几率最高;
  • 推论过程:用找到的参数,输入“台湾最高的山是”,模型输出“玉”的几率90%、“阿”的几率5%,完成文字接龙。

二、训练的核心挑战:找参数这件事“没那么简单”

理论上,只要有足够训练资料,算法就能找出参数——但实际训练中,会遇到两个大麻烦,这也是为什么“训练模型需要大量算力”的原因。

1. 挑战1:超参数“调不对,训练就失败”

  • 超参数是什么?:训练前需要人工设定的“算法参数”(比如学习率、批次大小),相当于“给学习机设定规则”;
  • 训练的随机性:超参数设定不同,训练结果可能天差地别——比如超参数A训练出的模型,输入“人工智”会接“能”;超参数B训练出的模型,可能接“障”(完全错误);
  • 解决办法:试!换一组超参数再训练,直到找到能让模型符合训练资料的组合——这就是“调参”的本质(大家常说“深度学习=调参”,调的就是超参数);
  • 课程福利:作业5、6的超参数助教已调好,大家按Enter就能出结果;但如果自己调,你会体会到“试十次错九次”的痛苦。

2. 挑战2:训练成功≠测试成功(Overfitting过拟合)

这是机器学习最经典的坑,必须用例子讲清楚:
假设我们要训练一个“猫狗分类器”(输入图片,输出“猫”或“狗”):

  • 训练资料:2只黑猫、2只黄狗(告诉模型“黑色=猫,黄色=狗”);
  • 训练成功:模型输入这4张图,能正确输出“猫”或“狗”;
  • 测试失败:输入一张“黄色的猫”,模型输出“狗”——因为它学的是“颜色=类别”,而非“外形=类别”,这就是过拟合。
    在这里插入图片描述

为什么会这样?
机器只认“训练资料的限制”,不管“逻辑是否合理”——它不会像人一样思考“分辨猫狗该看外形,不是颜色”。要解决过拟合,最直接的方法是增加训练资料的多样性(比如加1只黄猫、1只黑狗),强迫模型学习更通用的规律。

3. 挑战3:初始参数“从哪来?”

训练时,算法需要一个“初始参数”作为起点,最终找到的参数会和初始参数比较接近。但我们根本不知道“好的初始参数长什么样”,所以常见做法是随机生成初始参数(相当于“掷骰子定起点”),这种方式叫“Train from Scratch(从头训练)”。

有没有更好的办法?
当然有——如果能找到一组“离正确参数更近的初始参数”(相当于给模型“先验知识”),训练会更高效。这就是语言模型修炼的关键伏笔,我们后面会详细讲。

三、语言模型的第一阶段修炼:自我监督学习(Self-Supervised Learning)

解决了背景知识,终于进入第一个修炼阶段——这是所有语言模型的“筑基期”,核心是“自己教自己做文字接龙”。

1. 修炼目标:同时掌握“语言知识”和“世界知识”

要做好文字接龙,模型需要两种知识,缺一不可:

知识类型核心要求例子
语言知识懂文法、符合语言逻辑输入“这个人突然就”,接“跑”“飞”合理,接“3”不合理
世界知识懂物理规律、社会常识等现实逻辑输入“水的沸点是摄氏”,接“100”合理,接“50”不合理
  • 语言知识:容易掌握,有1亿个词汇的训练资料就够;
  • 世界知识:极难掌握,因为它有多层级(比如“水的沸点随气压变化”,小学生知道100℃,中学生知道低压下更低)。2020年的论文发现,就算用300亿个文字的资料,模型也没完全学会世界知识。

2. 修炼资料:网络是“免费的藏经阁”

要学世界知识,必须有海量资料——而网络就是最好的来源:

  • 资料特点:无穷无尽、几乎无人工成本(爬取网页即可)、涵盖所有领域(新闻、论文、小说、论坛等);
  • 资料处理:爬下来的资料不能直接用,需要做4步清理(以DeepMind训练Gopher模型为例):
    1. 过滤有害内容:去掉色情、暴力等违规内容,避免模型学“坏”;
    2. 剔除无用符号:去掉HTML标签(如<div>),保留文字和有用符号(比如表情符号,让模型能生成😂😭);
    3. 控制资料品质:用“资料品质分类器”区分高低质内容(比如维基百科、教科书算高品质,重复的垃圾广告算低品质),高品质资料让模型多看,影响更大;
    4. 去除重复资料:网络上有大量重复内容(比如某婚礼公司的业配文重复6万次),不剔除会让模型“魔怔”,动不动就输出重复内容。

3. 修炼成果:从GPT-1到GPT-3的“打怪升级”

OpenAI是第一阶段修炼的“标杆玩家”,从2018年到2020年,他们推出的GPT系列,完美体现了“天资(参数)+努力(资料)”的重要性:

模型版本发布时间参数量(天资)训练资料量(努力)修炼效果
GPT-12018年1.17亿约700本书默默无闻,能力弱,没掀起波澜
GPT-22019年15亿40GB文字(约10倍GPT-1)参数量当年算巨大,但回答问题正确率仅55%,不如其他模型
GPT-32020年1750亿(100倍GPT-2)580GB文字(约3000亿Token,相当于读《哈利波特》30万遍)知识储备惊人,能写代码、回答简单问题,但“不受控”(比如问问题,它会反问你)

4. 第一阶段的“瓶颈”:有内功,不会用

GPT-3的问题很典型:它从网络上学了海量知识(像练了深厚内功),但不知道怎么用这些知识——你问它“什么是机器学习?”,它可能答非所问,甚至自己生成新问题;你不设计特殊的Prompt模板(比如加“NS:”强制它出答案),它根本不会好好配合。

为什么会这样?
因为我们从来没教它“要回答人类的问题”——它学的只是“文字接龙”,网络上有大量“问题+选项”“问题+反问”的内容,它误把这些当成了“正确的接龙方式”。

要突破这个瓶颈,就需要进入第二阶段修炼:人类指导——让模型知道“人类需要什么”,把内功转化为真正的能力。

四、补充:训练资料的“合规性争议”

最后必须提一个现实问题:网络资料不是“想爬就能爬”。2023年底,《纽约时报》起诉OpenAI和微软,认为他们未经授权就用付费新闻训练模型——这涉及版权、数据隐私等法律问题。

目前行业现状是:多数团队仍采用“尽可能爬取公开资料”的策略,但越来越多机构开始重视授权(比如台湾“科技部台德计划”要求每笔资料都有授权)。这是未来语言模型训练必须面对的挑战,大家做研究时也要注意数据合规。

更多推荐