【生成式人工智能-三-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是否有更好的回答

参考

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

相关推荐
Zachery Pole4 分钟前
pytorch 我是土堆课程学习
学习·yolo
老陈测评4 分钟前
医疗AI的下一个十年:从辅助工具走向模式重构
人工智能·健康医疗
乾元8 分钟前
RAG 架构: 利用向量数据库构建企业的安全知识库
运维·网络·数据库·人工智能·安全·网络安全·架构
whysqwhw10 分钟前
菜鸡玩 AI
人工智能
兜兜风d'10 分钟前
PyTorch 深度学习实践——加载数据集
人工智能·pytorch·深度学习
zzzzzz31011 分钟前
手把手教你搭建 OpenClaw AI 私人助理(保姆级教程)
人工智能
寻见90313 分钟前
收藏!OpenClaw 配置文件保姆级详解|从入门到精通,避坑 + 优化全搞定
人工智能·agent
&Darker13 分钟前
十三、大语言模型微调
人工智能·python·语言模型
稽稽稽稽不如人13 分钟前
《从零开始的java从入门到入土的学习生活——JavaWeb后端篇》Chapter14——JavaWeb后端篇学习记录——日志技术
学习·生活
DisonTangor16 分钟前
【腾讯拥抱开源】腾讯开源全新紧凑型视觉语言模型——企鹅VL
人工智能·计算机视觉·自然语言处理·视觉检测