大模型怎么训练出来的

模型与算力

面向零基础读者,用一条从原始语料到可用助手的流水线,讲清大模型预训练、监督微调、对齐各自在干什么,以及普通人如何拿这些常识判断模型宣传里的水分。

很多人在新闻里看到「训了几个月、烧了几万张卡」,但真到自己要选模型、评估微调预算时,完全不知道这些阶段分别改动了模型的什么能力——于是只能被排行榜和营销词牵着走。这篇不堆公式,只用一条流水线把预训练、微调、对齐、评测、迭代讲顺,每段都告诉你这个阶段决定了模型的哪一类表现,以及想在站内进一步查数字该去哪个页面。

先看全景:大模型训练是一条五段流水线

把大模型训练想成一条流水线,而不是一个动作,很多困惑就散了。从一堆原始文本到你能用的对话模型,中间至少要过五道工序,每一道动的地方不一样:有的往脑子里塞知识,有的教它怎么接话,有的调它的脾气。混成一个词,后面看宣传、选模型、算成本就会一路错下去。

阶段这一步主要改什么改完之后模型多了什么能力
预训练知识底座认识字词、语法、常识和世界事实
监督微调听话程度知道被问一句该怎么回,愿意按格式作答
对齐偏好回答更符合人的口味、更少踩雷
评测不改模型本身把上面的效果量出来,决定下一步动哪
迭代三者都可能再动用评测结果回头补数据、再训一轮
  • 预训练管「知道什么」,它决定知识的天花板,后面几段很难凭空补上没见过的领域
  • 监督微调管「听不听话」,同样的知识,喂过示范数据之后才会好好回答问题
  • 对齐管「偏好」,不增加知识,主要调整语气、边界和取舍
  • 评测不训练模型,只是打分,但它决定下一轮数据往哪补
  • 迭代是循环,不是第五个独立环节,前四段跑完发现问题就回到数据那一步

判断标准很简单:看到一个模型宣传时,先问它是从零训练、继续预训练,还是只做了微调。这三种说法对应的责任完全不同。从零训练意味着权重、数据配比、分词表都可能是自己的;继续预训练是在别人的底座上加领域知识,比如塞进大量行业文档;只做微调则是在已经会说话的模型上换个语气或补个任务。你要自己动它、换领域、改行为,能不能拿到权重、能不能复现训练,比模型名字重要得多。

从零训练
自己定架构和分词,效果上限高但成本和数据门槛也高
继续预训练
沿用别人底座,只往里面追加领域语料,知识面变窄变深
只做微调
底座不动,只教它回答风格和特定任务,改不了知识底子

所以拿到一个模型,先别急着问它多强,先问它这条流水线你站在哪一截。能拿到权重,你至少能动微调和对齐这两段,领域适配有得谈;只有接口,那就把力气全花在提示词、检索和评测上。想核对各家模型到底开放到什么程度,可以到 站内模型资料库 逐项看它的训练说明和权重开放情况。

预训练:把海量文本压成参数里的语言直觉

把预训练想成一个特别笨但特别有耐心的读书人:面前堆着上千万本书、网页、论坛帖子,他一个字一个字往下读,每读到一个位置就闭眼猜下一个词是什么,猜完睁眼对答案,错了就回来把脑子里那根弦拧一点点。整本书读完,弦被拧了不知道多少次,语言怎么用这件事就慢慢沉进参数里了。

猜下一个词
模型在每个位置输出一个概率分布,正确答案的概率越高越好,训练就是把这个概率往上抬。
拧参数
按误差方向微调内部数值,一次只动一点点,靠海量次数累积出效果。
基座模型
只做完预训练、还没被教怎么对话的那个原始状态。
语言直觉
词怎么搭、句子怎么接、什么说法自然、什么搭配别扭,这些不用查规则就知道。

这一阶段贵和慢,不是算法多神秘,而是量太大。数据要反复扫很多遍,每遍都要把梯度算出来再同步到成千上万张卡上,卡与卡之间的通信经常比计算本身还耗时间;中途一崩,前面的进度可能白跑。所以真正卡住预训练的往往是工程稳定性、数据清洗和集群调度,而不是某个数学公式。

你在意的能力主要靠什么阶段预训练能给它多少
语法是否通顺、搭配是否自然预训练基本靠它,这是预训练的核心产出
常识与知识面广度预训练靠数据覆盖,覆盖不到就真的不知道
多语言、专业术语覆盖预训练取决于语料里有没有这类文本
听不听话、按格式回答后续的指令与对齐阶段预训练几乎不负责这一块
拒绝越界、不乱编后续的对齐与安全训练预训练阶段基本没有这个概念

