Prompt IDE来了…是划时代AI神器还是鸡肋?

af6d85a27e2e471d497a7e036e4a46a0.png

文 | 小戏

在闲极无聊百无聊赖的刷着推特的时候,突然看到了这样一条消息让我手指一停。

f88f716c731f05b6fdae40ff43cc340d.png

眼睛很快捕捉到了关键词,嗯?PromptIDE? 不知道大家看到 Prompt 和 IDE 这两个词组合在一起是一种什么样的感受,我的第一反应可能是“啊?Prompt 开发也要有 IDE 了?”,尽管这一年多来 Prompt 在 NLP 领域几乎占据了绝对的高地,“第四范式”带着大模型高歌猛进,但是当一眼看到 Prompt 与 IDE 的组合时,倒没有感受到那种“终于我等到你,还好我没放弃”的惊喜,反倒是更像是两种相隔甚远的东西突然被组合成了一个新名词的不适应。

a062db3c2e0afb141a45cf3e2f50928d.png

因此,带着好奇,我便点开了这篇站在 Prompt IDE 背后的论文,论文题为《Interactive and Visual Prompt Engineering for Ad-hoc Task Adaptation with Large Language Models》。看到标题,应该可以大致感受到,论文开门见山就把自己的方向定在了信息检索这样一个 NLP 的子领域中。OK,这其实不是一个通用的 IDE,而是需要添加“在信息检索领域中的”这样一个定语才能成立的 IDE。

细分领域先按住不表,阅读摘要,在简单陈述了这一年多大模型 + Prompt 在 NLP 领域辉煌的战绩之后,笔锋一转,“However”,找到良好的 Prompt 模板需要大量实验,不同的 Prompt 变种可能导致正确率的显著差异。也因此,这样的问题呼唤着一个可以做到帮助使用者实验不同的 Prompt 模板,可视化不同 Prompt 模板效果的 IDE 出现。

听着还不错,继续读下去,正文中,为了解构 Prompt 的工作流程,以匹配 Prompt IDE 应该实现的功能,作者将使用者使用 Prompt IDE 的主要流程划分为:

1. M1-Prompt Template:即使用者构建任务描述模板
2. M2-Answer Choices:即使用者构建答案选择模板
3. M3-Evaluation:即IDE评估并展示模板效果

同时,紧接着流程,作者又提出了一个 Prompt IDE 应该实现的四个目标:

1. G1:IDE应该广泛支持不同的信息检索的下游任务
2. G2:更快,更好的写作 Prompt
3. G3:通过量化的指标选择出更好的 Prompt
4. G4:方便的部署模型

根据这四个目标,作者再次细化归纳出了一个 Prompt IDE 应该完成的四项任务

1. Task1:构建并尝试不同的 Prompt 模板[G1,G2]
2. Task2:体现出详细的预测细节[G2,G3]
3. Task3:测试不同 Prompt 的性能[G3]
4. Task4:导出最优的 Prompt[G4]

最终,根据这层层递进的流程目标任务的逻辑推理与排列组合,作者设计出了这款具有四部分功能的 Prompt IDE:

eee443ef3977de811e30cbc9213e77f7.png

从左到右,依次为数据选择([Task1-Task3],[G1-G3])、模板选择([Task1],[G1,G2])、模板精炼([Task1-Task3],[G1,G2])以及模板测试([Task2,Task3],[G2,G3])。

数据选择部分主要用于浏览并选择相关测试数据集,模板选择主要用于探索不同的问题描述与答案选择的模板组合,模板精炼可以针对一个表现效果好的模板选用不同的数据进行微调并最终构建效果最好的模板,而模板测试主要用于展示模板在大规模数据集上的表现

讲了这么多M、G和Task的排列组合,层层递进下对这个 Prompt IDE 还有点心动。于是乎我点开了作者提供的一个示例 Demo,但这一入眼怎么跟论文的图里有一点点区别

a5d2227a2d53dbe4eb450a2314f5ab6b.png

原本四个的功能变成了两个,仔细一看,作者讲这是一个轻量级的模型,于是我点进了他的完整模型

a623271e9403c316a5e959d0fdde3dc1.png

好吧,还是两个。不过这毕竟不重要,点开模板选择的功能,是如下一个页面:

4b785fc5cb3393fe11f3ed648912f0d7.png

在左上侧的 Prompt Template 处,可以自定义不同的问题描述模板,其中{{q1}}处陈列不同的模板变体,内容在右上侧的 Prompt variable variants 处展示,例如,在这个例子中,就有 "Text" 、 "Article" 、 "Read this article" 三种变体。而{{q2}}处展示不同的答案选择模板变体,在该示例中,有 "Possible answers:"、"Chose between A, B, C, or D"两种选择。根据不同的模板样式,自定义的{{q1}}与{{q2}}还可以继续扩展。

