如何提升LLMs:CCoT
为何要理解Prompt技术
最近看了很多相关的论文、做了很多相关的实验,其实就是想搞明白一个问题:LLMs是否具有智能,现在可能不行,那么未来呢?
每个人都知道 LLMs 的核心是 Transformer——对下一个 Token 进行预测。表面看起来这个和智能无关,尤其是 Prompt 的技术和实验看得越多,就觉得当下的 LLMs 还只是学到形式,并没有真正的懂得。
但不得不说,GPT4 的效果真好。
如果还是采用 Transformer 的架构,该如何提升性能呢?
第一个想到的是更多的数据,包括更多的知识,更多的各种形式的知识。这个会增加 LLMs 的知识,会增加能力,但似乎会不增加新的能力。
即使是新的合成数据,增强的是指令理解的能力,对 Prompt 的格式的要求会降低。
然后是增加模型的参数,这个会有用么?其核心问题是,LLMs 从文本中到底学到了什么。文本本身是世界知识的抽象,是有压缩损耗的,通过文本本身的学习,是否会学到压缩的过程呢?需要多少参数?
CCoT
Contrastive Chain-of-Thought Prompting——对比性思维链提示(CCoT)使用正面和负面示例来提高大型语言模型的推理能力。
近来出现了许多链式X示例,展示了大型语言模型(LLMs)如何能够将复杂问题分解为一系列中间步骤。这导致了一种现象,有些人称之为X链。
这个基本原理最初是由连锁思考(CoT)提示的概念引入的……CoT提示的基本前提是模仿人类解决问题的方法,我们将较大的问题分解成较小的步骤。
LLM随后会集中注意力解决每个子问题,从而减少忽视关键细节或做出错误假设的可能性。
CoT的一个有趣特点是使用无效示范者的影响相对较小;这意味着在中间推理步骤中的错误假设会沿着链条传播下去。
考虑到这一点,对比性思维链(CCoT)专注于提供正面和负面的例子,以努力增强模型的推理能力。这个研究有效果,再次证明了上下文学习(ICL)对于大型语言模型(LLMs)的重要性。
CCoT在推理时向LLM展示了有效和无效的推理示例。模型不知道在传统CoT中应避免哪些错误,这可能导致错误增多和错误传播。CCoT在示范例子中提供了正确和错误的推理步骤。
总的来说:
1. 对比正面和负面的例子可以提高CoT方法的有效性。
2. 需要开发一种自动化方法来创建正面和负面示例,这种方法基于人工注释的数据,包括正确的和合适的错误数据。
3. CCoT相较于传统CoT方法的改进带来了开发提示创建结构的额外负担。
如何构建 CCoT 呢?我们现了解如下的框架。
传统的CoT包括两个要素:桥接和语言模板。
桥接
桥接是指模型在得出最终结论时所遍历的象征性项目。在算术任务中,桥接可以由数字和方程式组成,或者在事实任务中由实体的名称组成。
语言模板
语言模板是文本提示,它指导语言模型在推理过程中派生和情境化正确的桥接对象。
微信扫码关注该文公众号作者