这就解释了基座模型的两个典型毛病。一是答非所问:你问它问题,它只当你在给它一段文本,接着往下续写,于是它可能把你的问题复述一遍再顺着编。二是不停续写:它学到的唯一任务就是「下一个词」,没有「该停了」这个动作。这两件事都不是坏了,而是它压根没被教过「对话」这个行为。判断标准也很直接:参数量和数据规模主要抬高的是知识面和语言覆盖,不等于听话程度;规模大但没做后续训练的模型,照样可能答非所问。反过来说,如果你要的是稳定遵循格式、按指令干活,光看预训练规模是没用的,得看它后面被怎么调过。

  • 看到「基座」「Base」「预训练」这类字样,先默认它不会好好对话,别拿它直接做客服或问答。
  • 想比不同模型的知识面与语言覆盖,看预训练的数据规模与语言构成,而不是看它聊天顺不顺。
  • 想知道各家在什么规模、什么数据上训练,别抄新闻标题里的说法,到站内模型资料库逐条核对原始口径。
  • 自己要做微调,预训练底子决定它「知道多少」,你的指令数据决定它「听不听话」,两件事分开评估。
  • 遇到答非所问或停不下来,先确认是不是拿到了基座版本,再决定要不要换模型。

监督微调:教它「问一句、答一句」的形式

预训练之后的模型,本质上是一个「续写机器」:你给它一段文字,它就往后接。它并不天然知道「用户问一句、我答一句」这种交互格式。监督微调这一步干的事,就是拿大量成对的「指令 + 理想回答」喂给它,把续写能力引导成对话能力。重点是「形式对齐」,不是「知识注入」。

你真正想要的该走的路为什么
让模型学会按问答格式回话监督微调成对数据反复示范输入输出的对应关系
让模型记住公司内部制度文档检索增强文档会变,微调进权重的知识不好改也不好追溯
调整模型说话的语气和风格监督微调风格属于形式,少量高质量样本就有效果
让模型随时查到最新数据检索增强知识类需求要的是可更新、可引用的来源

常见误解就在这:很多人以为微调是「往模型里灌资料」,于是把一堆 PDF 拼成问答对丢进去,指望它变成企业知识库。结果往往两头不讨好——文档内容没记住多少,模型原本的通用能力还被带偏了。想知道这条分界线怎么划,可以到 /guides/rag-vs-finetune检索增强与微调怎么选 对照着看,那里把判断标准讲得更细。

  • 数据量太少:几百条甚至几十条样本,通常不足以稳定教会一种新形式,反而容易过拟合到样本里的口癖
  • 格式不统一:同一个意图,有的样本答一句话、有的答三段、有的带表情符号,模型学到的「形式」就是混乱的
  • 任务定义模糊:样本里混着闲聊、问答、写作、代码,没有清晰边界,模型会在通用任务上明显退化
  • 覆盖太窄:只教了某一类问题的答法,遇到其他类型的问题,回答质量可能比微调前还差
  1. 先确认目标是不是「形式问题」问自己:我要的是它会按某种格式回话,还是要它知道某条新信息?前者才适合微调,后者优先考虑检索增强。
  2. 用少量样本做对照测试留出一批没参与微调的通用问题,微调前后各跑一遍,看通用能力有没有掉。掉了就说明数据或配比有问题,先别急着扩大规模。
  3. 统一格式再扩数据把指令和答案的写法收敛成同一套模板,包括长度范围和语气。格式不统一时,加数据只会放大混乱。
  4. 把知识类需求挪出去凡是「内容会变」「需要引用来源」「要求逐字准确」的需求,从微调数据里剥离,交给检索增强处理。

对齐:让它更愿意按人的偏好回答

预训练完的模型像个知识很多但不太会聊天的实习生:你问一句,它可能接着往下编,语气也随意。对齐这一步做的事很朴素——同一个问题让它给出几个不同回答,然后人(或一套按人偏好写好的规则)把这些回答排个序,告诉它哪个更好。训练时就让模型更偏爱排在前面的那类回答。反复几轮,它慢慢学会哪种说话方式更讨人喜欢。

关键是理解它改的是什么。对齐调的是风格和倾向:更礼貌、更少输出有害内容、更愿意说「这个我不确定」。它不往模型里塞新知识,也不保证说出来的话是事实。一个对齐做得很好的模型,照样可能一本正经地讲错一件冷门的事,只是讲得客气、有条理。所以别把「回答让人舒服」当成「回答是对的」。

你关心的点对齐能帮上对齐帮不上
说话风格、语气能,明显改善—
有害内容、拒答边界能,倾向更稳—
冷门事实、专业细节—不行,得靠知识本身
数字计算、逻辑—不行,得靠推理能力
承认自己不知道能,更愿意说不代表它真知道边界在哪
  • 任务是严格按固定格式输出,比如必须返回结构化字段:优先看这个模型对齐时有没有被往格式服从方向训过,参数量大不大是次要的。
  • 任务包含明确的拒答要求,比如某些话题必须不接:对齐程度比参数规模更值得看,大模型不一定更守规矩。
  • 任务是在冷门领域查具体事实、偏门术语:对齐基本帮不上忙,得看它知识学得够不够,必要时接外部资料。
  • 任务是要求模型主动说「我不确定」而不是硬编:这块对齐做得好会明显更稳,但也要自己加校验。
