不是大模型效果不行,是你的 prompt 水平不太行
原标题:某机构:JSON 输出会让 AI 变笨!大佬:是你们太菜了
文章来源:大数据文摘
内容字数:8505字
大模型结构化输出:Prompt设计才是关键
近期,一篇关于大模型结构化输出(如JSON)导致模型“降智”的论文引发热议。然而,一篇名为“Say What You Mean”的博文对此结论提出了强烈的质疑,并通过实验结果有力地反驳了论文的观点。
1. 论文结论与争议
论文“Speak Freely”声称,类似JSON的结构化输出指令会降低大模型的准确率,在某些任务中甚至低于10%。这一结论在学术界引发了广泛的争议。
2. 博文反驳:Prompt设计是关键
博文作者Will Kurt认为,论文实验中最大的问题在于使用了不同的Prompt来测试结构化和非结构化输出,导致实验结果不具有可比性。论文中用于结构化输出的Prompt信息不足,缺乏对JSON结构的明确定义和示例,导致模型无法理解预期输出格式。
3. 改进Prompt:清晰、完整、示例化
Will Kurt对论文中的Prompt进行了改进,使其包含以下关键信息:明确的指令格式、与任务匹配的正确结构示例,以及一个空的“assistant”Prompt来引导模型以期望的结构开始生成输出。他还定义了自己的结构,并使用Pydantic模型限制推理步骤和答案长度,确保Prompt与结构匹配。
4. 实验任务:Last Letter
实验任务为“Last Letter”,要求模型将四个名字的最后一个字母连接起来。论文中该任务的结构化输出准确率低于10%,而非结构化输出准确率约为70%。
5. 重新评估:结构化输出表现优异
Will Kurt使用改进后的Prompt重新进行了实验,结果显示结构化JSON输出的准确率达到了77%,显著高于论文中报告的结果,也高于非结构化输出的准确率。这有力地证明了,并非结构化输出本身导致模型“降智”,而是Prompt设计的问题。
6. 解析器问题:AI解析器并非完美
论文中使用了名为“Perfect Text Parser”(实际上并非完美)的AI解析器来处理非结构化输出。Will Kurt发现,简单的正则表达式足以解析大部分正确输出,并且其效果甚至优于AI解析器。这说明,论文对解析器的依赖过于复杂,也掩盖了结构化输出的优势。
7. 结构化输出的真正意义
博文强调,结构化输出并非仅仅指JSON、YAML等格式,而是指能够方便解析和处理的任何自定义结构。通过定义清晰的结构和编写合适的解析器,可以有效地提高模型的输出质量和效率,避免了对AI解析器的依赖。
8. 结论:结构化输出并非“降智”元凶
最终,博文通过改进Prompt和完善实验设计,证明了结构化输出本身不会降低大模型的性能。相反,在合适的Prompt和解析器下,结构化输出甚至能够提高模型的准确率和效率。因此,论文“Speak Freely”的结论是由于不完善的实验设计和对结构化输出的误解造成的。
联系作者
文章来源:大数据文摘
作者微信:
作者简介:普及数据思维,传播数据文化