Concise CoT(CCoT)提示词工程

news2024/11/27 12:54:56

原文地址:concise-chain-of-thought-ccot-prompting

2024 年 1 月 24 日

传统的 CoT 是以增加输出令牌使用为代价的,CCoT 提示是一种提示工程技术,旨在减少 LLM 响应的冗长和推理时间。

基于LLMs的生成式人工智能应用程序必须使用多管齐下的方法进行优化。一种考虑提示结构、数据传递、令牌使用和推理延迟的方法。与LLM一起编排;使用最佳模型来完成最佳任务。以及用于数据发现、设计和开发的以数据为中心的方法。

介绍

最近的一项研究引入了一种新的提示技术,称为简洁思维链(CCoT)。

在本研究中,标准CoTCCoT提示在响应长度和准确性方面进行了比较。

对于多项选择问答,CCoT 将响应长度减少了48.70%。因此,CCoT 引入了输出tokens成本的节省和更简洁的答案。

研究还发现,CoTCCoT两种方法的问题解决性能保持不变。

对于数学问题,CCoT 的性能损失为27.69%

总体而言,CCoT 使tokens成本平均降低了 22.67%。

思维链 (CoT)

CoT 已经成为LLMs领域的一种现象,催生了大量基于 CoT 的提示技术。并引发了Chain-of-X现象。

对于某些问题任务和问题领域,CoT 提示已被证明可以将 LLM 性能提高高达80% 。

然而,这些性能改进是有代价的即增加输出令牌使用量带来的额外费用。除此之外,推理时间也延长了。

来源

CoT 明确鼓励LLMs为解决问题提供中间推理。这是通过在演示中提供一系列推理步骤供LLMs模拟来实现的。

有关 CCoT 的更多信息

成本和延迟

如果 CCoT 减少响应长度,则 CCoT 可用于降低 LLM 成本。第三方 LLM API 通常按令牌定价,输出令牌比输入令牌更昂贵。

如下图所示,红色条表示输出tokens成本,与蓝色输入tokens成本相比。

来源

推理延迟也是一个挑战,可以通过确保响应更短来在一定程度上解决这个问题。这可以在不影响性能的情况下实现;研究发现,CCoT 在这方面不会带来性能损失。

实际比较

下面是仅回答提示的示例,后跟传统的详细 CoT 提示。最后是 CCoT 提示。

下面是仅限回答的提示。

来源

这里是详细和简洁的 CoT 提示之间的比较。

来源

可能的限制

该研究仅使用了 GPT LLM,了解开源和能力较差的 LLM 的表现将会很有趣。

该研究仅使用单一 CoT 和 CCoT 提示。因此,CoT 和 CCoT 提示的其他变体可能会产生不同的结果。

考虑到不同任务的提示性能差异,我想到了用户意图分类的实现可以很好地发挥作用。

对用户输入进行分类,以便协调多个 LLM、选择最合适的提示技术等。

附录

引入类似思维链方法的领域包括:

  • Chain-of-Thought Prompting
  • Multi-Modal Reasoning
  • Multi-Lingual Scenarios
  • Knowledge Driven Applications
  • Chain-of-Explanation
  • Chain-of-Knowledge
  • Chain-of- Verification
  • IR Chain-of-Thought
  • LLM Guided Tree Of Thought
  • Chain-Of-Note
  • Least-To-Most Prompting
  • Chain Of Empathy

And more…

从最少到最多的提示可以与其他提示技术(例如思维链和自我一致性)结合起来。对于某些任务,可以将从最少到最多提示的两个阶段合并以形成单遍提示。 -来源

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

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

相关文章

静态分配IP,解决本地连接不上Linux虚拟机的问题

在Window环境下,使用远程终端工具连接不了VMware搭建的Linux虚拟机(CentOS 7),并且在命令行ping不通该Linux虚拟机的IP地址。下面通过配置网关解决本地与Linux虚拟机连接问题: 1 查看虚拟机网关地址 在VMware虚拟机上…

文本清洁器:如何一键批量删除空格,让内容更整洁的技巧

在日常工作和学习中,我们经常需要处理大量的文本内容。而文本中多余的空格往往会让内容显得杂乱无章,影响阅读体验。为了解决这个问题,我们可以使用办公提效工具来一键批量删除空格,让内容更加整洁易读。 一、为什么需要批量删除空…

js宏任务微任务输出解析