人类偏好排序
让模型对同一问题给多个回答,人按喜好排序,训练它更偏爱被选中的那类。
对齐改什么
改的是说话风格与倾向,不改知识量,也不保证事实正确。
对齐改不了什么
冷门知识、复杂推理、精确计算,它都补不上。

评测与迭代:怎么知道训出来能不能用

训练跑完不等于能用。判断一个模型在你手里行不行,顺序很重要:先确认它是个能正常说话的模型,再看它在你自己的任务上表现如何,最后才去参考公开榜单。顺序反了会浪费很多时间,比如拿一个连输出格式都稳不住的模型去对比榜单名次,没有意义。

  1. 第一步:看跑通没跑通用同一段提示词连测十几次,看输出是否稳定、有没有乱码、有没有中途截断或答非所问。如果同一输入每次结果差异极大,或者出现重复刷屏、语言混杂,先别往下测,回去查数据清洗、训练配置或推理参数。
  2. 第二步:用你自己的真实样例测从你实际业务里挑一批典型输入,覆盖常见情况和几个边界情况,人工过一遍输出质量。数量不用多,关键是贴近真实分布。看的是能不能完成你的任务,不是回答得像不像教科书。
  3. 第三步:选看公开榜单公开榜单放在最后,当作补充参考而不是决策依据。要看得懂它测的是什么任务、用什么方式打分、和你关心的能力是否重合。具体怎么读、有哪些坑,到站内测评相关页面核对当时的口径和说明。
  4. 第四步:定一套自己的验收线把上面两步的观察沉淀成几条可复现的验收标准,比如稳定输出、格式合规、关键字段不漏。以后再换模型或调参数,拿同一套样例重跑,比较才有意义。
检查层次看什么发现问题的处理方向
能不能用输出是否稳定、有无乱码、是否截断先查数据与推理配置,别急着比效果
好不好用在你真实样例上是否完成目标任务补样例、调提示词或微调数据
值不值得信公开榜单与你的场景是否重合只作参考,重合度低就别当依据
  • 榜单题目和你的业务分布往往不一样,分数高不代表你的场景好
  • 评测题可能被训练数据覆盖,分数虚高的风险要自己判断
  • 不同榜单打分方式不同,同一个模型换个榜名次可能就变了
  • 榜单通常只给总量分,看不出在你关心的细分能力上强弱
  • 所以别只看一个名次就下结论,要结合自己的样例交叉验证

有一种情况要特别说明:如果你的任务是高度垂直的,比如某个特定行业的单据处理或某种固定格式的抽取,公开评测里的题目可能和你的场景几乎不重合,这时候榜单的参考价值很低。更实际的做法是自己攒一小套测试样例,几十条也行,覆盖你真正会遇到的情况,用它来迭代比追榜单有用得多。反过来,如果你做的就是通用问答类任务,公开评测的重合度会高一些,可以适当参考。

想看清榜单口径再决定怎么参考站内测评页面会讲清各评测测的是什么、怎么读、哪些地方容易失真,比只看一个名次靠谱。

回到实用:用这套流程识破宣传话术

模型介绍页上的说法,大多能归到训练流程的某个阶段。看到「用了多大算力」「多少数据」这类描述,一般说的是预训练阶段,也就是把海量文本喂进去、让模型学会语言规律的那一步;看到「对齐人类偏好」「更懂指令」「更安全」这类描述,通常指后面的对齐阶段,包括指令微调、偏好优化这些动作。把说法归位,你才知道它到底在强调什么、没强调什么。

算力规模、数据量
大概率在讲预训练阶段,说明基础能力的来源和成本构成
对齐人类偏好、指令跟随
大概率在讲后训练与对齐阶段,说明更听话、更符合预期
上下文长度、长文本
可能是预训练时就扩了窗口,也可能是后面单独做的长文适配,得看细节
推理加速、量化版本
属于部署侧的事,跟训练阶段关系不大,别混为一谈

归位之后,有三个问题值得追问。第一,这个模型我能不能拿到权重,还是只能调 API——这决定了你能不能本地部署、能不能微调、数据出不出你的环境。第二,它是在什么基础上继续训的,是從头预训练,还是在某个开源底座上做增量训练或对齐,这直接影响它的能力边界和 license 风险。第三,它擅长的任务和你手上的是不是一类,宣传里说的强项如果跟你场景不搭,再漂亮也白搭。这三个问题不需要你懂训练细节,但能帮你快速排除掉不合适的选项。

