当前位置:   article > 正文

想了解Prompt 技术?看这篇就够了!_prompt技术

prompt技术

最近看了 Meta-Prompt,发现 Prompt 的技术已经发展了几代了。真的要好好梳理一下了。首先是官方有 一个自己的 Prompt engineer , 这个是一定要认真学习的。

https://platform.openai.com/docs/guides/prompt-engineering

官方建议:

  • 写作清晰的指令

    • 要在查询里提供足够的相关信息
    • 要求模型有一个角色
    • 用截止符清晰的区分输入的不同部分
    • 指定不同的步骤来完成任务
    • 提供样例
    • 指定的输出长度
  • 提供参考资料

    • 指导模型用参考资料回答问题
    • 指导模型用参考资料的条件回答问题
  • 分割复杂任务到简单子任务

    • 在查询里用意图来分类相关的指令
    • 如果对话太长,就总结或者过滤一下以前的对话
    • 分段总结长文本,并通过递归得到结果
  • 让模型有时间去“思考”

    • 指导模型得到一个解决方案,优先于得到个结果。
    • 通过内部或者一系列的查询来隐藏模型的推理过程
    • 重新问一下,如果它忘记了之前的事
  • 使用外部工具

    • 通过嵌入查询得到更有效的知识获取
    • 通过执行外部 API 的代码得到更精确的结果
    • 让这个模型访问 特定的功能
  • 系统的测试变化 -通过金标准来评估输出的结果

举些例子吧:

坏的:怎么在 Excel 中加和数字。
好的:怎么在 Excel 中做一行数字的和的自动加法,所有的和的结果都自动显示在 S 列。

指定角色(通常要用 API)

系统Prompt:当我请求帮助写一些东西时,你会回复一份文档,其中每个段落至少包含一个笑话或有趣的评论。
用户Prompt:给我的文具供应商写一封感谢信,感谢他们在短时间内准时交货。这使我们能够交付一份重要的订单。

指定例子

系统:以一致的风格回答。
用户:教我耐心。
助手:河流冲刷出最深的山谷,发源于温和的泉水;最伟大的交响乐源自一个音符;最复杂的挂毯都是从一根单独的线开始的。
用户:教我有关海洋的知识。

真的 Prompt 技术与研究

前面的是官方的实践指南,但是接下来的可都是真实的论文总结出来有用的技术。

不过所有的技术都会过时!

Zero-Shot-Prompt

从我看到的资料来讲,Zero-Shot-Prompt 技术大概发展是这样的

  • CoT:Chain of Thought Prompting
  • Tree of Thoughts Prompt
  • Graph Prompt
  • Meta-Prompt
Chain of Thought Prompting

这个东西的定义很好玩儿,通过 CoT的 Prompt 来指导 LLM 通过有逻辑的,一步步的推理过程来完成复杂任务。

但是怎么搞呢?想办法让模型输出一系列的步骤或者思考结点,再最后得出结论的输出。

