微信扫码
与创始人交个朋友
我要投稿
打开斯坦福这篇论文,摘要下面看到这句话:"生命只能向后理解,但必须向前发展。"丹麦哲学家索伦·克尔凯郭尔的这句名言,似乎也适用于当今蓬勃发展的人工智能领域。在AI飞速进化的今天,我们不禁要问:AI能否拥有类似人类的思考能力?它能否在"说话"之前进行深度思考?
凯郭尔
克尔凯郭尔(Sren Kierkegaard)是19世纪丹麦著名的哲学家、神学家和作家,被广泛认为是存在主义的先驱。他的全名是索伦·奥贝·克尔凯郭尔(Sren Aabye Kierkegaard),生于1813年,卒于1855年。他的哲学工作主要集中在个人存在、信仰、伦理和真理等问题上。克尔凯郭尔的名言“生命只能向后理解,但必须向前发展”(Life can only be understood backwards; but it must be lived forwards)表达了对人类生存状态的深刻洞见。这句话的意思是,我们只能通过回顾过去的经历来理解生命的意义和教训,但我们却必须在不确定和未知的未来中继续前行和生活。这种观念反映了他对时间和存在的深刻思考,也揭示了人类在追求意义和真理过程中所面临的挑战和矛盾。他的作品在哲学和神学领域产生了深远的影响,并对后来的存在主义哲学家,如让-保罗·萨特(Jean-Paul Sartre)和马丁·海德格尔(Martin Heidegger),产生重要影响。
斯坦福大学的研究人员最近在这个方向上取得了突破性进展。他们开发了一种名为"Quiet-STaR"的新技术(《Quiet-STaR: Language Models Can Teach Themselves to Think Before Speaking》),让大型语言模型(LLM)能够在生成文本之前进行内部推理。这项研究让我们对AI的认知能力有了新的理解,让我们一起看看它如何让AI在"说话"之前先进行思考。
图片由小鱼提供
01
Quiet-STaR:让AI学会自我思考
Quiet-STaR是"Quiet Self-Taught Reasoner"的缩写,可以理解为"安静的自学推理者"。这个名字恰如其分地描述了该技术的核心理念:让AI在不显式表达的情况下,学会自主推理。
传统的AI训练方法通常依赖于大量标注数据和特定任务的微调。而Quiet-STaR采用了一种全新的范式:它让AI从普通文本中学习推理,而不是依赖于特定的推理任务数据集。
这种方法的独特之处在于:
1) 通用性:AI可以从各种类型的文本中学习推理,而不局限于特定领域。
2) 可扩展性:不需要人工标注的推理数据,可以利用海量的普通文本进行训练。
3) 自主学习:AI通过不断尝试和优化自己的推理过程来提高能力。
Quiet-STaR的核心思想是:在每个输入token之后插入一个"思考"步骤,让AI生成内部推理。然后,系统会评估这些推理是否有助于预测后续文本,并相应地调整模型参数。
02
Quiet-STaR的:思考、表达、学习
研究者开篇用一张图描述了Quiet-STaR (Quiet Self-Taught Reasoner) 方法的工作流程:
1. 原始文本(Original Text):
图的顶部显示了原始输入文本序列:"4 2 + 1 2 = 5 4"。
2. 思考过程(Think):
对于每个输入token,模型会生成一个或多个"思考"(Thought)。这些思考被表示为蓝色的框。
3. 采样思考(Sampled Thought):
图中显示了两个采样的思考序列。每个序列以START开始,以END结束,中间是语言模型(LM)生成的token。
4. 对话过程(Talk):
模型使用生成的思考来预测下一个token。图中显示了两个例子:
- 一个思考序列 "2 + 2" 有助于正确预测下一个token。
- 另一个思考序列 "4 + 1" 对预测没有帮助。
5. 学习过程(Learn):
- 如果思考有助于预测(绿色勾),模型会得到奖励,增加生成这种思考的概率。
- 如果思考没有帮助或有害(红色叉),模型会丢弃这个思考,减少生成类似思考的概率。
6. 语言模型更新:
基于这个奖励/惩罚机制,语言模型会不断更新,学习生成更有帮助的思考。
这个过程允许模型通过生成内部"思考"来改善其预测能力,而不需要额外的监督。模型通过尝试不同的思考并评估它们的有用性来"自学"更好的推理策略。
Quiet-STaR的工作流程可以概括为三个步骤:思考(Think)、表达(Talk)和学习(Learn)。
思考(Think):
在这一步,AI会并行生成多个可能的"思考"序列。每个思考序列都以特殊的"开始思考"和"结束思考"标记包围,这些标记是可学习的嵌入向量。
表达(Talk):
AI会将思考后的预测与原始预测进行混合,生成最终的输出。这个混合过程由一个"混合头"(Mixing Head)控制,它学习如何最佳地结合思考前后的预测。
学习(Learn):
系统使用REINFORCE算法来优化思考过程。如果某个思考序列能够提高后续文本的预测准确率,那么生成这个序列的概率就会增加。这个过程不断循环,让AI逐步提升自己的推理能力。
03
Quiet-STaR思考:并行采样算法
Quiet-STaR面临的一个重大挑战是:如何在不显著增加计算成本的情况下,为每个输入token生成思考序列?
研究人员提出了一个巧妙的解决方案:并行采样算法。这个算法的工作原理如下:
1) 首先,对整个输入序列进行一次前向传播,为每个位置生成下一个token的概率分布。
2) 然后,从每个位置并行采样一个后续token。
3) 使用一个特殊的注意力掩码,允许每个生成的token只关注其自身及之前的token。
4) 重复这个过程,直到生成所需长度的思考序列。
这种方法大大提高了计算效率,使得在每个输入token后插入思考序列变得可行。
04
混合头:AI的内部对话系统
Quiet-STaR引入了一个名为"混合头"的新组件,它的作用类似于AI的内部对话系统。
混合头是一个浅层多层感知器(MLP),它接收两个输入:
1) 原始语言模型的隐藏状态
2) 思考后的隐藏状态
混合头的输出是一个权重,用于决定在最终预测中应该多大程度上采纳思考后的结果。
这个设计有两个重要作用:
1) 平滑过渡:在训练初期,思考序列可能质量不高。混合头允许模型逐步增加对思考的依赖,而不是一开始就完全依赖可能不够成熟的推理。
2) 动态调整:对于不同的输入和上下文,混合头可以学会何时更多地依赖思考,何时更多地依赖原始预测。
05
非近视损失函数
传统的语言模型训练通常只关注预测下一个token。但Quiet-STaR采用了一种非近视(non-myopic)的损失函数,它同时考虑多个未来token的预测。
这种设计的优势在于:
1) 更好的语义理解:通过考虑更长的未来序列,AI可以更好地捕捉语义信息,而不仅仅是局部的词语搭配。
2) 更有意义的思考:对于某些token,思考可能不会立即带来好处,但可能对预测更远的未来有帮助。非近视损失函数可以捕捉这种长期影响。
3) 更稳定的训练:通过平滑多个未来token的预测误差,可以减少训练过程中的波动。
研究表明,这种非近视损失函数确实提高了Quiet-STaR的性能,特别是在需要长期推理的任务中。
06
Quiet-STaR的惊人表现
研究团队在多个任务上评估了Quiet-STaR的性能,结果令人振奋。
在零样本(zero-shot)设置下,Quiet-STaR在以下任务中取得了显著进步:
1) GSM8K(小学数学问题):准确率从5.9%提升到10.9%
2) CommonsenseQA(常识问答):准确率从36.3%提升到47.2%
特别值得注意的是,这些改进是在没有针对特定任务进行微调的情况下实现的。这证明了Quiet-STaR学到的推理能力具有很强的泛化性。
研究还发现,思考序列的长度与性能呈正相关:允许更长的思考序列通常会带来更好的结果。这表明,给AI更多的"思考时间"确实能够提高其推理能力。
07
并非所有token都需要深思熟虑
研究人员观察到一个有趣的现象:Quiet-STaR的改进并不是均匀分布在所有token上的。相反,它对"困难"token的预测有显著改善。
这意味着:
1) AI学会了识别哪些情况需要更多思考。
2) 对于简单的、高频的token,AI可以快速做出判断。
3) 在面对复杂或罕见的情况时,AI会投入更多的"思考资源"。
这种行为模式与人类的认知过程惊人地相似:我们在日常对话中也会自动调整思考的深度,根据情况的复杂程度决定是快速反应还是深入思考。
08
Quiet-STaR与思维链提示联合
思维链提示(Chain-of-Thought Prompting)是近年来LLM领域的一个重要突破。研究人员发现,Quiet-STaR与思维链提示可以完美结合,产生更强大的效果。
在实验中,研究人员让Quiet-STaR训练的模型生成显式的思维链。结果表明:
1) 内部思考帮助模型生成更结构化、更连贯的思维链。
2) 在GSM8K任务上,结合Quiet-STaR的思维链方法将8样本多数投票(majority vote)准确率从40.6%提升到了47.7%。
这个结果意味着,Quiet-STaR不仅可以提高模型的内部推理能力,还能增强其外部表达推理过程的能力。这对于构建可解释的AI系统具有重要意义。你也可以把Quiet-STaR作为一个模块插入到你的CoT中。
往期推荐
你真的了解CoT?普林斯顿大学解密影响CoT效率的因素,引用5875次的CoT讲了啥
09
Quiet-STaR生成的思考示例
论文没给出什么特别的案例和prompt模板,但给了一个伪代码的算法,你可以根据这个算法写一个通用的Prompt框架,用于在网页端和LLM交互使用。也可以写成代码进行“思考”!以下是两个LLM使用和非使用Quiet-STaR的区别,模型分别是GPT-4和Claude 3.5 sonnet。
from openai import OpenAI
import numpy as np
def hidden_states(sequence):
return np.random.rand(len(sequence), 768) # 假设768维隐藏状态
def lm_head(hidden_state):
return np.random.rand(hidden_state.shape[0], 50000) # 假设50000词汇量
-------
def quiet_star(sequence, num_steps=2, thought_length=20, num_thoughts=3, ntrue=5, learning_rate=0.01):
original_sequence = sequence
all_thoughts = []
for i in range(num_steps):
h_init = hidden_states(sequence)
for j in range(min(199, len(sequence))): # 限制到199次迭代
log_p_init = lm_head(h_init[j:j+ntrue])
thoughts = generate_tokens(sequence[:j], thought_length, num_thoughts)
thoughts = [f"<开始思考>{t}<结束思考>" for t in thoughts]
all_thoughts.extend(thoughts)
-------
print("\n应用Quiet-STaR方法:")
final_summary = quiet_star(initial_prompt)
print("\nQuiet-STaR处理后的总结文章:")
print(final_summary)
print("\n比较分析:")
print("基础模型生成的文本长度:", len(base_generation))
print("Quiet-STaR生成的总结文章长度:", len(final_summary))
这个基于Quiet-STaR方法的框架确实在某些类型的问题上会表现得特别出色,特别适合解决的问题类型以及可能产生优质输出的领域是:
1. 复杂的多维度问题:
这个框架特别适合处理涉及多个方面、需要全面考虑的复杂问题。例如,关于气候变化、全球经济趋势、技术对社会的影响等宏观议题。框架的多角度思考和自我学习过程能够确保分析涵盖问题的各个方面。
2. 需要深入分析的学术或研究问题:
对于需要深入文献综述、理论分析或数据解释的学术问题,这个框架可以提供结构化的思考过程。它能帮助模型生成类似于学术论文的全面分析。
3. 政策制定和战略规划:
在分析政策影响或制定长期战略时,这个框架的多角度思考和自我反思过程特别有用。它可以帮助识别潜在的机遇和挑战,考虑短期和长期影响。
4. 伦理和哲学问题:
对于需要深入思考、权衡多方利益的伦理问题,这个框架可以提供全面的分析。它能帮助模型考虑不同的道德立场和潜在后果。
5. 趋势预测:
在分析未来趋势或进行情景预测时,这个框架的多维度思考和自我学习过程可以帮助生成更全面、更有洞察力的预测。
6. 跨学科问题:
对于需要整合多个学科知识的问题,这个框架可以帮助模型从不同角度思考,并在分析过程中建立学科间的联系。
7. 案例分析:
在进行商业、法律或社会案例分析时,这个框架可以帮助模型全面考虑各种因素,并提供深入的洞察。
8. 创新和问题解决:
框架的自我学习和深入思考过程可以激发创新思维,有助于生成新颖的解决方案或创意。
9. 批判性思维练习:
这个框架非常适合用于培养和展示批判性思维技能,因为它鼓励从多个角度考虑问题,并不断反思和改进思考过程。
10. 综合报告和白皮书:
对于需要全面总结某个领域现状、挑战和机遇的综合报告,这个框架可以提供系统化的分析方法。
在这些领域,模型使用这个框架可能会产生以下特点的优质输出:
- 结构清晰、逻辑严谨的分析
- 多角度、全面的考虑
- 深入而不肤浅的洞察
- 有说服力的论证
- 创新的思路和解决方案
- 对复杂问题的系统化理解
- 对潜在影响和后果的全面评估
53AI,企业落地应用大模型首选服务商
产品:大模型应用平台+智能体定制开发+落地咨询服务
承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业
2024-05-28
2024-04-26
2024-04-11
2024-08-21
2024-07-09
2024-07-18
2024-08-13
2024-10-25
2024-07-01
2024-06-17