【生成式人工智能-三-promote 神奇咒语RL增强式学习RAG】
如何激发模型的能力
- 提示词 promot
- CoT
- RL 增强式学习Reforcement learning
- 提供更多的资料
- 提供一些范例Incontext- learning
- 任务拆解
- 让模型自己检查错误
- 让模型多次生成答案
- Tree of Thoughts
- 让模型使用其他工具
- RAG
- 写程序POT
- 其他工具
- 让多个模型合作
- 参考
在模型不变的情况下,我们可以做什么事情来增强模型的能力呢?
提示词 promot
上文也讲过,有一些神奇的咒语,在不改变模型的情况下,只要在跟模型对话的时候,加上这些提示词,可以让模型的能力得到增强。
具体的方法有如下:
CoT
chain of Thought的缩写,就是让模型思考一下的意思,22年曾经专门有人总结了一些神奇的咒语,下面是一个论文中举出的这些提示词:

其中Zero-shot的意思是,不加任何提示词,这时候得分只有17.7分,但是如果你告诉把问题加上lets think step by step ,那得分就忽然猛增到78.7。
所以激发模型的一个好的做法就是:告诉模型解释一下这个答案。。
那有人会怀疑,这些个神奇咒语会不会是个例呢?答案是:并不是。https://arxiv.org/pdf/2307.11760 这篇论文专门研究了大型语言模型的情绪勒索问题,就是对话的时候,告诉模型,这个问题对我很重要,结果不同的大型模型的准确率直线上升。
举个例子,帮我写一篇论文,…(具体要求),这篇论文对我很重要。

此外也有人专门为大语言模型做了一些总结:
- 对模型客气是没有用的
- 要明确告诉模型需要做什么,不要跟它说不要做什么
- 跟它说如果做不好,你就会受到惩罚。
等等,https://arxiv.org/abs/2312.16171 上有专门的总结
但是要说明的是,上面这些提示词也并不是所有模型都有用,比方说GPT-4不需要跟它说step by step,它也会一步步的思索。加上以后正确性也不会提升。
那这些神奇咒语有没有自动化学习的方法呢?那就是RL增强式学习
RL 增强式学习Reforcement learning

训练一个模型产生咒语,然后输入模型,评估结果好坏。根据评估的结果又来调整咒语,最终会获取那些有用的咒语。最终出来的很多有用的咒语,确实是神奇的,人类无法理解的。比如GPT3上一个神奇的咒语是ways ways ways…
提供更多的资料
上面这些都有失效的时候,所以要给前提 给额外的资料 提供一些范例
提供一些范例Incontext- learning
比如你要做情感分析,你可以举个例子:
今天电影好看 正面 。今天天气不好 负面。然后再给他资料看,他就可以做出正确的回答。
但是这件事情背后,有些需要思考的问题。模型不是仅仅是文字接龙的么,模型是真的能看懂这些范例么?
答案是不一定。
有专门的论文来实验过。把那些举例的答案写反了,比如正面的写负面,一些小型的语言模型还是答对了。这就说明了他们其实是不能理解这些范例。当然再后来也有人在更大的模型上实验,发现给他错误的范例,大模型确实能够输出错误的答案

任务拆解
今天我们在用CHAT-GPT写一篇长篇小说的时候,他往往还是写不好,但是可以把他拆解成更小的任务,比如先告诉他列出提纲,然后再把每一步详细列示。很可能写着写着GPT会忘记以前的背景,所以我们写完之前的,就可以把前面的抽取摘要作为输入继续生成。

让模型自己检查错误

这可能么?
答案是可能的,对于模型来说,产生答案困难,但是验证答案反而是更简单的,对于大型的一些模型来说是可以检查出来的。
总体来说让模型自己检查错误,也是可以增强模型的能力。
让模型多次生成答案
由于模型是确定的,针对模型的输入,模型输出词库中每个神经元的输出是固定的,但是为什么每次我们拿到的模型的输出都是不一样的呢?因为生成是固定的,但是每次要把哪个输出出来,确不一定,比方说我们输入:中国最, 那输出高、远、深。。一堆字的概率都是50%以上,那选择哪一个就是随机的了。
既然每次答案都不一样,那还有一种可能就是让模型多次输出,然后取出现频率最高的那个答案。
Tree of Thoughts
它实际上就是上述所有方式的组合

