大模型怎么训练

模型与算力

给入门读者讲清大模型从预训练到微调的完整链路,把每一步在做什么、耗什么、什么时候可以跳过说透。

很多人搜「大模型怎么训练」,结果看到的要么是三行带过的科普,要么是论文里的术语堆砌,中间那段「到底先干什么后干什么」没人讲。这篇按顺序把预训练、数据准备、微调、对齐、评测串成一条线,每一步说清目的、输入输出和要不要自己动手,顺便给出卡住时的排查顺序。

很多人搜「大模型怎么训练」,翻到的内容要么是三行带过的科普,要么是论文里的术语堆砌,中间那段「到底先干什么后干什么」反而没人讲。这篇按顺序把整条链路串一遍:预训练、数据准备、指令微调、对齐、评测、成本与分工,每一步说清目的、输入输出,以及要不要你自己动手。

先说一个容易踩的预期管理:训练的产物是权重文件,不是「一个能聊天的产品」。上线、接口、并发、限流、计费这些属于部署环节,跟训练是两码事。所以你如果是做应用的,大概率一步都不用碰训练;做垂类落地的,通常只碰中间两三步。

先把整条链路画出来:五个阶段各干什么

预训练
输入是海量原始文本,输出是基座权重,模型学会语言规律和常识
指令微调
输入是「问题-答案」对,输出是能听懂任务指令的模型
对齐
输入是人类偏好或规则反馈,输出是语气、边界更合规矩的模型
评测
输入是固定验证集,输出是「这一轮到底有没有变好」的结论
部署上线
跟训练分开的一整段工作,权重只是原料,不是成品

判断要不要自己动手,看你的位置:只想调接口做应用,整条链路都不碰;做垂类知识问答,一般只碰指令微调那一段;只有当你手里有别人拿不到的语料、并且这个独占性直接决定产品价值时,从零预训练才值得考虑。

预训练:把语言规律压进权重里最贵的一步

预训练做的事本质上是「预测下一个词」:把海量文本切成片段,遮住一部分让模型猜,猜错了调参数,反复千百万次。语法、搭配、常识甚至一部分推理模式,都是在这个过程中自己涌现出来的,没人手工写过规则。

它叫自监督,意思是数据不需要人工打标。所以你花的钱主要落在两块:算力租用和语料清洗,而不是标注人力。这点常被误解,很多人以为训练贵是因为要请人标数据,其实预训练阶段恰恰相反。

算力规模怎么估、大概是什么量级,别凭感觉拍脑袋,到 训练成本测算(/compute/training-cost) 看当时的测算口径和分档方式。什么情况下不适用:如果你的语料规模、领域集中度和基座训练数据的重合度都很高,自建基座带来的边际收益会非常有限。

数据准备:这一步决定后面几层的天花板

预训练语料和微调数据的关注点完全不同。前者看量、去重、语言配比、来源合规;后者看格式统一、答案质量、场景覆盖。拿筛预训练数据的思路去做微调数据,通常会把好样本也一起丢掉。

  • 去重:完全重复和近似重复都要清,重复样本会让模型对某些句式过度自信
  • 去模板噪声:批量生成的字段残留、固定前缀后缀要剥掉,否则模型学会的是套话
  • 剔乱码和过短样本:长度异常短的多数是抓取残渣,留着只会稀释信号
  • 按任务分桶:分类、抽取、改写分开统计,别混在一起看总量
  • 留出验证集:这一步最容易被跳过,也是后面排查问题的关键
  • 检查授权:语料的来源和可用边界,参考 安全与合规(/safety) 里的说明

什么情况下不适用这套清单:如果你只是想让模型稳定输出某种固定格式,几条干净的高质量示例往往就够,堆几千条脏数据反而把格式学乱。这种场景下,数据质量不是天花板,数据一致性才是。

指令微调:让基座从「会续写」变成「会听话」

基座模型只会续写——你给它半句话,它接下去。指令微调用「问题-答案」对把它掰成能接收任务的形式。数据量通常比预训练小好几个数量级,但对样本质量的要求高得多,一条胡说八道的答案比一百条普通样本更有害。

对比项全量微调参数高效微调
改动范围全部权重都被更新只训练一小部分附加参数
显存门槛高,基本跟着模型规模走低,消费级卡也可能跑得动
效果上限任务适配更充分够用,但复杂任务可能压不住
适用场景数据多、任务与基座差异大数据少、想快速试几轮
迭代成本每轮都贵,改不动试错便宜,适合先跑通再决定

判断标准:任务是封闭格式输出、有稳定标注数据时,指令微调值得做;如果知识每天都在变、回答需要引用来源,更适合走检索增强那条路,微调解决不了知识更新问题。显存要多少、配置怎么估,到 微调和托管推理哪家划算(/compute/finetune) 对照当时的数字。

对齐与偏好优化:把「能用」调成「好用、不乱说」

