朋友们,想了解为什么同一模型会带来大量结果的不一致性吗?今天,我们来一起深入分析一下来自微软和麻省理工学院的一项重大发现——不同的Prompt格式如何显著影响LLM的输出精度。这些研究结果对于应用Prompt优化设计具有非常重要的应用价值。
本文将详细介绍该研究的工作过程、研究结果及其在实际应用中的价值。整个研究通过源码分析和实验验证,提供了扎实的证据支持这些结论。
研究背景与意义
微软和麻省理工学院(MIT)的研究团队近期发布了一项开创性研究,首次系统性地探讨了提示词格式对大语言模型(LLM)性能的影响。随着大型语言模型的广泛应用,Prompt工程逐渐成为影响模型性能的关键因素之一。然而,业内对Prompt格式在模型性能中的影响却一直缺乏系统性的研究。
微软和麻省理工学院的研究团队意识到这一问题的重要性,决定对Prompt格式如何影响LLM的表现进行深入分析,以解决LLM输出不一致性和性能波动的问题。这项研究颠覆了以往认为提示词格式无关紧要的观点,为Prompt工程实践带来了重要启示。
核心发现
-
格式影响显著:研究发现,仅仅改变提示词的格式,就能导致模型性能产生高达42%的差异。在国际法相关的多项选择题测试中,使用JSON格式比Markdown格式的准确率提升了42%。
-
模型敏感度差异:
-
GPT-3.5系列模型对格式变化特别敏感,性能波动可达40%
-
GPT-4系列表现出更强的鲁棒性,对格式变化的敏感度较低
-
GPT-4 Turbo展现出最强的格式适应能力
图1:不同提示词格式对GPT-3.5-turbo-16k模型性能的影响
这张图展示了在国际法相关的MMLU基准测试中,JSON格式相比Markdown格式带来的显著性能提升。图中清晰地显示了42%的准确率差异,直观地证明了提示词格式选择的重要性。
研究问题与目标
研究团队明确了几个关键问题:
-
不同的Prompt格式是否会显著影响LLM的性能?
-
哪种Prompt格式在不同任务中表现最佳?
-
LLM对于不同Prompt格式的敏感性如何,是否具有普遍性?
通过回答这些问题,研究团队希望为Prompt工程师提供指导,帮助他们选择最优的Prompt格式,以提升模型的性能和稳定性。
实验设计与方法
1. 数据集与任务选择
研究团队使用了多个数据集,涵盖了自然语言理解(NLU)、代码生成(Code Generation)和代码翻译(Code Translation)等任务。主要的数据集包括:
-
MMLU:用于测试模型在不同学科(如STEM、人文、社科等)上的理解能力。
-
HumanEval:用于评估代码生成任务中模型的表现。
-
CODEXGLUE:用于评估代码翻译任务。
这些数据集的选择旨在确保实验结果的广泛适用性,涵盖了自然语言处理和代码任务的不同场景。
2. Prompt格式的设计
研究团队设计了四种不同的Prompt格式:
纯文本(Plain Text)
Markdown
YAML
JSON
每种格式的Prompt内容保持一致,仅在格式和语法上有所区别,以确保实验结果仅反映格式本身对模型性能的影响。Prompt的设计包括五个主要组件:角色设定、任务说明、示例、输出格式指令和用户问题。
3. 实验设置
实验在OpenAI的GPT-3.5和GPT-4模型上进行,使用了Azure OpenAI平台。研究团队选择了多个模型版本,包括“gpt-35-turbo-0613”、“gpt-35-turbo-16k-0613”、“gpt-4-32k-0613”和“gpt-4-1106-preview”,以比较不同模型在Prompt格式上的表现差异。
为确保实验的公平性,所有Prompt在内容上完全相同,唯一的变量是格式的变化。研究团队通过对每个任务的表现进行评分,并使用配对t检验来判断不同格式间的性能差异是否显著。
关键研究结果
1. 模型性能差异
-
GPT-3.5-turbo:
-
在代码翻译任务中,不同格式间的性能差异高达40%
-
JSON格式在多数任务中表现最佳
-
纯文本格式通常表现最差
-
GPT-4:
-
展现出更强的格式适应能力
-
性能波动幅度显著小于GPT-3.5
-
最新的GPT-4-turbo版本表现出最强的格式鲁棒性
图2:不同GPT模型对格式变化的敏感度对比
这张图展示了不同GPT模型在各种任务中的性能表现。从图中可以清楚地看到:
-
GPT-4系列(特别是GPT-4-turbo)展现出更稳定的性能曲线
-
GPT-3.5系列在不同格式下表现差异显著
-
格式选择对模型性能的影响是系统性的,而非随机现象
2. 任务特性影响
研究发现,格式的影响程度与任务类型密切相关:
- 推理任务:
-
结构化格式(如JSON)通常能带来更好的性能
-
格式影响最为显著
- 代码生成:
-
格式选择对性能影响较大
-
不同模型对最优格式的偏好不同
- 翻译任务:
-
格式影响相对较小
-
模型表现较为稳定
图3:使用单侧配对t检验评估模型对Prompt格式的敏感性
表中显示了每个数据集/模型的最佳和最差格式(最大值/最小值)以及p值。除GPT-4-1104-preview在HumanEval任务上的p值外,其他所有p值均低于0.05,证实了Prompt格式对模型性能的广泛影响。
-
图表表明了GPT-3.5和GPT-4在不同Prompt格式下的表现,包括最大值、最小值及p值。
-
表格中的p值反映了统计显著性,用于评估不同Prompt格式对模型性能的影响。
-
GPT-4在HumanEval任务中的p值为0.055,表明差异不显著,其他情况下的p值均低于0.05,证实了Prompt格式对模型性能的广泛影响。
结果分析
1. Prompt格式对模型性能的影响
实验结果表明,不同的Prompt格式对LLM的性能有显著影响。在代码翻译任务中,JSON格式的Prompt相比Markdown格式提高了42%的准确性。这一发现颠覆了以往对Prompt格式无关紧要的假设。
在具体任务中,JSON格式通常表现最佳,尤其是在代码相关任务中表现尤为突出。而Markdown格式的表现则相对较差,特别是在涉及复杂结构化信息的任务中。
2. 模型对Prompt格式的敏感性
实验还发现,较小的模型(如GPT-3.5系列)对Prompt格式的敏感性更高,而较大的模型(如GPT-4)则表现出更好的稳健性。例如,GPT-4在不同Prompt格式下的性能差异较小,这表明更大的模型在处理不同格式时具有更强的鲁棒性。
3. 一致性与传递性分析
研究团队进一步分析了不同Prompt格式对模型输出一致性的影响。通过一致性指标计算,发现GPT-4的输出一致性显著高于GPT-3.5。这意味着在使用不同Prompt格式时,GPT-4生成的答案更为统一和可靠。
此外,团队还评估了Prompt格式在不同模型之间的可传递性。结果表明,同一系列的模型(如GPT-3.5的不同版本)在最佳Prompt格式上具有较高的一致性,而不同系列的模型在最佳格式上则存在显著差异。这提示我们,Prompt工程需要针对具体的模型进行优化,而不能一概而论。这一点也是我在多篇文章中反复强调的,很多研究都突出了这一点。
实验结论
-
Prompt格式显著影响LLM性能:实验结果表明,JSON格式在多个任务中表现出色,特别是在代码生成和翻译任务中,明显优于Markdown格式。
-
模型的规模影响Prompt格式敏感性:较大的模型(如GPT-4)对Prompt格式的敏感性较小,表现更加稳定。
-
Prompt优化需针对具体模型:不同模型对于Prompt格式的最佳选择存在差异,Prompt工程师应根据具体模型和任务需求选择合适的格式。
实际应用建议
1. 针对代码任务优先使用JSON格式
对于需要处理代码的任务,例如代码生成和代码翻译,建议优先使用JSON格式的Prompt。这种格式能够更好地帮助模型理解结构化信息,从而提高任务的准确性和一致性。
2. 在自然语言任务中谨慎选择Prompt格式
对于自然语言处理任务,例如文本生成和问答,虽然JSON格式在多数情况下表现较好,但具体任务的需求可能不同,Prompt工程师应根据任务的复杂性和模型的特点选择合适的格式。
3. 针对不同模型进行Prompt优化
实验结果表明,不同的模型对Prompt格式的敏感性存在差异。因此,Prompt工程师在设计Prompt时应充分考虑所使用的模型类型,并进行相应的格式优化。例如,对于GPT-3.5,应更加注重Prompt格式的选择,而对于GPT-4,则可以在格式选择上更加灵活。
如何学习大模型 AI ?
由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。
但是具体到个人,只能说是:
“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。
这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
第一阶段(10天):初阶应用
该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。
- 大模型 AI 能干什么?
- 大模型是怎样获得「智能」的?
- 用好 AI 的核心心法
- 大模型应用业务架构
- 大模型应用技术架构
- 代码示例:向 GPT-3.5 灌入新知识
- 提示工程的意义和核心思想
- Prompt 典型构成
- 指令调优方法论
- 思维链和思维树
- Prompt 攻击和防范
- …
第二阶段(30天):高阶应用
该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。
- 为什么要做 RAG
- 搭建一个简单的 ChatPDF
- 检索的基础概念
- 什么是向量表示(Embeddings)
- 向量数据库与向量检索
- 基于向量检索的 RAG
- 搭建 RAG 系统的扩展知识
- 混合检索与 RAG-Fusion 简介
- 向量模型本地部署
- …
第三阶段(30天):模型训练
恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。
到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?
- 为什么要做 RAG
- 什么是模型
- 什么是模型训练
- 求解器 & 损失函数简介
- 小实验2:手写一个简单的神经网络并训练它
- 什么是训练/预训练/微调/轻量化微调
- Transformer结构简介
- 轻量化微调
- 实验数据集的构建
- …
第四阶段(20天):商业闭环
对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。
- 硬件选型
- 带你了解全球大模型
- 使用国产大模型服务
- 搭建 OpenAI 代理
- 热身:基于阿里云 PAI 部署 Stable Diffusion
- 在本地计算机运行大模型
- 大模型的私有化部署
- 基于 vLLM 部署大模型
- 案例:如何优雅地在阿里云私有部署开源大模型
- 部署一套开源 LLM 项目
- 内容安全
- 互联网信息服务算法备案
- …
学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。
如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。