别再只把 LLM 当文本接龙了

别再只把 LLM 当文本接龙了

我们太习惯把大模型当成一个条件概率生成器了。给 Prompt,出 Token,完事。这套心智模型够用,但也把我们困住了。

SFT 后模型变刻板?Agent 多轮对话丢上下文?RLHF 奖励信号震荡不收敛?这些问题很少是因为数据不够或算力不足。真正卡住我们的,往往是那些看不见却支配一切的东西——潜在变量。

风格、事实性、推理路径、用户意图……它们无法被直接观测,却决定了模型到底在“想”什么。EM 和变分推断,说白了就是一套从残缺数据里反推并操控这些隐藏结构的语言。学它们不是为了手搓 GMM,而是为了学会在黑盒上开窗,把模糊的对齐目标变成可优化的 Loss,让 Agent 拥有能被调试的内部状态。

一、潜在变量不是数学概念,是 Agent 的内部器官

教科书里说潜在变量是“缺失数据”或“隐类别”。但对做微调和 Agent 的人来说,它更像是模型内部没被标注、却决定输出的压缩表征。

你把所有期望行为都写进 Prompt 或标进数据集,但语言本身就是有损的。“帮我总结一下”可能是快速浏览,也可能是深度分析,还可能是提取行动项。只靠表层文本监督,模型只能学到平均态,结果就是平庸。潜在变量框架的价值,就在于承认数据不完备,允许模型在内部维护一套更高维的状态空间来解释这一切。

在 Agent 里,这套东西有了具体名字。思维链不只是提示技巧,每一步推理都是对当前认知状态的采样,最终答案只是这个隐状态序列的发射。这就是为什么强制固定格式的 CoT 有时会伤性能——你管住了输出形式,却掐断了隐状态的自由演化。

长期记忆也不该是扁平向量库。记忆条目天然有混合结构,一次好的检索是对“记忆簇”的后验估计,不是余弦相似度打分。对齐也一样,人类偏好是多模态、情境依赖的,DPO 之所以比显式奖励模型稳,部分原因就是它把偏好当成了响应级的潜变量,避开了过拟合陷阱。

当然,LLM 里的潜变量是涌现的、非结构化的,不像 GMM 那样预定义好分量。我们用 EM 和 VI,不是要让模型服从某个分布,而是借它们的计算范式来设计自己的模块。这是思路迁移,不是公式套用。

二、别拿 MoE 碰瓷 EM

MoE 和 EM 像在哪?Router 算专家权重,结构上确实像 E 步的软分配。但不像的地方更要命:经典 EM 的 M 步是全局协调更新,MoE 里各专家是自己跑梯度下降,彼此不共享参数。叫它“M 步”纯粹是为了借用交替优化的思路,不是说它跟经典 EM 等价。

而且 MoE 的“E 步”天生就不健康。Top-K 硬截断必然导致分配退化,赢家通吃、专家死亡是常态。救场的是负载均衡损失(LBL),它逼路由器在批次内均匀分 token。但这玩意儿也不是银弹。最近有研究指出,micro-batch 级别的 LBL 会压制专家专业化——路由器被迫在每个短序列里强行平均,跨序列的自然聚类反而被破坏了。所以 LBL 的粒度和强度本身就得细调,不是加上就万事大吉。

知道这些边界后,工程决策才有锚点。数据有多模态、多任务特性且单模型平庸?试试 MoE。训练不稳?别光调学习率,先看路由熵、专家梯度、LBL 是否在微观上扼杀了 specialization。Agent 要维持长程信念?借鉴交替思想:轻量模块评估状态归属,主模型据此更新表征。显式分离比让一个模型扛两件事好调得多。

三、VI 的漂亮公式骗了多少人

ELBO 写在论文里很优雅,落到训练代码里经常是一地鸡毛。后验坍缩就是最典型的坑:编码器退化成无视输入、直出先验。很多人第一反应是调 KL 权重,但坍缩其实是梯度不平衡和信息缺口耦合的结果,KL 只是调控手段之一。解码器容量不匹配、数据方差参数化不合理,都会让 ELBO 涨得好看、下游一塌糊涂。

很多现代方法在形式上和 ELBO 对应,但语义不同。经典 VI 推断隐变量分布 q(z|x),RLHF 的策略网络 π(y|x) 直接建模观测分布。所以别说“特例”,说“形式对应”更准确。DPO 的闭式解确实漂亮,但它依赖 Bradley-Terry 偏好模型——这个假设在标准 VI 里没有对应物。忽略 BT 模型,就会误判 DPO 的行为。

ELBO 涨了不代表事情做对了。永远以业务指标为准,ELBO 只是调试工具。Agent 状态估计若怀疑单模态不够,再考虑混合 VI 或归一化流,用计算换表达力。但在那之前,先确认你的重建项和正则项真的在优化你想优化的东西,而不是在优化一个数学上 convenient 的代理目标。

四、别把透镜当成答案

EM 和 VI 从来不是即插即用的解决方案。它们的价值是给你一副透镜,让你在面对微调停滞、Agent 失控、对齐失效时,能问出对的问题:数据里有没有没建模的混合成分?Loss 是不是无意中锁死了潜空间?优化目标里有没有不可计算的推断步骤?

但透镜本身不是答案。我见过太多人把 ELBO 当 KPI 追,把路由熵当健康指标盯,最后模型指标漂亮、业务一塌糊涂。潜变量是涌现的,硬套参数化假设可能扭曲真相;VI 在大规模训练里常被简化;潜变量质量至今没有通用评估方法。这些都不是待解决的 bug,是这个领域的地基。

下次当你又想往 Loss 里塞一个 KL 项、或者给 Agent 加一层隐状态时,先停一秒问问自己:我是在解决一个真实问题,还是在用一套漂亮的数学语言安慰自己?这个问题没有标准答案,但问出来,你就已经比大多数人都清醒了。