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

【生成式人工智能-三-promote 神奇咒语RL增强式学习RAG】

如何激发模型的能力

  • 提示词 promot
    • CoT
    • RL 增强式学习Reforcement learning
    • 提供更多的资料
      • 提供一些范例Incontext- learning
  • 任务拆解
  • 让模型自己检查错误
  • 让模型多次生成答案
  • Tree of Thoughts
  • 让模型使用其他工具
    • RAG
    • 写程序POT
    • 其他工具
  • 让多个模型合作
  • 参考

在模型不变的情况下,我们可以做什么事情来增强模型的能力呢?

提示词 promot

上文也讲过,有一些神奇的咒语,在不改变模型的情况下,只要在跟模型对话的时候,加上这些提示词,可以让模型的能力得到增强。
具体的方法有如下:

CoT

chain of Thought的缩写,就是让模型思考一下的意思,22年曾经专门有人总结了一些神奇的咒语,下面是一个论文中举出的这些提示词:
这是在GPT3.5之前的一个模型上跑的结果
其中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目前已经有上千种插件了

让多个模型合作

合作的方式可能有多种:

  1. 使用不同能力的模型回答问题
    不同的模型擅长的能力不一样,真正回答问题的可能有多个模型,我们可训练一个模型,来选择使用哪个模型来回答这个问题,FrugalGPT 就可以实现这个功能。
  2. 让多个模型之间讨论
    模型A输出以后,可以再去咨询模型B是否有更好的回答

参考

李宏毅 生成式人工智能导论

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 记录|MVS和VM软件使用记录
  • 学习日志8.5--ARP攻击与防范
  • 深入探索Scikit-Learn聚类分析:方法与实践
  • OLAP技术与数据仓库:深度分析与决策支持
  • day_32
  • 中国区域创新能力评价报告数据(2001-2023年)
  • 356_lambda表达式,多段调用,A函数调用lambda-1,然后lambda-1中调用lambda-2
  • 杂谈c语言——3.内存对齐
  • LangChain与JWT:构建安全认证的桥梁
  • idea中修改项目名称
  • 红黑树的概念和模拟实现[C++]
  • 梧桐数据库(WuTongDB):数据库技术中 MetaData 和 Catalog 的区别和联系
  • 算法--初阶
  • 【Git 50 条常用命令】
  • 完成QT上位机(八)
  • angular2开源库收集
  • CentOS6 编译安装 redis-3.2.3
  • ES6系统学习----从Apollo Client看解构赋值
  • Java基本数据类型之Number
  • JS创建对象模式及其对象原型链探究(一):Object模式
  • js写一个简单的选项卡
  • leetcode46 Permutation 排列组合
  • October CMS - 快速入门 9 Images And Galleries
  • ReactNativeweexDeviceOne对比
  • redis学习笔记(三):列表、集合、有序集合
  • Tornado学习笔记(1)
  • VUE es6技巧写法(持续更新中~~~)
  • vue学习系列(二)vue-cli
  • 初识 webpack
  • 从零开始在ubuntu上搭建node开发环境
  • 解析 Webpack中import、require、按需加载的执行过程
  • 深入体验bash on windows,在windows上搭建原生的linux开发环境,酷!
  • 文本多行溢出显示...之最后一行不到行尾的解决
  • 优秀架构师必须掌握的架构思维
  • # 20155222 2016-2017-2 《Java程序设计》第5周学习总结
  • #AngularJS#$sce.trustAsResourceUrl
  • #前后端分离# 头条发布系统
  • (2)STM32单片机上位机
  • (C语言)fread与fwrite详解
  • (Matlab)基于蝙蝠算法实现电力系统经济调度
  • (八)五种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (代码示例)使用setTimeout来延迟加载JS脚本文件
  • (二)丶RabbitMQ的六大核心
  • (十一)图像的罗伯特梯度锐化
  • (四)事件系统
  • .NET BackgroundWorker
  • .NET CF命令行调试器MDbg入门(四) Attaching to Processes
  • .NET 解决重复提交问题
  • .net 生成二级域名
  • .NET8 动态添加定时任务(CRON Expression, Whatever)
  • .NET运行机制
  • @ 代码随想录算法训练营第8周(C语言)|Day53(动态规划)
  • @Tag和@Operation标签失效问题。SpringDoc 2.2.0(OpenApi 3)和Spring Boot 3.1.1集成
  • @基于大模型的旅游路线推荐方案
  • [ C++ ] STL---stack与queue