一文讲清楚什么是COT

1.COT是什么:

COT(Chain of Thought)是一个用于自然语言理解(NLU)的模型,它通过推理过程来理解自然语言。它是一种模拟人类思考过程的技术,旨在通过逐步推理的方式提升模型解决复杂问题的能力

它旨在模仿人类的思维方式,通过推理过程来理解自然语言。就像是人类在解题目一样,分为第一步第二步等等,下面是COT的例子。

假设有一个数学问题:
“一个班级有 12 个男生和 8 个女生。如果从班级中随机抽取 2 名学生,问至少有 1 名女生的概率是多少?”
首先,将问题分解为几个关键步骤:
计算总的学生人数。
计算所有可能的抽取组合。
计算没有女生的组合。
计算至少有 1 名女生的概率。

步骤 1:计算总人数
班级中男生和女生的总人数为:
总人数=12+8=20

步骤 2:计算所有可能的抽取组合
从 20 名学生中随机抽取 2 名学生的组合数为:
总组合数=10!/(2!×8!)=210

计算没有女生的组合
如果抽取的 2 名学生都是男生,那么组合数为:
全是男生的组合数= 66

步骤 4:计算至少有 1 名女生的概率
至少有 1 名女生的概率可以通过计算“全是男生”的概率,然后用 1 减去它来得到:

全是男生的概率=66/190
全是男生的概率=1−66/190 = 0.66

最终答案
因此,至少有 1 名女生的概率约为 65.26%。

2.如何将COT应用到大模型中?

3.1 Zero-Shot CoT(零样本思维链)

Zero-Shot CoT是一种COT方法,它不需要任何训练数据,直接在大模型上进行推理。Zero-Shot CoT通过推理过程来理解自然语言,而不需要预训练模型。Zero-Shot CoT的优点是简单快速通用,缺点是精度低。

通过在问题的结尾添加特定的提示词(如“Let’s think step by step”),激发大语言模型生成推理链条。这种方法不需要额外的示例,而是直接利用模型的生成能力来逐步推理问题的解决方案。例如,在 GPT-3 上,Zero-Shot CoT 能将模型的推理能力从 17% 提升到 78%。

下面举个例子:

输入:
一个班级有 12 个男生和 8 个女生,随机抽取 2 名学生,求至少有 1 名女生的概率。Let’s think step by step.

模型输出:
计算总人数:12 + 8 = 20。
计算总组合数:从 20 名学生中选 2 名的组合数为 190。
计算全是男生的组合数:从 12 名男生中选 2 名的组合数为 66。
计算至少有 1 名女生的概率:
P(至少 1 名女生)=0.653
最终答案:至少有 1 名女生的概率约为 65.3%。

3.2 Few-Shot CoT( few-shot CoT)(少样本思维链)

Few-Shot CoT 通过提供少量示例问题及其推理步骤,让模型学习如何逐步推理。这种方法结合了示例推理链条,使模型能够更好地理解和模推理过程。示例通常包括问题、推理步骤和答案,模型通过这些示例学习如何生成自己的推理链条.

下面是例子:

输入

示例 1:
问题:如果 AB 重,B 比 C 重,那么谁最重?
推理:A > B > C,所以 A 最重。
答案:A

示例 2:
问题:如果 X 比 Y 快,Y 比 Z 快,那么谁最快?
推理:X > Y > Z,所以 X 最快。
答案:X

问题:如果 AB 高,B 比 C 高,那么谁最高?
Let’s think step by step.

输出

推理:A > B > C,所以 A 最高。
答案:A

3.3Auto-CoT(自动构建思维链)

Auto-CoT 是一种自动化方法,通过聚类问题并为每个问题生成推理链条,从而减少人工标注的工作量。具体来说,系统会从每个聚类中抽取代表性问题,使用 Zero-Shot CoT 生成推理链条,然后将这些链条作为提示输入模型,帮助其完成推理

Auto-CoT 的实现主要分为以下两个步骤:
问题聚类:将问题集划分为多个聚类,确保每个聚类中的问题在语义和推理难度上具有相似性。

演示采样:从每个聚类中选择一个代表性问题,并使用零样本思维链(Zero-Shot-CoT)为其生成推理链。这些推理链作为提示输入模型,帮助其在回答新问题时生成类似的推理步骤。

例如,假设问题集包含多个数学问题,Auto-CoT 会先将这些问题按类型(如几何、代数等)聚类,然后为每个聚类生成一套推理链

3.4CoT-Tuning(COT微调)

COT 也可以与微调结合,通过在大规模任务上进行微调进一步提升模型的泛化能力。例如,Flan-T5 在微调过程中引入了 COT 数据,显著提高了模型在推理任务上的表现。这种方法不仅适用于 COT 任务,还能提升模型在非 COT 任务上的性能。

在微调阶段,模型通过大量包含推理链条的数据学习如何逐步推理,即微调数据中带有推理链条的样本。最近大火的deepseek的模型就是采用这种方式。

总结

CoT 方法 优点 缺点
Zero-Shot CoT - 简单高效,仅需添加提示词
- 广泛适用,快速推理
- 无需额外训练
- 依赖提示词设计质量
- 可能生成误导性推理路径
- 适用范围有限
Few-Shot CoT - 提供少量示例,增强推理能力
- 提升模型对复杂问题的理解
- 更好的泛化能力
- 需要人工设计示例
- 示例选择影响推理效果
- 计算资源需求较高
Auto-CoT - 自动化生成推理链,减少人工干预
- 灵活适应多种任务
- 提升推理效率
- 聚类质量影响推理多样性
- 自动生成的推理链可能有误
- 计算成本较高
COT + Fine-tuning - 结合微调,提升模型推理能力
- 更好的任务适应性
- 提高模型泛化能力
- 需要大量标注数据
- 微调过程计算资源需求高
- 可能过拟合

作者码字不易,如果觉得有用就点个赞吧,关注我,获取更多干货~

点击阅读全文
Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