对齐阶段用人类偏好或规则反馈告诉模型哪些回答更好。它主要影响的是语气、拒答边界和安全性,不增加知识量。一个模型对齐做得好,表现是「话说到点上、不该说的不说」,而不是「懂得更多」。

它和指令微调的分工可以这样理解:指令微调管「会不会做」,对齐管「做得合不合规矩」。前者是能力问题,后者是行为问题。两个都做完,才是一个能直接面向用户的产品雏形。

什么情况下可以不做:内部工具、单一场景、输出格式固定的场合,对齐带来的收益可能抵不上标注成本。反过来说,只要输出会直接给到外部用户看,这一步就省不得,省下来的成本后面会以另一种形式还回去。

评测与迭代:怎么判断这一轮训练有没有白跑

  1. 固定验证集把一批业务真实问题存下来,训练前后各跑一遍。不要在训练中途换题,换了就没法比
  2. 看通过率变化不只看单题对错,看整体通过率和多次运行的一致性,波动大的先别下结论
  3. 查数据泄漏确认验证集没有混进训练数据。这是分数虚高最常见的原因,排查顺序上应该排第一
  4. 查格式统一模型答得对但格式不匹配任务模板,一样算失败。这一步经常被误判成能力问题
  5. 最后才动超参数前面的都排干净了再去调学习率、轮数这些,否则调出来的结果不可复现

提醒一句:别只看通用榜单。榜单题目和你自己的任务往往不是一回事,分数涨了业务没变好是常见情况。榜单怎么读不被带偏,到 AI 测评榜单(/benchmarks) 和 AI 产品榜(/ai-rankings) 交叉看,注意它测的是什么、样本多少、怎么打分。

成本结构与分工:谁该动手,谁只要会看

按角色分,做应用的、做垂类微调的、做基座的三拨人,碰到的环节完全不同。别被「训练」一个词吓住,它其实是几段性质完全不同的工作拼起来的,每段的门槛和成本结构都不一样。

成本项什么时候发生容易被低估的原因
算力租用预训练和每轮微调都在花只算了单次,没算迭代轮数
数据清洗人力前期集中投入以为是自动脚本,实际大量人工判断
试错轮次贯穿整个迭代过程每轮都觉得「再调一次就好」
评测与标注每轮迭代后都要跑做预算时常被整段忽略

判断标准:如果微调只是为了让模型记住一批固定问答,先评估检索增强方案再决定,很多时候根本不需要动权重。租卡还是按量调接口的分界线,参考 算力从哪买:租卡、按量还是签合同(/compute/platforms)。

新手最容易走错的四个地方

  • 把「训练」当成一个动作,其实它是好几段不同性质的工作拼起来的,混着谈就会算错预算
  • 一上来就想从零预训练,忽略数据才是真正的瓶颈,算力反而花钱能买到
  • 数据集不分训练和验证,最后指标好看但上线就崩,返工代价比一开始分好大得多
  • 以为微调能解决知识更新问题,实际上知识类需求更该用检索增强
训练不是一次动作,是一条有顺序的流水线;先想清楚自己站在哪一段,再决定要不要动手。
下一步想先确认自己到底该碰哪一段,可以从站内的成本测算和中转站可信度检测入手,把「自建」和「调接口」两条路的花费与风险摆在一起比,再决定要不要动手训练。

常见问题

个人开发者有可能训练大模型吗?

从零预训练基本不现实,算力和数据两头都够不上;但在开源基座上做小规模指令微调或参数高效微调是可行的,前提是你有一批格式干净、场景明确的数据。如果只是想改语气或输出格式,先试提示词,成本低得多。

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

预训练是从无到有地学语言规律,数据量巨大、不用人工标注、成本主要在算力;微调是在已经有能力的权重上补课,数据量小、要人工整理、成本主要在数据质量。前者决定模型的天花板,后者决定它在你的任务上顺不顺手。

训练一个模型一般要多久?

没有统一答案,取决于数据量、模型规模和你租到的卡数。小规模微调几小时到一两天常见,从零预训练是周甚至月级别。真实数字会随硬件和框架变,建议按自己的配置到站内做一次测算,而不是套用别人的经验值。

不做微调行不行,只用提示词或者检索?

很多场景确实可以。任务规则能用文字说清、知识需要频繁更新、又要求回答能溯源时,检索增强往往比微调更合适。只有当你需要固定格式输出、有稳定标注数据、且延迟敏感时,微调的优势才明显。

训练完之后怎么知道效果变好了?

别只看通用榜单分数。准备一批自己业务的真实问题做验证集,训练前后各跑一遍,对比通过率和稳定性。如果分数涨了但业务反馈没变,通常是验证集和真实场景不匹配,或者数据本身有泄漏。

数据从哪里来比较稳妥?

公开语料、自有业务数据、明确授权的外部数据三条路各有边界。自有数据要先脱敏,公开语料要看清许可范围,来源不明的最好别碰。合规要求高的行业建议先过一遍内部审核再进训练流程。

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