而最终 IDE 所测试的 Prompt 模板,是 {{q1}} 与 {{q2}} 处的选择的乘积,例如在这里例子中,供评估的模板就有 2 x 3 一共 6 种。点击这里的 Preview 6 Variants for 20 samples 就可以展示评估结果(放一段官方的GIF)

4225c285e72eb1bea47e1eaaea6c6e92.gif

展示的效果看起来非常不错,但当我打算看看模型精炼的板块时,却发现:

519b8f6f172302b5bfcf8469c3748bfb.png

好的,原来只有一个静态的展示页面,可以对单个模板进行更加深入的测试与微调:

39a8e983a9a315a0511e1ae2204d99c8.png

再往下是一个预先计算好的结果展示的页面,分别展示了正确率、混淆矩阵等信息。

fcb3f28a2164aa96c6d1681b27f5a657.png

然后就,没了?

9c36f2b18f544d98f54f48c373386758.png

是的,Demo 到此戛然而止,论文里逻辑严密叙述清洗的功能阅读下来倒成了论文仅供参考,一切以实物为准。回顾一下这篇论文的大饼,这其实是一篇告诉了我做了一个有四个功能的 Prompt IDE 但 Demo 里只有两个功能因为没法导入数据因此两个功能其实都是静态的展示页面的论文。而深究这个工作的意义,IDE 的功能应当在于好上手与方便使用,至少将复杂的流程简化到易于人类理解的逻辑去操作,这款 IDE 或者在论文里确实做到了良好的分析与可视化,但是对于当下这款 Demo 却只能期待一下它未来的表现

最后,化用论文里反复重复的M、G、Task,也许引用一个家居博主的经典发言,倒挺适合评价这款 Prompt IDE:

1. Tips1:在各种限制条件下才能好用的东西不叫好用
2. Tips2:如果一个东西给你带来的麻烦超过了带给你的方便,那就应该果断舍弃
3. Tips3:以前不需要,以后也不必买
4. Tips4:使人显得不聪明的产品已经太多了,不要再添砖加瓦

论文题目:
Interactive and Visual Prompt Engineering for Ad-hoc Task Adaptation with Large Language Models

论文链接:
https://arxiv.org/pdf/2208.07852.pdf

项目地址
http://promptide.vizhub.ai/

07f795f3246f1485f18e4746d0655350.png卖萌屋作者:小戏

边学语言学边学NLP~

作品推荐

  1. 千呼万唤始出来——GPT-3终于开源!

  2. NLP哪个细分方向最具社会价值?

  3. 吴恩达发起新型竞赛范式!模型固定,只调数据?!

  4. 仅仅因为方法 Too Simple 就被拒稿,合理吗?

  5. 算法工程师的三观测试

152ffa5c6abe8971043e387c16f638e5.jpeg后台回复关键词【入群

加入卖萌屋NLP、CV、搜推广与求职讨论群

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

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

相关文章

程序员面试金典 - 面试题 08.07. 无重复字符串的排列组合(回溯)

