
公用大模型这么强了你们怎么还在训自己的模型这句话从2023年开始我就反复听到。一开始我还认真解释后来发现光靠解释没用得把账算清楚。说白了就是三个问题公用模型强在哪、弱在哪自己训模型到底贵不贵以及数据、效果、成本这三件事之间怎么取舍。这篇文章没有高深的理论就是我自己在实际项目里摸索出来的判断框架和实操经验适合正在犹豫要不要训练自有大模型的技术负责人、算法工程师以及想搞明白这件事成本结构的决策者。我最早接触企业级大模型落地是在2023年下半年那时候大家普遍迷信API调用觉得OpenAI或者Claude的模型能力远超开源模型自己训练纯属浪费钱。但到了2024年之后情况开始起变化开源基座模型的能力追上来了企业内部需求也越来越具体很多团队发现“用一个通用模型处理所有业务”这条路根本走不通。公用大模型确实越来越强但企业训练自有大模型的动力也在同步增长这个看似矛盾的现象背后其实是两套完全不同的价值体系。1. 公用大模型的能力上限在哪里一个必须认清的现实1.1 通用能力很强但“见过世面”不等于“了解你家的事”公用大模型在训练时吃掉了互联网上海量的公开文本所以它博闻强识写代码、做翻译、逻辑推理都是一把好手。但这里有个容易被忽视的前提它看到的所有数据都是“公共的”。你企业内部的客服工单、售后记录、设备日志、研发文档、合同模板、产品手册它一条都没见过。这意味着什么意味着它对你的业务只有泛化的理解没有具体的认知。举个例子我曾陪一家电商公司做售后工单的自动分类。用当时的头部公用模型直接跑准确率大概在85%左右看着还行。但这家公司的资深客服能做到95%以上差距不是模型笨而是大量分类规则写在老员工的脑子里某个品类出了某类问题按照公司规定应该归到哪个组什么情况下要升级处理什么情况直接赔券了事。这些东西公共文档里根本没有公用大模型更不可能学到。有人会说那我把这些规则写进提示词不就行了局部可以整体不行。一个稍大一点的企业业务规则可能有上百条而且还在不断更新。你不可能把所有规则一次性塞进上下文就算塞进去了模型也容易顾此失彼。真正的解法是让模型在训练阶段就把这些规则和业务语料内化成自己的“本能”。1.2 知识时效性、“幻觉”与不可控感公用大模型还有一个结构性痛点知识截止时间。不管它多强大它对世界的理解都停留在训练数据被采集的那个时间点。虽然现在的模型普遍支持联网搜索但联网搜到的信息仍然是公开内容企业内部刚刚发生的变化它依然不知道。更麻烦的是“幻觉”。模型在不确定的时候会一本正经地编造答案这是语言模型的概率生成机制决定的不是调一调提示词就能根治的。我遇到过一个真实案例某企业用公用大模型做内部知识库问答员工问“我们当前主推的产品配置是什么”模型一本正经地把两年前已经下线的产品说成主力款理由只是训练数据里那个产品出现的词频更高。这种错误在闲聊场景无伤大雅在合同审核、价格查询、故障处理建议这些场景里一次就可能造成实际损失。你要说提示词工程完全没用那也不客观。把系统提示词写好、把参考资料喂进去确实能大幅降低幻觉概率。但“降低”不等于“消除”更关键的是公用模型的输出风格和行为模式掌握在别人手里你永远不知道下一次服务端更新之后同一个提示词会不会产出完全不同的结果。这种不可控感对生产系统来说是很难接受的。1.3 企业数据的边界能复用“能力”但没法复用“记忆”我经常打一个比方公用大模型是一个能力很强的外来顾问。你每次找它办事它都能凭借自己的通用智力给你一个及格线以上的答案。但它不会记住你上次让它做了什么不会主动适应你们公司内部的术语体系更不会因为跟你合作了一年就变得更懂你的业务。自有大模型完全不同。它是“自己人”训练过程本质上就是让模型记住“我们这家公司是怎么说话、怎么做事、怎么决策的”。一旦这些知识和习惯被固化到模型权重里就不需要每次对话都在提示词里反复交代背景模型天然就能给出符合企业习惯的答案。所以我的判断是公用大模型解决的是一般性问题自有大模型解决的是“你的问题”。通用能力可以复用企业专属记忆无法复用这是企业训练自有模型最根本的动因。2. 运营成本与可控性为什么“租”不一定比“养”便宜2.1 Token成本的账算多了会让人清醒公用API表面上是按量付费看起来门槛很低。但它是一个典型的变动成本模型业务量一旦上来账单就会涨得非常快。我自己见过一家公司2024年用头部API做智能客服每天几十万次调用每次请求平均消耗几千个token一个月的账单超过了6万美元。这个数字当时把他们的CFO吓了一跳因为按照预算这笔钱已经可以租好几张高性能显卡跑一个不错的自有模型了。来算一笔实际的账。假设你有一块48GB显存的GPU用QLoRA方式微调一个13B参数量的模型单轮训练成本包括电费、机器折旧折合下来几百块到上千块人民币。推理阶段这块卡在并发不高的情况下每秒足以处理几十个请求完全支撑一个中小团队内部使用。如果流量再涨就加卡成本几乎是线性增长。而API调用的费用是跟着调用量走的业务高增长时它会成为一笔相当大的开支。相比之下自有模型的成本结构是“固定成本高、边际成本低”。前期要投入硬件和人力但一旦跑起来每一次调用的边际成本非常低。对于用量稳定且持续增长的企业业务自有的经济模型其实是更好的。2.2 并发、限流与第三方依赖风险调用公用API还要面对一个现实问题限流。头部API服务商为了保护自家系统都会对单个账号的并发数做限制。平时看不出来一到业务高峰期排队等待响应的情况就会发生。而你没有任何办法只能等。做技术的人都有体会核心业务流程里最怕的就是不受自己控制的依赖。第三方API一旦抖动你只能干瞪眼。接口升级、限流策略调整、服务端模型替换这些都在服务商手里。对于客服、审核、辅助决策这类一旦中断就影响业务生产的场景这种不确定性是不可接受的。自有部署就没有这个问题。模型权重在自己手里推理服务自己控制想升级就升级想扩容就扩容系统出故障了随时可以回滚。对于需要7x24小时稳定运行的生产系统来说“可控”本身就是价值。2.3 数据合规与私有化部署的硬约束还有一个绕不开的因素是数据合规。金融、医疗、政务、能源这些行业数据出境和数据出域都有严格限制。很多企业的内部数据根本不允许发送到第三方平台哪怕只是用于推理也可能在合规审查阶段就被否决。我在项目里遇到过不止一次这种情况业务方觉得公用API效果不错但数据安全部门一票否决理由就一条——数据不能出域。这种时候公用大模型的功能再强也跟你没关系了。企业只能在自己的私有环境里部署模型训练数据、推理请求全程留在内网才能过合规这关。所以训练自有大模型在很多行业已经不是“要不要”的选择题而是“必须做”的必答题。这不是技术偏好是硬约束倒逼的结果。3. 企业自有大模型的三条主流路径到底选哪条3.1 路径一全参微调适合少数需要深度改造的场景全参微调的意思是把预训练好的基座模型所有参数都放开在你自己准备的业务数据上继续训练。它的好处是模型的适应潜力最大因为所有层级的参数都可以调整理论上能够对模型行为做最深度的改造。但代价也非常明显。参数量越大训练需要的显存和算力就越高。以7B参数量的模型为例全参微调在FP16精度下仅模型权重、梯度和优化器状态就需要上百GB显存还得配合DeepSpeed ZeRO或FSDP这类分布式训练框架至少需要4张以上旗舰级显卡才能跑起来。如果是13B甚至70B模型成本就更夸张了。我一般不建议企业一上来就做全参微调。原因有二第一它对算力和工程能力的要求很高很多团队不具备这个条件第二全参微调容易引发“灾难性遗忘”模型在学会新知识的同时把原有的通用能力忘掉。除非你的业务场景与通用能力差异极大或者你有足够的资源和技术实力去控制训练过程否则这条路不是最优解。3.2 路径二LoRA/QLoRA参数高效微调目前性价比最高的方案LoRALow-Rank Adaptation的核心思路是冻结基座模型的全部参数在注意力层旁边插入一些低秩的可训练矩阵训练时只更新这些参数。它的参数量只占基座模型的很小一部分所以显存占用和计算量大幅下降。我现在带团队做企业项目90%的情况下第一版都是从LoRA或者QLoRA开始。QLoRA在LoRA基础上进一步做了模型权重的4-bit量化可以让显存需求再降一个量级。举个例子一个7B的基座模型用QLoRA微调单张24GB显存的消费级显卡就能跑得动。这一点非常关键因为这意味着一个初创团队不需要昂贵的服务器也能完成模型微调。参数设置上我常用的出发点一般是rank取64alpha取128学习率1e-4到2e-4之间epoch根据数据量灵活调整。这里要说明一下这些参数不是通用的黄金值而是根据任务类型和数据规模调的起点。数据量大的时候rank可以适当加大数据量小时rank要小一些防止过拟合。训练数据不需要海量几百到几千条高质量的指令数据就能看到明显效果。这一点比很多人想象的要友好得多。3.3 路径三继续预训练重资产玩家的选择继续预训练与微调的本质区别在于微调是调整模型的行为继续预训练是注入新的知识。如果你的企业有大量未标注的专业文本比如科研论文、专利文档、法条法规、行业标准这些内容里包含很强的领域知识而且量级达到几个GB甚至几十GB那么继续预训练是值得考虑的。但这条路我不推荐普通团队轻易尝试。它需要的数据清洗、数据配比、去重、防遗忘工作比微调复杂一个量级。而且训练成本不是几块显卡能搞定的一个7B模型的继续预训练至少要数百张GPU并行训练数周这个投入已经超出了绝大多数企业的承受范围。我的建议是除非你的业务本质就是“靠领域模型本身赚钱”否则不如先用LoRA微调把效果做出来等业务验证了、收入确认了再考虑是否值得往继续预训练这个方向投入。4. 训练预算怎么算算力、人力与时间成本的三本账4.1 算力估算一张表解决“我要买几块卡”的问题每次有企业朋友问我训练模型要什么配置我都习惯让他们先做一道简单的算力题。核心变量只有四个模型参数量、训练数据量、GPU类型、目标时间。拿最常见的几种情况做一个粗略估算我列了一张表可以作为预算阶段的参考训练方式模型规模显存需求参考硬件条件适合的企业类型QLoRA微调7B约16-24GB单张消费级/专业级显卡可跑大部分中小团队LoRA微调13B约24-48GB1-2张专业级显卡有基础算力储备的团队全参微调7B约80GB以上4张以上专业级显卡配合分布式训练有算法团队的成熟企业继续预训练7B数百GB集群级别一组GPU服务器数周训练时间以模型为核心业务的机构需要说明的是这个表只是起点估算。实际显存还受序列长度、batch size、梯度累积步数等因素影响。一个经验法则是从头开始做预算时把你估算出来的配置再乘1.5这样训练过程会更从容不至于一开始就被资源卡住。4.2 人力成本真正的大头在数据工程很多团队做预算时只算显卡漏掉了人力成本。实际上在LoRA微调路径下训练本身的算力开销并不大真正耗时耗力的是训练数据的准备。一个最小可运转的项目组我建议至少配三个人一个算法工程师负责训练方案和调参一个数据工程师负责数据清洗、指令构造和评测集建设再加半个运维负责环境搭建和训练监控。数据工程师的工作量经常被低估实际上它往往占整个项目60%以上的时间。为什么数据工程这么重因为大模型训练对数据质量极其敏感。指令数据不是随便找些文本拼起来就行需要设计输入输出格式、做数据去重、过滤低质量内容、处理格式冲突、检查安全合规。这个环节没什么捷径就是细致活。我自己的习惯是数据清洗完成后先随机抽取200到300条人工过一遍确认质量没问题再进入训练流程否则后面调什么都白搭。4.3 时间成本与迭代周期训练不是一次性投入还有一个容易被忽略的成本维度是时间。用LoRA微调一个7B模型单轮训练通常只需要几小时到一天跑通一版方案并不难。但让模型效果稳定、可控并且能随着业务变化持续更新这件事没有止境。我见过不少团队第一版模型效果不错但之后就没有下文了。问题出在缺少评测集和回归机制。业务数据在变用户需求在变模型如果不定期用新数据重新训练、用统一评测集做回归对比效果就会悄悄退化而且你很难察觉。所以我把时间成本拆成两部分第一版跑通通常是两周到一个月包括数据准备、训练和评估后续稳定迭代是按月来算的每个月至少要做一次效果回归必要时重新微调。这笔时间账企业决策者需要心里有数。5. 我自己踩过的坑那些看起来没问题、实则致命的小细节5.1 数据清洗比模型选型更影响最终效果第一要做好的就是数据清洗。我第一次给企业做指令微调的时候图省事直接把客户导出的历史客服对话丢进了训练集。结果模型确实快速学会了客服的回复风格但同时也学会了很多奇怪的表达习惯——包括逗号使用不规范、半截话、模板化客套语。更严重的是数据里有一些敏感信息模型在回答时偶尔会“回忆”起来这属于绝对不能接受的安全事故。后来我总结了一套流程每一步都别省先做行级去重再做内容格式规范化再过滤掉含敏感信息的条目最后做一次人工抽样质检。尤其是人工抽样一定不能省。机器清洗只能处理“看起来不正常”的数据很多语义层面的问题只有人眼看得出来。5.2 过拟合不是“准确率变高了”而是“答案变得机械了”训练过程中的一个常见错觉是训练集loss一直在降就觉得模型越训越好。实际上训练集loss降得太快、验证集效果却停滞甚至变差就是典型的过拟合信号。这在LoRA微调里尤其容易发生因为可训练参数量少模型很容易在有限的训练数据上“背题”。我踩过的坑是epoch设置过大。有一版模型训练到第五个epoch时问它什么它都倾向于输出训练集里见过的那几种句式表面看“回答更规范了”实际上变成了复读机。后来我把epoch降回两到三个情况立刻改善。建议是训练过程中同时监控训练集和验证集指标发现训练loss下降但验证集指标不涨时果断早停。不要贪训练轮数模型不是越训越好恰到好处才是最好。5.3 评测不能只看“感觉变好了”这个问题在我接手过的项目里反复出现而且最坑的是它很难被内部人发现。算法团队觉得模型回复比基座模型流畅多了业务方也说“差不多能用”但没有一个客观标准来判断“好用”到什么程度。解决方法是建立评测集和量化指标。我会从真实业务问题里抽至少100条覆盖高频场景、边界场景和困难场景提前定义好每条问题的标准答案或评判标准。每次微调之后拿来在评测集上跑一遍记录几个核心指标回答正确率、格式合规率、拒答率、响应延迟。模型迭代与否靠数据说话不靠感觉。我特意提这一点是因为太容易踩了评测集本身也要持续更新。如果长期不换模型可能慢慢“记住”评测集的答案评测分数虚高实际业务场景效果却一般。每隔两三个月补充一些新题把老题移除一部分保证评测集始终保持新鲜。5.4 部署环节量化、并发与上下文长度的平衡最后一公里是部署。训练再好的模型如果上线之后请求一多就卡死前面的工作等于白做。我自己在实际部署中最关注三个变量模型量化程度、并发请求数、上下文长度。推理阶段很多人一上来就追求极致量化把模型从FP16压到INT4显存确实省了不少但效果也可能出现肉眼可见的劣化。我建议第一版先以FP16或者INT8跑通整个链路确认效果没问题、服务稳定之后再根据显存余量逐步尝试更激进的量化。别一上来就挑战极限稳定压倒一切。并发处理上我推荐vLLM这类推理加速框架。它能通过高效的显存管理大幅提升吞吐在相同显存条件下支撑的并发数比朴素方案高不少。但并发也不是无限叠加的每个请求占用的显存与上下文长度直接相关。长上下文任务会显著吃掉显存所以在设计服务时要对最大上下文长度做限制并估算好显存上限。我一般用“权重显存最大并发数×平均上下文显存占用”来估算总显存需求留出10%-20%冗余再上线。部署这块的经验是不要追求单点性能极致而是追求整个链路的可维护性。能平稳跑上一个月不出问题的系统比跑分高但随时可能崩的系统有价值得多。回到最初那个问题公用大模型那么强企业为什么还要训练自有模型我的答案很简单——公用模型的能力是“别人的能力”自有模型才真正变成“你的资产”。如果只是内部尝鲜、低频率试用直接用公用API完全没问题。可一旦要把大模型嵌进核心业务流程让它处理真实业务数据、承担真实业务责任那数据和权重的主动权一定要拿回自己手里。说到底这不是技术路线之争而是企业对自己核心资产的一种判断。我自己做项目的体会是先别急着追问“要不要训练”先问清楚“这个模型未来会不会成为业务的关键依赖”。如果答案是会那越早开始训练自有模型越划算。