第一种情况 setTimeout(function () {console.log(setTimeout 1) //11 宏任务new Promise(function (resolve) {console.log(promise 1) //12 同步函数resolve()}).then(function () {console.log(promise then) //13 微任务})})async function async1() {console.log(async1 s…

AI模型:windows本地运行下载安装ollama运行Google CodeGemma可离线运行数据模型【自留记录】

AI模型:windows本地运行下载安装ollama运行Google CodeGemma可离线运行数据模型【自留记录】 CodeGemma 没法直接运行,需要中间软件。下载安装ollama后,使用ollama运行CodeGemma。 类似 前端本地需要安装 node.js 才可能跑vue、react项目 1…

华为:三层交换机与路由器连通上网实验

三层交换机是一种网络交换机,可以实现基于IP地址的高效数据转发和路由功能,通常用于大型企业、数据中心和校园网络等场景。此外,三层交换机还支持多种路由协议(如OSPF、BGP等),以实现更为复杂的网络拓扑结构…

Java数据结构---链表

目录 链表的基本概念 LinkedList ArrayList和LinkedList的区别 链表的基本概念 当在ArrayList任意位置插入或删除元素时,就需要将后续元素整体往前或者整体往后搬移,时间复杂度O(n),效率比较低,因此Arra…

【计算机科学速成课】笔记三

文章目录 17.集成电路真空管时代晶体管时代集成电路时代印刷电路板时代光刻时代 17.集成电路 Over the past six episodes, we delved into software, 过去 6 集我们聊了软件 \N 从早期编程方式到现代软件工程 from early programming efforts to modern software engineerin…

每天五分钟计算机视觉:通过交并比判断对象检测算法的性能

本文重点 在对象检测领域,交并比(Intersection over Union,简称IoU)是衡量算法性能的重要指标之一。它不仅直观地反映了预测框与真实框之间的重叠程度,还是判断算法是否“运行良好”的关键依据。 那个定位是好的? 对象检测任务中,我们希望不仅检测到对象,同时我们还希…

分析错误ValueError: could not determine the shape of object type ‘Series‘

这个错误提示 ValueError: could not determine the shape of object type Series 通常发生在尝试将 pandas 的 Series 直接转换为 PyTorch 的 tensor 时,尤其是当 Series 的数据类型不明确或者包含非数值类型的数据时。为了修正这个问题,确保在转换之前…

每日两题 / 138. 随机链表的复制 148. 排序链表(LeetCode热题100)

138. 随机链表的复制 - 力扣(LeetCode) 用哈希表记录原链表中的节点是否被复制过 遍历原链表并通过哈希表维护新链表 /* // Definition for a Node. class Node { public:int val;Node* next;Node* random;Node(int _val) {val _val;next NULL;rand…

反汇编一个ARM64的机器码

文章目录 使用objdump直接阅读ARM64手册使用反汇编网站 有下面一个机器码:0x929ffee9,如何翻译成汇编呢? 下面介绍几种做法: 使用objdump 将这个机器码写到文件中,然后使用objdump去反汇编 创建一个二进制文件 dd…

特斯拉擎天柱已经进厂拣电池了,其他“机器打工人”赶得上吗? | 最新快讯

文陈斯达 编辑李然 5 月 6 日消息,特斯拉放出了他们的人形机器人——擎天柱(Optimus)的最新演示视频。 特斯拉的工厂中,擎天柱机器人经过数据训练,可以轻巧自由地拿取电池,放进电池槽中排列整齐。 来源&…

error: pathspec ‘XXX‘ did not match any file(s) known to git

使用vscode,在本地开发切换分支时,报以下错误: error: pathspec XXX did not match any file(s) known to git 该问题是由于没有对应分支的原因。 首先使用一下命令,查看本地及远程的所有分支。 git branch -a 若没有对应的分…

【练习2】

1.汽水瓶 ps:注意涉及多个输入&#xff0c;我就说怎么老不对&#xff0c;无语~ #include <cmath> #include <iostream> using namespace std;int main() {int n;int num,flag,kp,temp;while (cin>>n) {flag1;num0;temp0;kpn;while (flag1) {if(kp<2){if(…

FPGA学习笔记(3)——正点原子ZYNQ7000简介

1 ZYNQ-7000简介 ZYNQ 是由两个主要部分组成的&#xff1a;一个由双核 ARM Cortex-A9 为核心构成的处理系统&#xff08;PS&#xff0c;Processing System&#xff09;&#xff0c;和一个等价于一片 FPGA 的可编程逻辑&#xff08;PL&#xff0c;Programmable Logic&#xff0…

数据结构(c):队列

目录 &#x1f37a;0.前言 1.什么是队列 2. 队列的实现 2.1定义队列节点 2.2定义队列 2.3队尾入队列 2.4判断队列是否为空 2.5队头出队列 2.6 队列首元素 2.7队尾元素 2.8队列内的元素个数 2.9销毁队列 3.试运行 &#x1f48e;4.结束语 &#x1f37a;0.前言 言C之…

HTML_CSS学习:尚硅谷——尚品汇

一、index.html <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>荣耀</title> <!-- 引入页签图标--><link rel"shortcut icon" href"./HONOR%20.ico" type&qu…

LeetCode:滑动窗口最大值

文章收录于LeetCode专栏 LeetCode地址 滑动窗口最大值 题目 给你一个整数数组 nums&#xff0c;有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。   返回 滑动窗口中的最大值 。   示例 1…

编程语言QT、C++、C#、Matlab、SQL Server开发日志总结

目录 引言 正文 1、Qt连接SQL server数据库 2、C#使用chart绘制实时折线图&#xff0c;波形 3、ORACLEXE数据库 4、QT通过ODBC驱动连接Oracle数据库 5、Microsoft SQL Server 2014 安装图解 6、SQL Server 2014应用 7、C/C​​​​​​​ 8、QT…

【Fastadmin】后台角色组权限问题(multi,开关switch,控制器新增方法)

1.列表开关类型的权限 如图&#xff1a; 此类开关请求的方法为multi 开关在点击的时候默认是只允许修改数据库的status字段的&#xff0c;如果我们开关不是status字段&#xff0c;我们需要在服务端对应的控制器中定义protected $multiFields"id,name,swith";&#x…