参考:Chain-of-Thought Prompting Elicits Reasoning in Large Language Models(https://arxiv.org/abs/2201.11903)

怎么完成这样的 Prompt 呢?通常是在你的 Prompt 前面加上下面的这样一句话:Let’s think step by step./让我们一步步思考!

图片

Tree of Thoughts Prompting

参考:Tree of Thoughts: Deliberate Problem Solving with Large Language Models(https://arxiv.org/abs/2305.10601)

这个图表达的特别好:可以简单的认为:如果一个复杂的问题,可以分解成多步,而每一步都有多个选择,那把它们都列出来,在每个步骤里选择最好的就是 ToT 的核心思想!

图片

但是要使用 ToT,可能麻烦一些,它要把每一个中间步骤都存下来,用于接下一来的分析 ,所以是要会一些写代码的技巧的。

GitHub - princeton-nlp/tree-of-thought-llm: [NeurIPS 2023] Tree of Thoughts: Deliberate Problem Solving with Large Language Models。(https://github.com/princeton-nlp/tree-of-thought-llm)

Graph Prompt

参考:GraphPrompt: Unifying Pre-Training and Downstream Tasks for Graph Neural Networks (https://arxiv.org/abs/2302.08043)

在神经网络中,Graph 一直是一类比较特殊的存在,因为它们在真实世界中广泛存在,但是以神经网络的处理中又永远不是一份规范数据。所以怎么处理它就要一直用 Graph 来解释、处理它,甚至于简单的 Prompt 也不得不发展出了 Graph Prompt 这样一个概念。

但是你说它真的日常中能用吗?有点麻烦,通常是要定义好 点、边的关系,再搞 Prompt 。大部分都不会用,不过你有兴趣,可以看看代码 :

GitHub - Starlien95/GraphPrompt: GraphPrompt: Unifying Pre-Training and Downstream Tasks for Graph Neural Networks。(https://github.com/Starlien95/GraphPrompt)

图片

Meta Prompt

参考:https://zhuanlan.zhihu.com/p/680981189 &Meta-Prompting: Enhancing Language Models with Task-Agnostic Scaffolding(https://arxiv.org/abs/2401.12954)

这是一个导入了 Agent 概念的 Prompt 技术。

论文中举的例子如下:

首先设置一个系统级的 Meta-Prompt 再输入正常的 Prompt 会输出 一个 Prompt 的交互结果,这个结果做为 Prompt 输入到 LLM 中 基于这个Prompt 的结果再次检查 Meta-Prompt 会输出检查对应的 Prompt,这个结果结果做为 Prompt 输入到 LLM 中 基于这个 Prompt 的结果再次检查,得到最终的输出

图片流程上就是 系统级的 Meta-Prompt,

  • 输入 Prompt,得到一个校准过的 Prompt,得到输出
  • 输入确认 Prompt,得到一个校准过的 Prompt,得到输出
  • 输入最终确认 Prompt,得到输出

实际上在我看来这样的结果就是像最早说的,构建两级专家,一级专家用于校准特定领域专家,然后对输出做了两次校准后得到最后的结果。

Few-Shot-Prompt

这个与 Zero-Shot-Prompt 不同的就是你要在你的 Prompt 里提供几个示例,这样能更容易得到与示例类似的结果。

通常 Few-Shot-Prompt 会得到更好的结果,因为很简单,照猫画虎肯定是能得到一个类似的东西的。你提供了什么,一定能得到自己想要的什么。

图片

这个是一个典型的 Few-Shot-Prompt 的方法

  • Self-consistency with CoT (CoT-SC)
  • Generated Knowledge Prompting for Commonsense Reasoning
Self-consistency with CoT (CoT-SC)

这是完全在 CoT 上面发展出来的技巧,但是更好用一些。

Self-Consistency Improves Chain of Thought Reasoning in Language Models(https://arxiv.org/abs/2203.11171)

设我们有一个简单的数学问题:一个农场有鸡和兔子,总共有35个头和94只脚,问鸡和兔子各有多少只?

使用"Chain of Thought"方法,我们可以这样推理:

  • **问题分解:**首先,我们知道每只鸡有2只脚,每只兔子有4只脚。
  • **建立方程:**设鸡的数量为C,兔子的数量为R,则有C + R = 35(头的总数)和2C + 4R = 94(脚的总数)。
  • **求解方程:**我们可以从第一个方程中解出C = 35 - R,然后将其代入第二个方程中,求得R的值,再求得C的值。

在这个过程中,"Self-consistency"确保了我们在每一步的逻辑推理都是基于前一步的结果,并且所有的假设(如每只鸡有2只脚,每只兔子有4只脚)都是一致的。

所以它是分成三部分的:

(1) 使用 (CoT) prompt;

(2) 把一次生成的结果,用 CoT生成多个可以多个不同的路径。

(3) 合并一致性最好的路径,得到结果。

Generated Knowledge Prompting for Commonsense Reasoning

参考:Self-Consistency Improves Chain of Thought Reasoning in Language Models(https://arxiv.org/pdf/2110.08387)

这个方法也是,通过几个示例,让推理更有事实依据。

图片

好像可以用这个例子解释一下:

“考虑到冬天的低温环境,描述呼出气体时会发生什么。基于你对前面的气体的解释,请解释为什么在冬天人们会看到他们的呼吸在空气中变成白色。”

总结

如果用现在的最好的 LLM 的原理解释,信息压缩来看,Prompt 有两方面的作用。一:圈定高维信息的空间范围,你能用的最好的圈定方式就决定了你获得的信息有多精确,或者多具有想象力。二:圈定了高维信息到低维空间的表达能力,你指定的道路越准确,它表达得越好。

如何学习AI大模型?

作为一名热心肠的互联网老兵,我决定把宝贵的AI知识分享给大家。 至于能学习到多少就看你的学习毅力和能力了 。我已将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

一、全套AGI大模型学习路线

AI大模型时代的学习之旅:从基础到前沿,掌握人工智能的核心技能!

img

二、640套AI大模型报告合集

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。

img

三、AI大模型经典PDF籍

随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。

img

四、AI大模型商业化落地方案

img

作为普通人,入局大模型时代需要持续学习和实践,不断提高自己的技能和认知水平,同时也需要有责任感和伦理意识,为人工智能的健康发展贡献力量。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/木道寻08/article/detail/921052
推荐阅读
相关标签
  

闽ICP备14008679号