1. 题目 无重复字符串的排列组合。编写一种方法,计算某字符串的所有排列组合,字符串每个字符均不相同。 示例1:输入:S "qwe"输出:["qwe", "qew", "wqe", "weq", "ewq&…

(转)初次体验.net Ajax无刷新技术

早就听说Ajax技术了,传说中是一种很牛的东西,号称无刷新,其实是在web上通过javascript,使用异步的xmlhttp请求,实现无刷新的web界面。可惜一直没有体验过, 先后听做PHP的朋友用过PHP的Ajax开发包&#xff0…

提速256倍,斯坦福谷歌提出扩散模型蒸馏方法,效果接近Teacher

编辑 | 杜伟、陈萍来源 | 机器之心斯坦福大学联合谷歌大脑使用「两步蒸馏方法」提升无分类器指导的采样效率,在生成样本质量和采样速度上都有非常亮眼的表现。去噪扩散概率模型(DDPM)在图像生成、音频合成、分子生成和似然估计领域都已经实现…

移动数据网络类型是nr_便携式移动网络的快速搭建方法

在用户高峰时段,常用的移动网络很容易堵塞,不堪重负。所以,关键时刻能够建立安全可靠的通信,是非常重要的。在本案例中,我用的移动通信系统是GSM协议,为了能够将GSM协议广播出去,我使用了BladeR…

程序员面试金典 - 面试题 17.19. 消失的两个数字(数学/位运算)

1. 题目 给定一个数组,包含从 1 到 N 所有的整数,但其中缺了两个数字。 你能在 O(N) 时间内只用 O(1) 的空间找到它们吗? 以任意顺序返回这两个数字均可。 示例 1: 输入: [1] 输出: [2,3]示例 2: 输入: [2,3] 输出: [1,4]提示&#xff1a…

其实没事做,写写博客也不错的

以前一直很喜欢记录自己的一些事情,现在有博客这个东西了,但是懒得很,申请N多没有一个坚持记录下去的,希望在博客园可以好好安家。。今晚竟然看博客看到11.00了,要洗澡睡觉了。。明天要搞定PES、还要开会。。。事情有点…

python sorted下标_Python列表操作最全面总结

1.列表添加元素列表中可以使用append、insert、extend方法实现元素的添加。append会把新元素添加到列表末尾"a", insert(index, object) 在指定位置index前插入元素object"a", 通过extend可以将另一个集合中的元素逐一添加到列表中(合并)A [1, 2]B [3, 4…

BatchFormer:有效提升数据稀缺场景的模型泛化能力|CVPR2022

文 | 侯志知乎(已授权)源 | 极市平台摘要当前的深度神经网络尽管已经取得了巨大的成功,但仍然面临着来自于数据稀缺的各种挑战,比如数据不平衡,零样本分布,域适应等等。当前已经有各种方法通过样本之间的关…

程序员面试金典 - 面试题 16.06. 最小差(排序+双指针)

1. 题目 给定两个整数数组a和b,计算具有最小差绝对值的一对数值(每个数组中取一个值),并返回该对数值的差 示例: 输入:{1, 3, 15, 11, 2}, {23, 127, 235, 19, 8} 输出: 3,即数值对…

bigdecimal 保留两位小数_一起聊聊小数的储存和运算

原创: 蜀中亮子 玄说前端 小数运算的问题在 js 中的小数运算中,一直存在着一个问题,比如:0.10.20.30000000000000004 、0.4-0.30.10000000000000003。那么为什么会出现这种情况呢?这种情况又如何解决呢?为什…

从DeepFace到AdaFace,7篇论文讲清人脸识别

人脸识别是现在应用最广泛的视觉技术之一,同时也是前沿研究热点之一。我找来了深耕人脸的朋友张老师,从DeepFace到AdaFace,讲解deepface、facenet、vggface、sphereface、cosface、adaface等论文,给各位做一次人脸识别的系统分享。…

提升方法(Boosting)

文章目录1. 提升方法AdaBoost算法2. AdaBoost算法训练误差分析3. AdaBoost算法的解释4. 提升树5. sklearn 实例提升(boosting)方法是一种常用的统计学习方法,应用广泛且有效。 在分类问题中,它通过改变训练样本的权重&#xff0c…

在两个页面之间传递信息

在asp.net不同页面之间传值的方法主要有三种:(1)用querystring方法:在vs2005中新建asp.net网站(发送端),在页面上添加button,两个TextBox,代码如下:protectedvoidButton1_Click(objectsender, EventArgs e) { string url; u…

英特尔或将大幅裁员

编辑 | David来源 | 新智元受PC业务持续不振影响,曝英特尔计划裁员数千人,可能将影响20%的员工。据知情人士透露,英特尔公司正计划大幅裁员,人数可能达到数千人,以削减成本,应对不景气的个人电脑市场的萎缩…

pandas object转float_25个Pandas实用技巧

本文一共为大家分享25个pandas技巧,此为上篇~显示已安装的版本输入下面的命令查询pandas版本:In [7]:pd.__version__Out[7]:0.24.2如果你还想知道pandas所依赖的模块的版本,你可以使用show_versions()函数:In [9]:pd.show_version…

LeetCode 820. 单词的压缩编码(后缀树)

文章目录1. 题目2. 解题2.1 反转字符串字符查找2.2 后缀树1. 题目 给定一个单词列表,我们将这个列表编码成一个索引字符串 S 与一个索引列表 A。 例如,如果这个列表是 ["time", "me", "bell"],我们就可以将其…

sql查询分页

用sql 查询时select top 10 * from Orders order by orderid desc操作时,我们先对查询结果进行ordersby排序 然后才取出其最前边10个使用sql查询分页时的几点思路(举例均从查询第100到120之间20条记录)1.取前120条记录orderby主键&#xff0c…

openstack实例状态错误_Openstack虚机操作总结

1. 概览Openstack作为常见的IAAS服务,其最核心的对象就是虚机实例,而Openstack下支持的虚机操作有很多种,有些是特别常见的虚机操作比如创建虚机、启动虚机、删除虚机等,而有些虚机操作则是针对特定场景下比如出现故障而提供的保护…

神网站PaperWithoutCode:举报无法复现的论文,让一作社死??

文 | 小戏几乎是可以肉眼可见的看到机器学习领域的论文几何级的增长,在铺天盖地的论文雪花纸片般涌来时,灌水、可复现性、工作真实的意义这些概念也伴随着 Paper 的洪水进入了人们的视野。谈及科研,我们总是站在以往研究的基础上,…

仿WINDWS无限级Ajax菜单树升级1.3版(修补了严重BUG)

仿WINDWS无限级Ajax菜单树升级1.3版(修补了严重BUG) WINDWS无限级Ajax菜单树又升级了(1.3版) 对以下BUG进行了修复 1.只能在文字上拖拽(不能从文件夹图标上拖) 2.拖拽后不刷新菜单的BUG(拖拽为子级菜单后,菜单原地不消失的情况。也…