如图上面的步骤:
- 让模型拆成多个步骤,每个步骤给出多个答案。
- 每个答案都让模型检查一下结果是否正确。
- 如果都不正确,回到上一个步骤,找另外的一个答案的正确的回答
依次类推,直到生成正确的答案
让模型使用其他工具
RAG
Retrieval Augmented Generation,也是不需要训练语言模型,先从自己的资料库搜寻到资料,然后输入加上那些资料内容,那模型的能力会忽然大大加强,得到 与众不同的结果。

比如你可以可以让模型先去网络搜索一下,然后再继续回答。
写程序POT
Program of Thought,举个例子,GPT不擅长做计算题,但是GPT-4以后可以把输入格式成一个程序,调用现成python库来执行,最后给出正确的答案
其他工具
chat-gpt目前已经有上千种插件了
让多个模型合作
合作的方式可能有多种:
- 使用不同能力的模型回答问题
不同的模型擅长的能力不一样,真正回答问题的可能有多个模型,我们可训练一个模型,来选择使用哪个模型来回答这个问题,FrugalGPT 就可以实现这个功能。 - 让多个模型之间讨论
模型A输出以后,可以再去咨询模型B是否有更好的回答
参考
李宏毅 生成式人工智能导论
相关文章:
【生成式人工智能-三-promote 神奇咒语RL增强式学习RAG】
如何激发模型的能力 提示词 promotCoTRL 增强式学习Reforcement learning提供更多的资料提供一些范例Incontext- learning 任务拆解让模型自己检查错误让模型多次生成答案Tree of Thoughts让模型使用其他工具RAG写程序POT其他工具 让多个模型合作参考 在模型不变的情况下&#…...
C++连接oracle数据库连接字符串
//远程连接,需要安装oracle客户端sprintf(szConnect4, ("Provider OraOLEDB.Oracle.1; Password %s; Persist Security Info True; User ID %s; Data Source \"(DESCRIPTION (ADDRESS_LIST (ADDRESS (PROTOCOL TCP)(HOST %s)(PORT 1521)) )(CONN…...
判断字符串是否接近:深入解析及优化【字符串、哈希表、优化过程】
本文将详细解析解决这个问题的思路,并逐步优化实现方案。 问题描述 给定两个字符串 word1 和 word2,如果通过以下操作可以将 word1 转换为 word2,则认为它们是接近的: 交换任意两个现有字符。将一个现有字符的每次出现转换为另…...
C 和 C++ 中信号处理简单介绍
信号处理是编程中一个重要的主题,特别是在需要处理异步事件和错误情况的系统中。在 C 和 C 语言中,信号处理机制提供了一种优雅的方式来响应特定的系统事件,例如用户中断、异常情况或其他信号。在这里,我将详细介绍 C 和 C 中信号…...
什么是云边协同?
当今信息技术高速发展的时代,"云边协同"(Edge Cloud Collaboration)已经成为一个备受关注的话题。它涉及到云计算和边缘计算的结合,为数据处理、存储和应用提供了全新的可能性。本文将介绍云边协同的概念、优势以及在不…...
YOLOv5改进 | 主干网络 | 将backbone替换为MobileNetV2【小白必备教程+附完整代码】
秋招面试专栏推荐 :深度学习算法工程师面试问题总结【百面算法工程师】——点击即可跳转 💡💡💡本专栏所有程序均经过测试,可成功执行💡💡💡 专栏目录: 《YOLOv5入门 改…...
ARMxy边缘计算网关用于过程控制子系统
在现代工业生产中,过程控制系统的优化对于提高生产效率、保证产品质量、降低能源消耗等方面都具有重要意义。而 ARMxy 工控机作为一种高性能、高可靠性的工业控制设备,正逐渐成为过程控制系统优化的新选择。 ARMxy 工控机采用了先进的 ARM 架构处理器&am…...
Python | TypeError: unsupported operand type(s) for +=: ‘int’ and ‘str’
Python | TypeError: unsupported operand type(s) for : ‘int’ and ‘str’:深度解析 在Python编程中,遇到“TypeError: unsupported operand type(s) for : ‘int’ and ‘str’”这类错误通常意味着你尝试将一个整数(int)和…...
什么是开源什么是闭源?以及它们之间的关系
开源软件(Open Source Software) 定义:开源软件是指其源代码可以被公众访问和使用的软件。用户可以查看、修改和增强软件的源代码。 许可:通常遵循特定的开源许可证,如GNU通用公共许可证(GPL)、…...
SpringBoot+Mybatis Plus实际开发中的注解
SpringBoot+Mybatis Plus实际开发中的注解 实体类Service层Mapper层Controller层启动类配置类SpringBoot+Mybatis Plus实际开发中的注解 实体类 @Data : 底层实现了getter、setter、toString、hashCode、equals 和无参构造@AllArgsConstructor: 底层实现了有参构造@NoArgsCon…...
【香橙派系列教程】(八)一小时速通Python
【八】一小时速通Python 本章内容服务于香橙派下的开发,用C语言的视角来学习即可,会改就行。 详细说明,请看链接:python全篇教学 Python是一种动态解释型的编程语言,Python可以在Windows、UNIX、MAC等多种操作系统上 使用&…...
了解JavaScript 作用、历史和转变
JavaScript 是一种即时执行的脚本语言,其代码在浏览器环境中通过内置的 JavaScript 引擎被动态地一行接一行地解释执行。这一特性赋予了开发者极高的灵活性和效率,因为代码修改后能立即生效,无需经历编译过程,从而加速了开发周期和…...
遗传算法与深度学习实战——生命模拟与进化论
遗传算法与深度学习实战——生命模拟与进化论 0. 前言1. 模拟进化1.1 代码实现1.2 代码改进 2. 达尔文进化论3. 自然选择和适者生存3.1 适者生存3.2 进化计算中的生物学 小结系列链接 0. 前言 生命模拟通过计算机模拟生物体的基本特征、遗传机制、环境互动等,试图模…...
rt-thread H7 使用fdcan没有外接设备时或发送错误时线程被挂起的解决方案
一、问题查找 使用的开发版是硬石的H7芯片型号STM32H743IIT6,测试时发现如果外面没有连接CAN设备,程序调用CAN发送时会一直等待发送反馈,导致相关线程挂起。 在线仿真时发现是卡在can.c文件的168行_can_int_tx函数:rt_co…...
exptern “C“的作用,在 C 和 CPP 中分别调用 openblas 中的 gemm 为例
openblas提供的sgemm有两种方式,一种是通过cblas,另一种是直接声明并调用 sgemm_ 其中,cblas方式是更正规调用方法; 1,调用openblas的 sgemm 的两种方式 1.1 c语言程序中使用 sgemm hello_sgemm.c #include <st…...
如何提前预防网络威胁
一、引言 随着信息技术的迅猛进步,网络安全议题愈发凸显,成为社会各界不可忽视的重大挑战。近年来,一系列网络安全事件的爆发,如同惊雷般震撼着个人、企业及国家的安全防线,揭示了信息安全保护的紧迫性与复杂性。每一…...
ProviderRpc发送服务二将远程调用来的信息反序列化后调用服务方的方法,并将服务方的结果返回给发送方
在Provider的实现中,OnMessage函数中,处理接收到的连接RPC请求。将接收到的RPC请求(包含请求的对象,请求方法和 请求参数),接收到这些信息之后进行反序列化。得到这些参数之后我们即将要做的事情是去调用相…...
Io 35
FIleinputStream字节输入 package File.io;import java.io.*;public class io1 {public static void main(String[] args) throws IOException {// InputStream is new FileInputStream(new File("C:\\Users\\SUI\\Desktop\\Java1\\one\\src\\kaishi"));//简化Input…...
java基础概念11-方法
一、什么是方法 方法(method)是程序中最小的执行单元。 方法中的程序,要不然就是一起执行,要不然就是一起不执行!!! 二、方法的定义 在Java中,方法定义的一般格式如下:…...
大模型应用中的思维树(Tree of Thought)是什么?
大模型应用中的思维树(Tree of Thought)是什么? 大模型,特别是基于GPT(Generative Pre-trained Transformer)架构的模型,在处理复杂任务时,通常需要依赖某种形式的推理和决策机制。…...
[2025CVPR]DeepVideo-R1:基于难度感知回归GRPO的视频强化微调框架详解
突破视频大语言模型推理瓶颈,在多个视频基准上实现SOTA性能 一、核心问题与创新亮点 1.1 GRPO在视频任务中的两大挑战 安全措施依赖问题 GRPO使用min和clip函数限制策略更新幅度,导致: 梯度抑制:当新旧策略差异过大时梯度消失收敛困难:策略无法充分优化# 传统GRPO的梯…...
React第五十七节 Router中RouterProvider使用详解及注意事项
前言 在 React Router v6.4 中,RouterProvider 是一个核心组件,用于提供基于数据路由(data routers)的新型路由方案。 它替代了传统的 <BrowserRouter>,支持更强大的数据加载和操作功能(如 loader 和…...
day52 ResNet18 CBAM
在深度学习的旅程中,我们不断探索如何提升模型的性能。今天,我将分享我在 ResNet18 模型中插入 CBAM(Convolutional Block Attention Module)模块,并采用分阶段微调策略的实践过程。通过这个过程,我不仅提升…...
线程与协程
1. 线程与协程 1.1. “函数调用级别”的切换、上下文切换 1. 函数调用级别的切换 “函数调用级别的切换”是指:像函数调用/返回一样轻量地完成任务切换。 举例说明: 当你在程序中写一个函数调用: funcA() 然后 funcA 执行完后返回&…...
Go 语言接口详解
Go 语言接口详解 核心概念 接口定义 在 Go 语言中,接口是一种抽象类型,它定义了一组方法的集合: // 定义接口 type Shape interface {Area() float64Perimeter() float64 } 接口实现 Go 接口的实现是隐式的: // 矩形结构体…...
汽车生产虚拟实训中的技能提升与生产优化
在制造业蓬勃发展的大背景下,虚拟教学实训宛如一颗璀璨的新星,正发挥着不可或缺且日益凸显的关键作用,源源不断地为企业的稳健前行与创新发展注入磅礴强大的动力。就以汽车制造企业这一极具代表性的行业主体为例,汽车生产线上各类…...
如何为服务器生成TLS证书
TLS(Transport Layer Security)证书是确保网络通信安全的重要手段,它通过加密技术保护传输的数据不被窃听和篡改。在服务器上配置TLS证书,可以使用户通过HTTPS协议安全地访问您的网站。本文将详细介绍如何在服务器上生成一个TLS证…...
Rust 异步编程
Rust 异步编程 引言 Rust 是一种系统编程语言,以其高性能、安全性以及零成本抽象而著称。在多核处理器成为主流的今天,异步编程成为了一种提高应用性能、优化资源利用的有效手段。本文将深入探讨 Rust 异步编程的核心概念、常用库以及最佳实践。 异步编程基础 什么是异步…...
SpringCloudGateway 自定义局部过滤器
场景: 将所有请求转化为同一路径请求(方便穿网配置)在请求头内标识原来路径,然后在将请求分发给不同服务 AllToOneGatewayFilterFactory import lombok.Getter; import lombok.Setter; import lombok.extern.slf4j.Slf4j; impor…...
自然语言处理——循环神经网络
自然语言处理——循环神经网络 循环神经网络应用到基于机器学习的自然语言处理任务序列到类别同步的序列到序列模式异步的序列到序列模式 参数学习和长程依赖问题基于门控的循环神经网络门控循环单元(GRU)长短期记忆神经网络(LSTM)…...
