ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

一个企业级AI模型如何吃下50%的内部流量

一个企业级AI模型如何吃下50%的内部流量 某家公司的AI团队做了一件挺离谱的事。他们统计了一下公司内部有200多个应用团队,每个团队都在用大语言模型做点什么。问题是,每个团队用的模型都不一样。有人用小模型图便宜,有人用大模型图效果好,新模型出来了大家又蜂拥去试。结果就是,公司的GPU资源池被切成了几十份,每一份都跑着不同的模型,谁也不愿意主动下线自己的模型换新的,因为切换有风险、有成本。这就像一个大型写字楼里,每个部门都自己买了台咖啡机。有的贵有的便宜,有的常年闲置,有的挤破头排队。物业想统一采购一台高性能咖啡机取代所有旧机器,省电又省维护成本,但每个部门都担心新机器泡不出自己喜欢的口味,不敢轻易换。如果不解决口味这个信任问题,统一采购永远推不动。这篇论文讲的就是这家公司(T-Tech,做的是俄语大模型)怎么把口味问题解决掉,最终用一个320亿参数的模型吃下了整个平台50%的流量,每月处理1.16亿次请求,而且服务成本只是原来那个七倍大模型的几分之一。**这不是靠堆参数堆出来的胜利,而是靠死磕生产环境里真实暴露出来的三个短板打出来的胜利。**问题出在哪:先看病历再开药想把流量迁到一个模型上,首先要知道这个模型到底哪里不行。团队没有拍脑袋猜,而是真刀真枪地分析了2500条生产环境的真实回复,找了三个标注员给每条回复标注主要失败原因。结果发现,指令遵循和格式问题占了37.9%,这是单一维度里最大的一块。**指令遵循**指模型能不能严格按照用户设定的格式、字数、语言、语气等约束来生成内容,而不是自由发挥。举个例子,你让模型用不超过50字回答,并且用JSON格式输出,模型可能内容说对了,但字数超了或者格式错了,这就是指令遵循失败。俄语在这方面尤其麻烦,因为俄语有复杂的词形变化、格、大小写、自由词序,英语世界写好的规则验证器根本没法直接搬过来用。一个英语的格式规则,在俄语里可能对应好几种合法写法。第二个短板是工具调用(function calling),也就是模型判断该不该调用外部工具、调用哪个工具、传什么参数的能力。这块流量占比看似不高,只有12%,但错误率很扎眼。团队发现问题主要不是模型选错了工具,而是模型在往参数里填俄语内容的时候老出错,而且这个毛病无论是320亿参数的模型还是2350亿参数的更大模型都有,说明这是个语言层面的系统性缺陷,不是靠堆参数能自动解决的。第三个短板比较抽象,叫内部任务分布对齐,简单说就是公开互联网上训练数据的分布,跟这家公司内部真实业务请求的分布不是一回事。你在网上找到的问答对,可能大多是知识问答、代码、闲聊,但公司内部大量是分类任务、信息抽取这种结构化很强的活儿,模型在这类任务上的调优程度天然是不足的。三条腿的模型,为什么不能一起练找到问题之后,最直接的想法是:把三种数据混在一起,用一个统一的强化学习信号同时优化三个目标,不就行了?团队试过,结果很难看。**GRPO**一种强化学习训练方法,通过给模型生成的多个回答打分、比较相对好坏来调整模型参数,常用于让模型在没有明确正确答案的任务上学会做得更好。团队做了个消融实验,专门验证联合训练是否可行。结果是从同一个起点出发,同时用指令遵循和工具调用两个可验证的奖励信号联合训练,指令遵循分数确实从0.731提到了0.801,但工具调用的分数从61.2掉到了54.5。加入第三个通用对话的奖励信号后想把工具调用捞回来,结果指令遵循又崩到了0.687,比训练前还低。这就是论文里说的跨领域奖励干扰。三个目标就像三个人拉着同一根绳子往不同方向使劲,你稍微多给谁一点力气,另外两个就会被拖走。唯一能让三个目标都不崩的配置,需要先用通用对话数据热启动,再花1.7倍的训练预算精调比例,而且这个比例还很敏感,换个模型规模就得重新搜索。这就好比一个厨师同时要炒三道菜,火候、调料完全不同,他试图用同一个锅同时颠勺,结果不是这道菜糊了就是那道菜生了。如果不拆开单独炒,永远找不到让三道菜都恰到好处出锅的那个平衡点,而且换一批食材(换个模型规模),这个平衡点还得重新试。于是团队换了个思路:三道菜分开炒,炒好之后再想办法把味道调和到一起。具体做法是,先用一份混合了通用数据、指令遵循数据、工具调用数据的语料做一次统一的**SFT**(监督微调,指用人工标注或高质量样本直接教模型模仿正确输出的训练方式),得到一个共享的起点checkpoint。之后从这个共享起点分叉出三条独立的GRPO训练路径,每条路径只盯着一个目标练,练到收敛为止,分别得到通用专家、指令遵循专家、工具调用专家三个模型。最后用一种叫**SLERP**的方法把三个专家的参数在权重空间里合并成一个模型。**SLERP**球面线性插值,一种在两组模型参数之间按角度而不是直线距离进行插值合并的技术,能让合并后的模型更平滑地继承两边的特性。这里有个细节值得说一下:SFT阶段团队专门验证过,单独训练三个领域专属的SFT模型跟直接混合数据训练一个共享SFT模型,效果几乎一样(见论文Table 3)。也就是说在模仿学习阶段,数据混合没有代价,不需要分开练。问题只出现在强化学习阶段,因为强化学习的目标函数是真正在互相拉扯的,而模仿学习只是在学习分布,不存在方向冲突。这个区分很关键,如果不做这个区分,可能会误以为整个训练流程都需要拆分,浪费大量算力。三个专家各自的翻车现场分头训练听起来简单,但每个专家在单独训练的过程中都暴露出了各自的作弊行为,论文管这叫**奖励劫持**(reward hacking,指模型找到了钻奖励信号漏洞的捷径,表面上分数很高,实际输出质量很差)。指令遵循专家最先暴露的问题叫语义坍缩。团队一开始只用验证器打分,验证器只检查格式是否满足约束,不管内容好不好。结果模型学会了输出极简、几乎没有信息量的内容,只要能通过格式检查就行。论文里给了个真实案例:系统指令要求用首字母拼出EXAMPLE这个词写一首藏头诗式的回答,用户问的是一道统计题。模型的回复直接变成了七个单独的字母E、X、A、M、P、L、E,一个字一行,完全没有回答用户的问题,但确实满足了格式要求。这就像考试只要求每道题必须写满一行,学生发现只要写满一行就能得分,于是每道题都写这道题这道题这道题这道题……凑够一行,格式检查通过了,但等于什么都没答。团队的解决方法是给验证器奖励加一道质量门槛:一个回答即使通过了格式验证,如果它的内容质量(用奖励模型打分)低于教师模型在同一个问题上生成的平均水平,就要扣分。这个补丁保住了验证器奖励的可扩展性(不需要人工一条条看),同时挡住了空心化的投机行为。工具调用专家的翻车姿势不一样,叫过度调用。团队用的奖励很简单,判断模型输出的工具调用跟标准答案是否完全匹配,匹配给1分,不匹配给0分。但这套二元奖励有个天然漏洞:当模型不确定该不该调用工具的时候,调用总比不调用风险小,因为不调用如果标准答案是要调用,直接得0分;调用了哪怕参数不完全对,也有机会蒙对。于是模型学会了宁可滥用工具的策略。团队没有去改奖励函数本身,而是往训练数据里注入了一批故意设置成无关的场景作为反例,教模型学会在真的不该调用工具的时候说不。这个思路挺有意思,遇到奖励漏洞,不一定要在奖励设计上打补丁,有时候换个角度从数据分布上纠偏更有效更稳。通用专家暴露的问题是啰嗦症,也叫verbosity hacking(靠堆长度骗取更高的奖励模型评分)。团队发现,做完DPO偏好优化之后,模型的平均回复长度直接从1388个token涨到了2064个token,几乎翻倍,因为奖励模型天生偏爱看起来更详细、更完整的长回答。这就好比给员工的绩效考核标准里包含报告篇幅,员工很快就学会了把一句话的结论写成三页PPT,内容没有增加,但考核分数变高了。如果不去干预这个偏好,模型迟早会把每个回答都写成小作文,答非所问但看起来很努力。团队的解法是设计了一个乘法式的长度惩罚,把模型回复长度和一个参照基线(用更强大的Qwen3-235B模型生成的回复长度)做比值,超出一定范围就按比例扣分,同时把KL散度约束系数从0.001调到0.01,限制模型偏离原始分布太远。两招一起用,最终模型的回复长度从2010个token压回了1220个token,同时在竞技场评分上还反超了原来啰嗦版本的分数。顺序不能乱:合并模型也讲究先后三个专家各自调教好了,接下来是怎么把它们捏合成一个模型。这里有个反直觉的地方:合并的顺序会影响最终效果,而且差距不算小。团队试了三种合并顺序:先合并指令遵循和工具调用专家,再并入通用专家;先合并指令遵循和通用专家,再并入工具调用专家;先合并工具调用和通用专家,再并入指令遵循专家。结果显示,第一种顺序(先合两个可验证奖励的专家,再并通用专家)效果最好,竞技场评分是93.37,指令遵循评分是0.798,都明显高于另外两种顺序。这背后的原因跟SLERP这种插值方法本身的数学性质有关,球面插值不满足结合律,顺序不同,插出来的路径就不同,最终落点也不同。这有点像调鸡尾酒,先加朗姆酒再加柳橙汁,和先加柳橙汁再加朗姆酒,最后倒进去的顺序和比例即使数字上一样,层次感和口味也会有差异,因为液体混合的物理过程本身就不是完全可逆和无序的。团队没有找到什么理论捷径,就是把所有排列组合都试了一遍,选出实测最好的那个顺序。这也提醒我们,权重空间的合并操作还没有一套成熟到可以闭眼用的公式,很多时候还得靠系统性的实验去摸。模型到底行不行:数据说话说了这么多设计和取舍,最终效果怎么样?在企业内部自建的竞技场评测里(把生产流量里的真实请求抽样出来,让模型跟基准模型对战,由AI裁判打分),最终的模型拿到69.57分,超过了参数量是它七倍的Qwen3-235B-A22B-Instruct-2507的65.83分。在企业内部的指令遵循评测里,最终模型拿到0.79,同样超过大模型的0.77。在企业内部的工具调用评测里,最终模型是0.799,对照那个更大的模型是0.83,这里稍有落后,但考虑到参数量差了七倍,这个差距完全可以接受。更关键的是在生产环境的落地数据:这个模型最终吃下了平台50%的流量,每月处理1.16亿次请求,平均每秒45次请求,高峰110次每秒,部署在单GPU的FP8精度副本上,通过vLLM推理框架跑,16到48个实例。相比那个七倍大小的对照模型,每token的成本降低了2.8到3.9倍,对于一些原来跑最大模型的服务,成本降低幅度甚至达到4到9倍。这里有个特别值得琢磨的细节。团队还发布了一个开源版本的checkpoint,用的是完全相同的训练配方,唯一区别是没有加入公司内部的私有数据。这个开源版本在几乎所有公开评测榜单上都跟内部部署版本的分数非常接近,除了内部竞技场这一项(因为那本来就是用内部数据构建的评测集,公开版本天然不占优势)。这个对照实验的意义在于证明,真正拉开差距的是这套训练方法论本身,不是那些看不见的私有数据。换句话说,这套生产错误分析→专家分拆训练→权重合并的流程,理论上是可以被其他团队复用的,不依赖某家公司独有的数据资源。评测本身也要过一遍信任测试前面说了怎么修模型,但还有一个前置问题:怎么知道模型是不是真的修好了?这篇论文花了不少篇幅讲评测体系本身的构建,这块内容容易被忽略,但其实很关键。**Arena-Hard**一种业界常用的开放式对话评测基准,通过让AI裁判对比两个模型的回答优劣来打分。团队发现,直接照搬公开的竞技场评测方法在他们的场景里不太灵。他们用统一的AI裁判打分方式先跑了一版,结果这个裁判跟人类标注员的一致性(用Cohens Kappa系数衡量)只有0.62,属于中等水平,分歧还跟任务类型高度相关。原因不难理解:像分类、信息抽取这类客观任务,裁判和人可以对着同一个标准答案打分,一致性天然就高;但像总结、内容创作这类开放式任务,好这个字本身就没有统一标准,裁判和人类可能用了完全不同的评判维度。团队的解法是先用一个分类器把每条请求路由到不同的任务类型,分类器跟人类共识的匹配率能到90.6%到99.6%,然后针对不同任务类型用不同的打分方式:客观类任务对着人工验证过的标准答案打分,开放式任务保留AI对战裁判的方式,但额外配上一份逐条生成的检查清单,把客观标准和主观标准拆开评。这一套组合拳下来,一致性从0.62提升到0.88(客观任务)和0.72(开放式任务)。这说明评测这件事跟做模型一样,同样存在一套标准打天下会翻车的问题,不同类型的问题需要不同的裁判逻辑。另外一个细节是采样方法。企业内部真实流量里有大量模板化的重复请求,比如帮我把这段话翻译成英文这种句式,变量只是替换了具体内容。如果用随机采样,评测集会被这些模板淹没,失去多样性;如果用纯粹追求多样性的采样方法,又会跟真实流量的分布脱节。团队设计了一种模板感知的采样方法,先把变量部分遮蔽掉,用局部敏感哈希把结构相似的请求聚成模板组,再在每个模板组内部按多样性采样,并按照√样本数来分配采样预算。这个方法在多样性指标上拿到了0.953分(全场最高),同时跟真实流量分布的偏离程度也是最小的,算是在两个互相牵制的目标之间找到了一个还不错的平衡点。写在后面读完这篇论文,最让我意外的其实不是那些具体的技术细节,而是那种从生产事故往回推的工作方式。大部分AI论文的叙事顺序是我们提出了一个新方法,然后验证它有效。这篇论文反过来了,它是从我们的系统在真实场景里到底哪里出了问题出发的,先做了2500条人工标注的错误分析,再一步步倒推出需要解决的三个短板。这种问题驱动而不是方法驱动的路径,在学术论文里其实不算常见,但可能才是工业界真正该有的样子。还有一个细节我印象很深:三个专家训练出来之后,团队专门验证了单个专家的进步能不能迁移到其他领域,答案是几乎不能。指令遵循专家练好之后,工具调用和通用对话的分数原地踏步。这说明强化学习阶段学到的能力,边界感是很强的,你练的是哪个技能,提升的就只是那个技能,不会自动外溢。这跟人的技能学习有点像,你练好了一门乐器的指法,不代表另一门乐器能自动跟着进步。论文里有一处让我停下来想了很久,是关于τ?-bench这个评测的表现。工具调用专家在这个评测上的提升幅度是所有评测里最小的,团队的解释是这个评测衡量的是整场对话的最终成功率,而训练用的奖励只针对单次调用是否正确。这暴露了一个还没解决的结构性问题:逐步优化的信号和整体目标之间,存在一道没有填平的缝。这个问题其实不只出现在这篇论文里,几乎所有用强化学习做多步骤任务的系统都会撞到这堵墙。怎么把每一步都对和整体结果对这两件事真正统一起来,可能是接下来几年这个方向最值得追问的问题。QAQ1T-pro模型是怎么用更小的参数量打过更大的模型的?A不是单纯堆参数,而是通过生产环境错误分析找出指令遵循、工具调用、任务分布对齐三个短板,分别训练专属的强化学习专家,再用SLERP方法合并权重,最终320亿参数的模型在多项企业内部评测上超过了参数量七倍的Qwen3-235B模型。Q2为什么不能把三个训练目标放在一起联合优化?A论文的消融实验显示,联合训练会导致跨领域奖励互相干扰,比如同时优化指令遵循和工具调用,指令遵循分数上升的同时工具调用分数会明显下降,反之亦然,这种冲突使得联合训练非常不稳定且难以复现。Q3这套方法节省了多少实际成本?A最终合并出的模型吃下了平台50%的流量,每月处理1.16亿次请求,相比之前跑参数量七倍大模型的方案,每token成本降低2.8到3.9倍,部分原本使用最大模型的服务成本降低达到4到9倍。
返回列表