自然语言处理:第四十章 如何与大模型交流-Prompt工程

文章链接:Principled Instructions Are All You Need for Questioning LLaMA-1/2, GPT-3.5/4

主页: VILA-Lab/ATLAS: A principled instruction benchmark on formulating effective queries and prompts for large language models (LLMs). Our paper: https://arxiv.org/abs/2312.16171 (github.com)

数据: raw.githubusercontent.com/VILA-Lab/ATLAS/main/data/general_dataset.json



写在前面: 笔者更新不易,希望走过路过点个关注和赞,笔芯!!!

写在前面: 笔者更新不易,希望走过路过点个关注和赞,笔芯!!!
写在前面: 笔者更新不易,希望走过路过点个关注和赞,笔芯!!!


摘要

本文介绍了一套由26条指导原则构成的框架,旨在简化向大型语言模型(LLMs)提问和提示的过程。这些原则旨在帮助用户更好地理解如何针对不同规模的LLM设计问题,评估它们的能力,并提升用户对不同模型在接收不同提示时行为的理解。研究团队在LLaMA-1/2和GPT-3.5/4等模型上进行了广泛实验,验证了这些原则在指导指令和提示设计上的有效性。该工作为大型语言模型提示研究者提供了一个更全面的指南,并通过开源项目页面(https://github.com/VILA-Lab/ATLAS)分享了相关资源。



背景介绍

随着ChatGPT等大型语言模型在问答、数学推理、代码生成等多个领域展现出惊人的能力,如何有效与这些模型互动,特别是如何设计最优的指令或提示,成为了广大用户和开发者面临的一个挑战。直接对模型进行微调以适应特定任务往往不切实际或效率低下,因此,研究界开始聚焦于优化提示技术,即“提示工程”。这项技术涉及精心构建特定任务的指令,以引导模型产生期望的输出。本文旨在揭开这一过程的神秘面纱,帮助用户和开发者更好地与LLMs沟通,通过优化提示来提高预训练模型的响应质量。



26条原则

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

作者总结归纳了26条框架,具体如下:

  1. 如果你想要简洁的回答,不用太客气,直接说就行,不用加上“请”、“如果你不介意”、“谢谢”、“我想要”等客套话。
  2. 在提问时说明目标受众,例如,告诉 LLM 你的受众是该领域的专家。
  3. 把复杂的任务分成几个简单的小问题,逐步解决。
  4. 用肯定的语气说“做某事”,避免用否定语气说“不要做某事”。
  5. 当你需要更清楚或深入了解某个话题时,可以这样提问:
    • 用简单的语言解释[具体话题]。
    • 向我解释,就像我 11 岁一样。
    • 向我解释,就像我是[领域]的新手一样。
    • 用简单的英文写[文章/文本/段落],就像你在向 5 岁的小孩解释。
  6. 加上“如果有更好的解决方案,我会奖励 xxx”。
  7. 用具体的例子来提问(即使用几个示例来引导)。
  8. 在你的提问前写上“###指示###”,如果相关的话,再加上“###示例###”或“###问题###”,然后再写你的内容。用空行分隔指示、示例、问题、背景和输入数据。
  9. 使用“你的任务是”和“你必须”这样的短语。
  10. 使用“你将受到惩罚”这样的短语。
  11. 使用“像人一样自然地回答问题”这样的短语。
  12. 用引导词,比如“一步步来思考”。
  13. 在提问中加上“确保你的回答没有偏见,避免刻板印象”。
  14. 让 LLM 向你提问,直到它有足够的信息来回答你。例如,“从现在起,请你问我问题,直到你有足够的信息……”。
  15. 如果你想测试对某个话题的理解,可以这样说:“教我[定理/话题/规则],最后加个测试,等我回答后告诉我是否正确,但不要提前给答案。”
  16. 给 LLM 指定一个角色。
  17. 使用分隔符。
  18. 在提问中多次重复某个特定的词或短语。
  19. 将链式思维(CoT)和少量示例的提示结合使用。
  20. 使用输出引导语,在你的提问结尾加上预期回答的开头部分。
  21. 想写详细的文章、段落或文本时,可以这样说:“请为我写一篇详细的[文章/段落],内容涉及[话题],并加入所有必要的信息。”
  22. 如果你要修改特定文本但不改变风格,可以这样说:“请修改用户发送的每个段落,只需改进语法和词汇,使其听起来自然,但保持原有的写作风格,确保正式的段落仍然正式。”
  23. 当你有复杂的代码提示需要分成不同文件时,可以这样说:“从现在起,每当你生成跨多个文件的代码时,生成一个[编程语言]脚本,以自动创建指定的文件或修改现有文件以插入生成的代码。”然后提问。
  24. 当你想用特定的词、短语或句子来开始或继续一段文字时,可以使用以下提示:“我提供给你开头部分[歌词/故事/段落/文章…]: [插入歌词/词语/句子]。请根据提供的词语完成它,并保持一致的流畅性。”
  25. 明确指出模型必须遵循的要求,以关键词、规则、提示或指令的形式。
  26. 想写与提供的样本相似的文本时,可以这样说:“请根据提供的段落[/标题/文本/文章/答案]使用相同的语言。


实验结果与结论

在不同尺寸的模型

质量提升 :小型(7B)、中型(13B)和大型 LLMs(70B 以及 GPT-4.5/4) 的回答质量都显著提高。其中套路 2、5、15、16、25 和 26,对大型模型的提升效果最明显。而套路 14,在所有尺寸的模型中,都获得了显著的提升:

  • 让 LLM 向你提问,直到它有足够的信息来回答你。例如,“从现在起,请你问我问题,直到你有足够的信息……”。

在这里插入图片描述

准确提升 :不同规模的模型应用这些套路后,平均准确率在20%到40%之间。小型和中型模型的准确率在10%到40%之间,而大型模型的准确率超过40%。在相对准确性方面,各模型的性能平均提高了10%以上,大型模型的提升甚至超过20%。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传




总结与展望

本文通过一套细致入微的指导原则,为大型语言模型的提示设计提供了一种系统化的方法。这些原则覆盖了从简洁明了的指令到引导模型进行多步骤推理的策略,再到避免偏见和提升用户参与度的各种方面。研究不仅揭示了有效提示设计的关键要素,还展示了通过优化提示,即便是未经专门微调的大型语言模型也能在多种任务上展现更佳性能。作者希望这一工作能为从事大型语言模型提示研究的人员提供一个实用的指南,促进未来模型交互方式的创新和优化。通过开源项目,研究团队进一步鼓励社区参与到这一重要领域中来,共同探索如何更好地利用大型语言模型的潜力。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/864571.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Redis 7.x 系列【13】数据类型之地理位置(Geospatial)

有道无术,术尚可求,有术无道,止于术。 本系列Redis 版本 7.2.5 源码地址:https://gitee.com/pearl-organization/study-redis-demo 文章目录 1. 概述2. 常用命令2.1 GEOADD2.2 GEODIST2.3 GEORADIUS2.4 GEOPOS2.5 GEORADIUSBYMEM…

半导体工艺的完美搭档 —— PEEK晶片夹

PEEK(聚醚醚酮 Polyetheretherketone)是一种高性能的工程塑料,以其耐高温、耐磨性、尺寸稳定性、低释气性和低吸湿性等特性,在电子半导体、光伏及液晶光电工业中得到广泛应用。 PEEK晶片夹作为其中的一种应用,具有以下…

液压件工厂的MES解决方案:智能生产,高效未来

一、引言 虽然我国液压件行业发展迅速,但是大多数液压件生产企业规模小、自主创新能力不足,大部分液压产品处于价值链中低端。且由于技术、工艺、设备及管理等多方面的限制,高端液压件产品研发生产水平不足,无法形成有效的供给&a…

如何在工作中应用六西格玛绿带培训所学的知识和技能?

近年来,六西格玛作为一种被广泛认可的质量管理工具,为企业提供了一种系统的、数据驱动的方法来优化流程、提高产品质量并减少成本。然而,仅仅接受培训是不够的,如何在工作中有效应用六西格玛绿带培训所学的知识和技能,…

录屏软件哪个好用?分享5款(2024最新)

随着网络时代的发展,电脑的使用频率也越来越高,还有近些年出现的网课、直播等,这让电脑的录屏功能显得更重要。随之而来的录屏软件也越来越多样化,选择一款好的软件是录屏至关重要的环节。 在数字浪潮汹涌的时代,录屏…

前端利用vue如何实现导入和导出功能.md

1. 前端利用vue如何实现导入和到处功能 1.1. 导入功能&#xff08;以导入Excel文件为例&#xff09; 1.1.1. 实现步骤: 1.1.1.1. 安装依赖: 首先&#xff0c;你需要安装处理Excel文件的库&#xff0c;如xlsx。1.1.1.2. 创建上传组件: 使用Element UI的<el-upload>组件或其…

绘唐3一键追爆款文刻创作聚星文社

聚星文社是一个中国的文学社交平台&#xff0c;提供了一个让作家和读者相互交流和分享作品的平台。 在聚星文社&#xff0c;作家可以在平台上发布自己的作品&#xff0c;获得读者的阅读和评论&#xff0c;同时也可以与其他作家进行交流与学习。 点击下载即可 读者可以在平台上…

一、安全完善度等级SIL(Safety Integrity Level)介绍

目录 一、背景 二、定义 2.1 相关概念介绍如下&#xff1a; 2.2 扩展 2.3 注意事项 一、背景 在轨道交通行业中&#xff0c;安全完善度等级&#xff08;SIL&#xff0c;Safety Integrity Level&#xff09;是一个至关重要的概念&#xff0c;它用于评估安全相关系统&#x…

Linux基础IO操作详解

C文件IO相关接口 fopen函数 pathname: 要打开的文件名字符串mode: 访问文件的模式 模式描述含义“r”读文件不存在失败返回null“r”读写文件不存在打开失败返回null&#xff0c;文件存在则从头开始覆盖现有的数据&#xff08;不会清空数据&#xff09;“w”写文件不存在创建…

马斯克公布xAI Grok-2大语言模型将于8月推出;GPT-5仍需时日

&#x1f989; AI新闻 &#x1f680; 马斯克公布xAI Grok-2大语言模型将于8月推出 摘要&#xff1a;7月1日&#xff0c;马斯克在X平台宣布&#xff0c;其人工智能初创公司xAI的新大语言模型Grok-2将于8月推出。此前&#xff0c;xAI已发布了Grok-1.5和Grok-1.5 Vision模型。马…

运营商如何通过PCDN技术提高用户服务?

着互联网的快速发展&#xff0c;用户对网络速度和质量的要求越来越高。为了满足这些需求&#xff0c;内容分发网络(CDN)成为了关键的基础设施。而在CDN技术中&#xff0c;PCDN(PersonalCDN)作为一种新兴的技术&#xff0c;为运营商和用户提供了新的解决方案。本文将重点介绍PCD…

Drools开源业务规则引擎(一)- 安装与介绍

文章目录 [toc] Drools开源业务规则引擎&#xff08;一&#xff09;- 安装与介绍0.何为规则引擎1.Drools介绍1.1.依赖模块1.2.规则引擎 2.Drools安装2.1.依赖导入2.2.规则的输入和输出类型输入类型输出类型 2.3.创建规则文件2.4.构建可执行规则库2.5.执行结果&#xff1a; 3.Dr…

自动驾驶---Motion Planning之多段五次多项式

1 前言 在之前的博客系列文章中和读者朋友们聊过Apollo的 Motion Planning方案: 《自动驾驶---Motion Planning之LaneChange》 《自动驾驶---Motion Planning之Path Boundary》 《自动驾驶---Motion Planning之Speed Boundary》 《自动驾驶---Motion Planning之轨迹Path优化》…

8种数据迁移工具

前言 最近有些小伙伴问我&#xff0c;ETL数据迁移工具该用哪些。 ETL(是Extract-Transform-Load的缩写&#xff0c;即数据抽取、转换、装载的过程)&#xff0c;对于企业应用来说&#xff0c;我们经常会遇到各种数据的处理、转换、迁移的场景。 今天特地给大家汇总了一些目前…

【云原生】服务网格(Istio)如何简化微服务通信

&#x1f407;明明跟你说过&#xff1a;个人主页 &#x1f3c5;个人专栏&#xff1a;《未来已来&#xff1a;云原生之旅》&#x1f3c5; &#x1f516;行路有良友&#xff0c;便是天堂&#x1f516; 目录 一、引言 1、微服务架构的兴起 2、Istio&#xff1a;服务网格的佼…

【Python】Python环境搭建教学#保姆级教学#手把手带你安装——内附Python环境搭建安装包(Python、PyCharm(社区版)安装包)

Python环境搭建 导读一、初识Python1.1 Python的由来1.2 Python的用途1.3 Python的优缺点1.4 Python的前景&#xff08;钱景&#xff09; 二、Python环境搭建2.1 运行环境——Python安装2.2 开发环境——PyCharm安装2.3 项目创建2.4 基本配置2.4.1 主题配置2.4.2 背景图设置2.4…

Vue笔记-vue中使用JS创建的函数

主要是公司对前端要求不高&#xff0c;能解决问题就行了&#xff0c;前端不太熟&#xff0c;用js这种处理起来方便&#xff0c;在此记录下。 在src中创建一个api目录&#xff0c;新建custom.js export const getDivHeightByClass (className) > {let divElements docume…

.NET 调用API创建系统服务实现权限维持

01阅读须知 此文所节选自小报童《.NET 内网实战攻防》专栏&#xff0c;主要内容有.NET在各个内网渗透阶段与Windows系统交互的方式和技巧&#xff0c;对内网和后渗透感兴趣的朋友们可以订阅该电子报刊&#xff0c;解锁更多的报刊内容。 02基本介绍 本文内容部分节选自小报童…

FreeRTOS开发五、任务状态切换以及空闲任务回收结束的任务

1、任务状态切换 任务创建的时候就会处于就绪状态ready&#xff0c;然后他马上就能够运行进入Running状态&#xff0c;运行中可以调用vTaskDelay进入阻塞状态&#xff0c;实际就是延时一小段时间&#xff0c;等待唤醒&#xff0c;当延时时间过去后就回到了就绪状态&#xff0…