结构化输出导致44种语言模型答案多样性下降
一项新研究发现,当要求语言模型以JSON格式输出时,它们的答案多样性显著降低。通过对44个模型进行31个开放式问题的测试,发现JSON格式请求使模型趋向于选择相同的答案,而JSON模式的强制执行并未进一步加剧这种趋同。这表明答案的收敛源于模型对JSON格式的响应,而非解码器的约束。
一项由Tapan Parikh进行的研究发现,语言模型在需要以JSON格式输出时,其答案多样性会显著下降。研究团队重复了“One-Word Census”实验,对44个语言模型使用了31个宽答案空间的类别提示,但这次要求模型以JSON格式回复,不强制使用特定模式或约束解码。结果显示,在无约束的“Pick a word”提示下,模式答案的占比从41%上升到64%,不同答案的数量从52减少到36,平均答案选择的熵从1.80比特降至1.58比特。
这种变化是有偏向性的:44个模型中有6个模型个体发生了显著变化,且全部向模式答案靠拢,其中最独特的模型变化最大,而原本就倾向于大众化的模型基本不变。值得注意的是,JSON格式请求并没有完全改变模型的选择偏好,而是强化了已有的模式:在31个类别中,有28个类别的模式答案与普通聊天模式下的相同。
进一步的分析表明,模型的默认答案与输出格式密切相关。在20次重复实验中,JSON格式请求导致53%的模型稳定聊天默认值发生改变,多数转向大众化答案,并且还会引入一些在聊天模式下从未出现的默认值(例如,Claude Fable 5在聊天模式下从不会回答“cerulean”作为颜色,但在JSON格式下100%回答“cerulean”)。
为了探究原因,研究者进行了一系列控制实验,发现答案多样性的压缩与模型训练时使用的格式有关:JSON格式使熵减少0.22比特(p=0.0002),XML格式减少0.19比特(p=0.002),而YAML和CSV格式没有显著效果,甚至一种任意的括号包裹格式还使熵增加了0.13比特(p=0.009)。这表明压缩效应是格式特定的,且与模型的后训练工具使用有关。有趣的是,在解码器端强制使用JSON模式(response_format)并没有进一步压缩多样性(仅减少0.03比特),说明答案收敛主要发生在模型对格式的响应层面,而非解码器的约束。
这项研究揭示了当语言模型用于软件交互时,其输出的多样性会因结构化格式而降低,这可能导致模型在评估时表现出的能力与实际应用中的性能存在差异。