简洁的链式思维(CCoT)提示

原文地址:Concise Chain-of-Thought (CCoT) Prompting

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

2024 年 1 月 24 日

Areas where Chain-Of-Thought-like methodology has been introduced are:

  • 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

CoT

CoT 提示的基本前提是反映人类解决问题的方法,即我们人类将较大的问题分解为较小的步骤。然后,LLM会集中注意力解决每个子问题,从而减少忽视关键细节或做出错误假设的可能性。为了使CoT提示在语言模型中发挥作用,必须确保提示与用户的查询紧密相关,并且推理的步骤要按照正确的逻辑顺序进行排列。

CoT组成部分

桥接是指模型遍历以得出最终结论的符号项。桥接可以由算术任务中的数字和方程组成,也可以由实际任务中的实体名称组成

语言模板是文本提示,指导语言模型在推理过程中导出正确的桥接对象并将其置于上下文中。

连贯性是指基本原理中步骤的正确顺序,对于成功的思想链是必要的。具体来说,由于思维链是一个顺序推理过程,因此后面的步骤不可能成为前面步骤的先决条件。

相关性是指理由是否包含问题中的相应信息。例如,如果问题提到一个名叫利亚的人在吃巧克力,那么讨论另一个人剪头发就无关紧要了。

CoT 提示的吸引力在于它简单、易于检查,并且不像基于梯度的方法那样不透明。然而,正如随后的 Chain-Of-X 方法所示:

  1. 情境学习需要在推理时将高度情境化的信息注入到提示中。
  2. 通过人工注释的数据,以数据为中心的方法变得越来越重要。使用正确的数据需要数据发现、数据设计、数据开发和数据交付。
  3. 随着灵活性的引入,复杂性也随之增加。
  4. 人类观察和检查对于确保系统完整性将变得越来越重要。
  5. 必须引入管理提示​​注入和多重推理架构的更复杂的框架。

CoT明确鼓励LLM为解决问题生成中间推理。这是通过为LLM提供一系列演示中的推理步骤来实现的。CoT提示可以将LLM的性能提高多达80%,对于某些问题任务和问题领域。然而,这些性能提升是以实际成本为代价的,增加了输出令牌使用的费用。此外,推理时间也延长了。

CCoT简介

基于大型语言模型(LLM)的生成式人工智能应用需要通过多管齐下的方法进行优化。这种方法需要考虑提示结构、数据传递、令牌使用和推理延迟。与LLM编排相结合;为最佳任务使用最佳模型。以及以数据为中心的方法进行数据发现、设计和开发。

最近的一项研究引入了一种新的提示技术,称为简洁的链式思维(CCoT)。在这项研究中,标准的CoT与CCoT提示在响应长度和准确性方面进行了比较。对于多项选择题问答,CCoT将响应长度减少了48.70%。因此,CCoT在输出令牌成本上引入了节省,并提供了更浓缩的答案。研究还发现,解决问题性能在CoT和CCoT两种方法之间保持不变。对于数学问题,CCoT的性能惩罚为27.69%。总体而言,CCoT导致平均令牌成本降低了22.67%。

其他CCoT信息

成本与延迟

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

如下图所示,红色条形图表示输出令牌成本,与蓝色条形图的输入令牌成本相比较。


推理延迟也是一个挑战,可以通过确保响应更短来在一定程度上解决。这可以在不降低性能的情况下实现;研究发现,CCoT在这方面没有性能惩罚。

实际比较

下面是一个仅答案提示的示例,接着是一个传统的冗长CoT提示。最后是一个CCoT提示。

下面是一个仅答案提示的示例。

这里比较了冗长和简洁的CoT提示。


可能的局限性

  • 研究只使用了GPT LLM,看看在开源和功能较弱的LLM上的表现会很有趣。
  • 研究只使用了一个CoT和CCoT提示。因此,其他变体的CoT和CCoT提示可能会产生不同的结果。
  • 考虑到不同任务提示性能的变异,考虑到实施用户意向分流可能效果很好。
  • 并对用户输入进行分类,以便使用编排多个LLM,选择最合适的提示技术等。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【C/C++ 学习笔记】函数

【C/C 学习笔记】函数 视频地址: Bilibili 函数结构 返回值类型函数名参数列表函数体语句return 表达式 返回值类型 函数名 (参数列表) {函数体语句;return 表达式; }声明 在函数定义之前声明函数,可以声明多次,但是只能定义依次 返回值类型 函数名…

计算机考研|保姆级择校+资料+全年规划

本科211,研究生上岸某985 计算机考研备考过程中走了不少弯路,希望我的经验能够帮助大家少走弯路 大家决定考研之前,一定要认真思考自己考研的目的是什么,有的人是随大流,别人考研,就跟风考研,有…

JDK 17:Java生态系统的最新巨擘

JDK 17:Java生态系统的最新巨擘 🚀 JDK 17:Java生态系统的最新巨擘 🚀摘要 🌟引言 🌈模块一:性能优化与提升 🔧垃圾回收器的改进:JIT编译器的优化:其他性能优…

Visual Basic6.0零基础教学(2)—vb中类的介绍和基本控件的属性

Visual Basic 6.0中类的介绍和基本控件的属性 文章目录 Visual Basic 6.0中类的介绍和基本控件的属性前言一、对象的有关概念1.类2.对象3.对象的三要素4.5. VB程序的执行步骤 二、基本控件属性1.修改控件属性的练习案例 总结 前言 大家好,昨天我们学习了vb的简单介…

python实现生成树

