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

如何激发模型的能力

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

提示词 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目前已经有上千种插件了

让多个模型合作

合作的方式可能有多种:

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

参考

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

相关推荐
Elastic 中国社区官方博客18 分钟前
使用 Elasticsearch 导航检索增强生成图表
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·全文检索
墨楠。26 分钟前
数据结构学习记录-树和二叉树
数据结构·学习·算法
云天徽上42 分钟前
【数据可视化】全国星巴克门店可视化
人工智能·机器学习·信息可视化·数据挖掘·数据分析
大嘴吧Lucy44 分钟前
大模型 | AI驱动的数据分析:利用自然语言实现数据查询到可视化呈现
人工智能·信息可视化·数据分析
文城5211 小时前
Mysql存储过程(学习自用)
数据库·学习·mysql
我们的五年1 小时前
【C语言学习】:C语言补充:转义字符,<<,>>操作符,IDE
c语言·开发语言·后端·学习
艾思科蓝 AiScholar1 小时前
【连续多届EI稳定收录&出版级别高&高录用快检索】第五届机械设计与仿真国际学术会议(MDS 2025)
人工智能·数学建模·自然语言处理·系统架构·机器人·软件工程·拓扑学
Icoolkj2 小时前
微服务学习-Nacos 注册中心实战
linux·学习·微服务
watersink2 小时前
面试题库笔记
大数据·人工智能·机器学习
siy23332 小时前
【c语言日寄】Vs调试——新手向
c语言·开发语言·学习·算法