论文

当正确不可用时:提高小语言模型中结构化输出的可靠性

When Correct Isn't Usable: Improving Structured Output Reliability in Small Language Models

上下文与知识上下文工程

摘要

部署的语言模型必须生成正确且格式兼容的输出。我们使用两个数学基准(GSM8K 和 MATH)作为受控测试平台来研究这种结构化输出可靠性差距:真值 是明确的,并且输出契约是严格的(带有必填字段的 JSON)。我们在五种提示策略下评估三个 7-9B 模型,并报告输出准确性(数学正确性和有效 JSON 结构的联合事件)作为主要指标。出现了系统格式故障:NAIVE 提示(无系统提示)在 GSM8K 上实现了高达 85% 的任务准确度,但在所有模型和数据集上的输出准确度为 0%。 REFERENCE 提示(最小的手写 JSON 格式提示)效果也好不了多少,测试的四个模型中的两个模型的输出准确度为 0%。受限解码强制执行语法有效性,但会产生 3.6x-8.2x 的延迟开销,并且在某些设置中会大幅降低任务性能。为了克服这个限制,我们开发了 AloLab,一个迭代系统提示优化器(元代理:Claude Sonnet 4.5),只需要对目标模型进行黑盒 API 访问;每个模型在五次独立运行中,它在 GSM8K 上达到 84-87% 的输出准确度,在 MATH 上达到 34-40% 的输出准确度,与最佳静态提示进行 29/30 配对 McNemar 比较,p < 0.05 时显着,推理延迟接近 NAIVE,并且没有模型 微调。同样的格式故障也延伸到了 GPT-4o(OpenAI,2024),这是一种专有的闭源模型:由于系统性的降价围栏包装,REFERENCE 的输出精度达到了 0%,而 AloLab 达到了 95.2% [94.8, 95.6]。用 Claude 3 Haiku 替换 Sonnet 4.5 元代理的消融将平均输出精度降低至 61.0%,并将运行间标准差从 <1 pp 增加到 21.8 pp,证实元代理功能是优化质量的主要驱动力。