生成树 生成树(Spanning Tree)是一个连通图的生成树是图的极小连通子图,它包含图中的所有顶点,并且只含尽可能少的边。这意味着对于生成树来说,若砍去它的一条边,则会使生成树变成非连通图;若给…

【学习】pytorch框架的数据管理—— 理解Dataloader

参考:https://spite-triangle.github.io/artificial_intelligence/#/./README 1.标准数据集 使用:以 CIFAR10 数据集为例,其他数据集类似。 # root:数据存放路径 # train:区分训练集,还是测试集 # trans…

前端加密面面观:常见场景与方法解析

🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 🍚 蓝桥云课签约作者、上架课程《Vue.js 和 E…

vue项目部署服务器,因为跨域设置nginx.config要修改的配置

下面是我在vue项目中vite.config.js设置的配置代理 对于部署项目需要使用nginx进行vue项目的话,需要对nginx的配置文件进行如下修改即可

Linux:线程互斥与同步

目录 线程互斥 锁的初始化 加锁 解锁 锁的初始化 锁的原理 死锁 线程同步 方案一:条件变量 条件变量初始化 等待 唤醒 条件变量的代码示例 基于阻塞队列的生产消费模型 方案二:POSIX信号量 初始化信号量: 销毁信号量 等待信…

动态规划|【路径问题】|174.地下城游戏

题目 174. 地下城游戏 恶魔们抓住了公主并将她关在了地下城 dungeon 的 右下角 。地下城是由 m x n 个房间组成的二维网格。我们英勇的骑士最初被安置在 左上角 的房间里,他必须穿过地下城并通过对抗恶魔来拯救公主。 骑士的初始健康点数为一个正整数。如果他的健…

map和set(二)——AVL树的简单实现

引入 二叉搜索树有其自身的缺陷,假如往树中 插入的元素有序或者接近有序,二叉搜索树就会退化成单支树,时间复杂度会退化成O(N),因此 map、set等关联式容器的底层结构是对二叉树进行了平衡处理,即采用平衡树来实现。简…

可免费使用的AI平台汇总 + 常用赋能科研的AI工具推荐

赋能科研,AI工具助你飞跃学术巅峰!(推荐收藏) 文章目录 赋能科研,AI工具助你飞跃学术巅峰!(推荐收藏)一、可免费使用的AI平台汇总1. ChatGPT2. New Bing3. Slack4. POE5. Vercel6. 其他平台7. 特定功能平台8. 学术资源平台9. 中文…

14 OpenCv边缘处理

文章目录 卷积边界问题边缘处理copyMakeBorder 算子代码 卷积边界问题 图像卷积的时候边界像素,不能被卷积操作,原因在于边界像素没有完全跟kernel重叠,所以当3x3滤波时候有1个像素的边缘没有被处理,5x5滤波的时候有2个像素的边缘…

华为OD机试C卷“跳步-数组”Java解答

描述 示例 算法思路1 不断移动数组将元素删去(并未彻底删除,而是将数字元素前移实现“伪删除”)这样删除元素的位置就呈现一定规律,详细见下图(潦草的画) 答案1 import java.util.*;public class Main {…

蓝桥杯刷题5--GCD和LCM

目录 1. GCD 1.1 性质 1.2 代码实现 2. LCM 2.1 代码实现 3. 习题 3.1 等差数列 3.2 Hankson的趣味题 3.3 最大比例 3.4 GCD 1. GCD 整数a和b的最大公约数是能同时整除a和b的最大整数,记为gcd(a, b) 1.1 性质 GCD有关的题目一般会考核GCD的性质。   …

国家医保局开通异地就医备案办理功能,哪些人群适用?

2022年6月30日,国家医保局会同财政部印发《关于进一步做好跨省异地就医基本医疗保险直接结算工作的通知》(民保发〔2022〕30号)。 22号文(以下简称《通知》)。 《通知》明确,长期跨省异地居住或临时跨省外出…

PostgreSQL数据优化——死元组清理

最近遇到一个奇怪的问题,一个百万级的PostgreSQL表,只有3个索引。但是每次执行insert或update语句就要几百ms以上。经过查询发现是一个狠简单的问题,数据库表死元组太多了,需要手动清理。 在 PG 中,update/delete 语句…

Axure原型设计项目效果 全国职业院校技能大赛物联网应用开发赛项项目原型设计题目

目录 前言 一、2022年任务书3效果图 二、2022年任务书5效果图 三、2022年国赛正式赛卷 四、2023年国赛第一套样题 五、2023年国赛第二套样题 六、2023年国赛第三套样题 七、2023年国赛第四套样题 八、2023年国赛第七套样题 九、2023年国赛正式赛题(第八套…

点赞功能真的有必要上 Redis 吗?(Mongo、MySQL、Redis、MQ 实测性能对比)

目录 一、你会怎么设计一个点赞功能? 1.1、点赞实现思路 1.2、点赞功能设计 1.2.1、MySQL 单表 1.2.2、单表 MySQL 关联表 1.2.3、MySQL 关联表 mq 1.2.4、redis mq 1.2.5、mongodb 关联文档 二、性能测试 2.1、前置说明 2.2、10 万数据准备 一、你会…

PyTorch完整的神经网络模型训练(使用GPU训练)

1.什么是CUDA: CUDA(Compute Unified Device Architecture)是由NVIDIA开发的一种并行计算平台和编程模型。它允许开发者在NVIDIA GPU上进行通用目的的并行计算,包括深度学习、科学计算、图形处理和加密等任务。 CUDA通过提供一组…