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

参考

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

相关推荐
海棠AI实验室18 分钟前
AI的进阶之路:从机器学习到深度学习的演变(一)
人工智能·深度学习·机器学习
hunteritself21 分钟前
AI Weekly『12月16-22日』:OpenAI公布o3,谷歌发布首个推理模型,GitHub Copilot免费版上线!
人工智能·gpt·chatgpt·github·openai·copilot
南宫生42 分钟前
力扣-图论-17【算法学习day.67】
java·学习·算法·leetcode·图论
sanguine__1 小时前
Web APIs学习 (操作DOM BOM)
学习
IT古董1 小时前
【机器学习】机器学习的基本分类-强化学习-策略梯度(Policy Gradient,PG)
人工智能·机器学习·分类
centurysee1 小时前
【最佳实践】Anthropic:Agentic系统实践案例
人工智能
mahuifa1 小时前
混合开发环境---使用编程AI辅助开发Qt
人工智能·vscode·qt·qtcreator·编程ai
四口鲸鱼爱吃盐1 小时前
Pytorch | 从零构建GoogleNet对CIFAR10进行分类
人工智能·pytorch·分类
蓝天星空1 小时前
Python调用open ai接口
人工智能·python
睡觉狂魔er1 小时前
自动驾驶控制与规划——Project 3: LQR车辆横向控制
人工智能·机器学习·自动驾驶