当前位置: 首页 > news >正文

「论文阅读」还在手写Prompt,自动Prompt搜索超越人类水平

每周论文阅读笔记,来自于2023LARGE LANGUAGE MODELS ARE HUMAN-LEVEL PROMPT ENGINEERS
code:https://github.com/keirp/automatic_prompt_engineer

手写prompt确实很费脑筋,但其实本身大语言模型就是一个很好的自动prompt工具,APE文章提出自动prompt工程(Automatic Prompt Engineer),利用语言模型来自动生成样例。

应用场景包括:
1)few-shot learning(in-context learning prompts);
2)zero-shot(chain-of-thought prompts);

方案思想

  • Few-shot: 1)利用语言模型生成候选: 描述任务,输入样本,利用语言模型生成候选。2)利用语言模型对候选评分:以候选作为prompt,输出对应测试case的output,通过label验证。过滤掉得分太低的prompt候选。3)利用语言模型复述:过滤出来的高得分候选,对高得分候选进行改写,然后扩充更多相似的候选。
    image.png

整个算法伪代码:

image.png

细节:

  1. 计算量控制:由于评分阶段计算量很大,会对数据进行切分多段进行分段评估过滤。
  2. 候选生成多样性:改变生成 instructions 的位置,包括最后、中间,以及改写。

Zero-shot: 因为没有样本,相对比较简单,自动的prompt话术是通用的,不会有人类针对特定任务详细的描述(但是可以二者结合),作者将其称为Chain of thought prompts

评估

Few-shot任务上都有所提升:
image.png

Zero-shot上的表现:Chain of thoughts思想,APE的生成结果确实带来了显著提升,即使相比于人类也有明显提升。

image.png

作者还做了定量分析:

不同参数量的模型:可以看到曲线中最大的提升还是来自于模型参数量,对于大模型提升较小。(所以这里怀疑这些工作可能后面随着模型优化意义不大,当然国内大模型情况下还是非常有用的🐶)
不同蒙特卡洛搜索次数下的候选:随着迭代次数越多,同准确率下instructions数量越多,证明了方法有效提升多样性。
image.png

后记:prompt工程分为soft prompts和natural language prompt,ChatGpt后的语言模型基本都是natural language prompt,本文也是后者。

公众号:百川NLP

image

Reference

  • 2023LARGE LANGUAGE MODELS ARE HUMAN-LEVEL PROMPT ENGINEERS
  • https://blog.andrewcantino.com/blog/2021/04/21/prompt-engineering-tips-and-tricks/
  • https://techcrunch.com/2022/07/29/a-startup-is-charging-1-99-for-strings-of-text-to-feed-to-dall-e-2/ • https://news.ycombinator.com/item?id=32943224
  • https://promptomania.com/stable-diffusion-prompt-builder/
  • https://huggingface.co/spaces/Gustavosta/MagicPrompt-Stable-Diffusion

我的博客即将同步至腾讯云开发者社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan?invite_code=3l8bkuotx4aog

http://www.lryc.cn/news/333544.html

相关文章:

  • 安全测试概述和用例设计
  • JavaScript 超详细学习思路
  • LeetCode:1483. 树节点的第 K 个祖先(倍增 Java)
  • ConstraintLayout在复杂布局中,出现卡顿问题解决记录
  • 责任链模式详解+代码案例
  • 如何让Webots支持C#语言开发的控制器
  • 如何将本地仓库放到远程仓库中
  • Jedis-事务
  • 智慧安防监控EasyCVR视频调阅和设备录像回看无法自动播放的原因排查与解决
  • 百元不入耳蓝牙耳机哪个好?必入五款高性价比产品
  • android APP monkey 测试
  • IMBoy缓存系统深度解析:为何选择depcache而非ETS或Redis
  • Twitter Api查询用户粉丝列表
  • 深入理解计算机系统 家庭作业 2.96
  • 主函数if __name__ == ‘__main__‘:
  • 34.Python从入门到精通—Python3 正则表达式检索和替换
  • springboot 反射调用ServiceImpl时报错:java.lang.NullPointerExceptio、,mapper为null【解决方法】
  • 内网安全之域内密码喷洒
  • 何为HTTP状态码?一文清楚基本概念。
  • SV学习笔记(七)
  • Windows SDK(五)按钮静态文本与编辑框控件
  • 基于SSM框架实现的在线心理评测与咨询系统(技术栈 spring+springmvc+mybatis+jsp+jquery+css)
  • GD32F470_ DS18B20温度传感器模块移植
  • 【JAVASE】带你了解instanceof和equals的魅力
  • 【Linux】进程控制详解
  • Mysql 高性能的sql优化方案和建议
  • 鸿蒙实战开发:【实现应用悬浮窗】
  • 应用开发:python解析斗鱼弹幕
  • 【面试经典150 | 动态规划】交错字符串
  • 设计模式(17):中介者模式