宣传说法通常对应的阶段你该追问什么
训练了多少 token / 多少卡预训练数据来源和许可、权重是否开放
对齐人类偏好、指令微调后训练与对齐对齐目标跟我的业务是否冲突
在某底座上继续训练增量训练或领域适配底座是谁、许可怎么算、改了哪些层
推理更快、成本更低部署与推理优化是模型本身还是工程侧优化,能否复现
  • 先把宣传语往上面这张表里对号入座,看它落在哪个阶段,别被笼统的「强大」带跑
  • 到站内模型资料库页面核对基础规格:参数量级、上下文、是否开放权重、许可口径
  • 再看训练相关的规模与成本口径页面,理解这类描述通常怎么定义、边界在哪
  • 最后用你自己的真实样例跑一轮,重点看它在你任务上的稳定性和出错方式,别只看演示
宣传语负责让你心动,阶段归位和自查清单负责让你不踩坑。
下一步把手上候选的模型挨个过一遍上面那张对照表,规格类的口径差异到站内资料库核对当时的说明。

普通人能动手的只有后半段

训练一个大模型,前面那几个阶段——数据清洗、预训练、对齐,基本是大厂和有钱实验室的活。普通人插不上手,也没必要插。真正能动手、能出结果的部分在后半段:拿别人已经训好的权重,用你自己的数据接着改,或者干脆不改权重,靠提示词和外部资料把效果做出来。

路线你要准备什么适合什么情况主要代价
微调现成权重几百到几千条干净样本、一块能跑动的显卡或租用算力任务很固定,输出格式要求严,提示词怎么写都不稳要维护数据集,权重更新后行为可能退化
提示词约束把要求写清楚,给例子,限定输出结构任务还在变,样本很少,想先验证需求上下文一长就吃 token,稳定性受模型本身影响
检索增强一份可检索的资料库、一个能调用的模型接口答案依赖你私有的、会变的文档,模型没见过的内容检索质量决定效果,文档要持续维护

怎么决定走哪条路?看三个维度:数据量、算力、目标任务的稳定性。数据量够不够是指你有没有几百条以上、质量可控的标注样本;算力是指你能不能稳定跑完一次训练并复现;稳定性是指任务定义半年内会不会变。三项里任意一项很弱,就不要考虑重新训练,往提示词和检索方向退。

  1. 先跑提示词基线用现成模型加约束把任务做一遍,记录失败案例,看是理解问题还是知识问题。这一步几乎零成本,却能把后面的方向定下来。
  2. 知识问题走检索如果模型是不知道你的资料而不是不会做,别急着微调。把资料整理成可检索的片段,挂上去再测一遍。
  3. 格式问题才考虑微调模型知道答案但输出格式老不对、语气老不对,这才是有标注样本时微调的典型场景。
  4. 确认权重许可证动手前翻一遍权重许可证,看清能不能改、能不能商用、有没有附加条件,别凭感觉。

还有个常见误区:把「微调」当成「重训」。微调只是在已有权重上继续小步更新,模型的基础能力、知识边界基本还是原来那套;它不是从零训练,也补不上模型压根没学过的知识。想补知识,检索更直接。

  • 任务定义每周都在变,先别训,先做提示词和检索
  • 手里只有几十条样本,不够微调,先攒数据
  • 模型答不出私有文档里的内容,这是知识缺口,走检索
  • 模型知道答案但格式总乱,这才轮到微调
  • 准备商用前,先去站内许可证相关页面确认条款,再决定用哪个权重

常见问题

预训练和微调到底差在哪?

预训练是从零开始、用海量文本让它学会语言和常识,这步最贵;微调是在已有权重上、用较小的高质量数据教它特定格式或特定任务。想加新知识优先考虑检索增强,想改输出风格和格式才考虑微调。

我只有几百条数据,能训练自己的模型吗?

能,但只能做很轻的微调,且必须先划出一部分数据当验证集。数据太少时模型容易死记硬背,在别的输入上表现反而变差。这种情况更稳的做法是先调提示词或做检索增强,确认收益有限再考虑微调。

对齐是不是就等于让模型不说错话?

不是。对齐主要调的是回答风格和倾向,比如更礼貌、更少有害内容,它并不提升事实准确率,也无法保证不编造。真要减少错误,得靠检索、引用来源和人工复核,不要指望对齐阶段解决。

为什么同一个模型名字,不同时候用起来感觉不一样?

可能是别名指向了不同快照,也可能只是采样参数和服务端版本变化。判差别前先固定温度等参数,再用同一批问题各跑一轮记录差异,而不是凭一次对话的印象下结论。

本文依据各平台公开文档与官方公告整理,只做中文归纳;具体做法、参数与限制以官方文档为准。