“ 这是一篇去年12月写的到现在一直在草稿箱里没发出来的文章,还是发出来吧,主打一个写都写了。” 随着关于AI可解释性的讨论逐渐进入主流,越来越多的人对解开大型语言模型(LLM)的“黑匣子”感到好奇。向大模型提问总能获得各种各样的答案,有时给你思路,有时给你答案,有时又能变成你的老师! 01 — COT是什么? 链式思维 (Chain-of-thought, CoT) 是一种提升大型语言模型 (LLMs) 推理能力的技术。 Google AI 的研究人员在 2022 年的一项开创性研究为这个思维链的研究打下了基础。研究证明,CoT 提示词在解决数学单词问题等任务中非常有效。与传统的提示词工程相比,遵循 LLM 的思维过程、展示使用的步骤和方程式,显著提高了模型的表现。 https://research.google/blog/language-models-perform-reasoning-via-chain-of-thought/ 大型语言模型 (LLMs) 擅长预测下一个单词。但是,LLMs其实自身很难解决需要逐步思考的问题,需要通过提示词工程,来指导 GPT-4o 或 Claude Sonnet 3.5/3.7 等语言模型给出更好的答案,尤其是当涉及到复杂的推理任务时,思维链提示 (CoT Prompt)就是一个很棒的解决方案,通过你提供的示例(分步推理思路和流程),包括但不限于:识别关键信息、应用规则,得出的结论类型等,类似于通过分步提示引导 AI 计算结果,LLM在输出答案时会学习并遵循你示例里提供的思维过程。 传统的 AI 训练通常像一个“黑匣子”:你给它一堆数据(比如电影评论),它直接输出一个结果(正面或负面)。而 CoT 方法则不同,它能分解这个过程的内部运作。 思维链提示的核心目标是兼顾清晰、创造力以及连贯性展示,而不仅仅是告诉LLM要怎么输出,就像教侦探破案一样,你不能只说:“找出罪魁祸首。” 而是需要用几个案例来教他们分析。同样,给 AI 提示时,也别只说“识别情绪”,而是要给它一些具体的例子,告诉它怎么一步步分解问题,比如怎么看文字、分析用词,还要结合上下文,最后得出情感判断。思维链提示(CoT Prompt)还有另一种说法叫:'response_format’(回答模版),其实我觉得这种说法更容易理解,就是字面意思的,告诉大模型一个回答模版,让大模型根据你提供的模版进行回复,这个模版越全面,逻辑越缜密,你收到的回复就更详细,但这个模版一般是在技术层面内置,下面是示例:比如你想让你的AI计算一个数学题:可以这么“教”他: 小明有12块饼干,吃掉了4块。她还剩多少块饼干?回答的时候你需要这么计算: 第一步:'玛丽一开始有多少块饼干?' 第二步:'玛丽吃了多少块饼干?', 第三步:'怎么计算剩下的饼干数?' 代码示例: 如果你问AI问题发现答案都不太满意的时候,可以在给AI发的问题后面对话多加一句: “Let's think step by step”(让我们一步一步思考) 以指导语言模型的推理过程。 举个例子:你正在尝试和 AI 学习一个新概念,例如“量子物理学”,你希望它生成一些解释。你可以说“让我们一步一步思考:解释量子物理学”。 02 — 自动生成 CoT 提示(LLMs self CoT):想象一下,你不再需要把思考方式教给LLMs,有个 AI 助手可以不断的为你自动编写 CoT 提示然后反哺LLMs,岂不是可以极大地节省开发人员和研究人员的时间和精力,特别是在处理复杂的推理问题的时候。 这是一种 AI 可以从之前提供的示例中找出规律的模式,自动把这些模版(Format)应用到新问题上。这就像是 AI “参考”自己之前的经验,让它的提示能够适应新的情况,从而在某种程度上产生像是“自我提示”的效果。 借助 Auto - CoT 技术,AI 系统可以解决即使是最经验丰富的 NLP 工程师也难以理解的问题。例如,AI 可以逐行调试复杂的代码,并在每一步解释其推理过程,或者利用清晰透明的思维链来分析金融市场的动态。 CoT 技术让 AI 系统可以不断学习和变得更好。它通过分析自己的推理过程和结果,帮助 AI 找到不足之处,并逐渐改进自己的方法。这样,AI 就能像人一样不断进步,为“终身学习”的新一代 AI 系统奠定基础。 Open AI那12天 碎片化直播的第一天发布的system card里也提到了模型自带CoT: 论文链接在这里,感兴趣可以点开看全文: 🪄https://cdn./o1-system-card-20241205.pdf 写这篇文章的时候Deepseek还没火成那样,后来Deepseek火了,Deepseek把大模型的推理/思考的思维链都完整展示出来了,思考的力量果然强大。 03 — AI的Loading过程:展示CoT的「阶段」,当我们在和AI对话的时候,如果可以看到AI的思考到哪步了,可以很大程度提高我们对AI输出内容的信任程度,遇到输出较慢的场景也能作为中间提示避免无反馈或反馈过慢的情况。因此大模型输出内容前的加载过程(Loading)是非常有必要的设计。我觉得在这方面Minimax从一开始做的就特别好,在此就以Minimax的举例。 以下loading中的每一步都是依据回答用户Query所需要的思考步骤出现,我也是尝试了好几次才截成功,有几个状态由于太快还是没截到😂,不过这也能表明并不会因为loading状态太多导致输出速度变慢。 「我正在尽全力搜索」😝 「正在阅读」📖 「完成搜索」✅ 最后再「告知以下内容来自xxx引用」 关于AI对话的Loading设计还有很多有趣的方向,之前Kimi有一个对于计算场景的loading设计,「按了一下计算机」 挺有趣的! 我还试着让Chatgpt回答一下这问题,终究是没有Deepseek格局大呀😆 哈哈哈 ![]() 其实我记得最早Chatgot在loading这块的设计做的还挺细节的,有很多状态展示,更新了几版以后看不到那些可爱的loading设计细节的了。 最后再放出一个AI界著名的独立开发者idoubi曾经做过的一个隐藏款产品,多语种AI搜索引擎,BiLin.ai,我一直觉得BiLin的loading设计的很棒,可以看到AI帮你执行到哪一步了,有效缓解搜索和推理复杂问题耗时太长问题。(🪄www.) ![]() 当然除了对话的loading效果,还有图片生成的loading设计: Chatgpt生图: ![]() ![]() 生图loading也有很多巧思设计,等待大家慢慢挖掘! 类似的在用户和AI的交互过程中告知模型目前的思考过程与思路的设计都可以有效提升AI交互的体验,也可以增加用户对大模型输出信任感,我想这也是为什么Deepseek推理过程的展示能让AI对话产品用户增量有了质的飞跃。 ☺️ 就分享到这了,下一篇分享也会很有趣! 参考链接: https:///zh-CN https://chat./ https://www./blog/chain-of-thought-prompting-cot-everything-you-need-to-know https:///ru/docs/intermediate/chain_of_thought https://www.woshipm.com/aigc/6126239.html https://blogs./chain-of-thought-prompting-elicits-reasoning-in-large-language-models/ |
|
来自: Tomsp360lib > 《AI人工智能》