让大模型更好的思考(CoT)
1.1 什么是 CoT
2022 年,在 Google 发布的论文《Chain-of-Thought Prompting Elicits Reasoning in Large Language Models》中首次提出,通过让大模型逐步推理,将一个复杂问题分解为若干个子问题,并一步一步的进行推理, 通过这种方式可以显著提升大模型的性能。这种推理方法就被称为思维链(Chain of Thought)。
区别于传统 Prompt 通过控制输入直接端到端的得到输出,即input ——> output
的方式,CoT 完成了从输入到思维链再到输出的映射, 即input——> reasoning chain ——> output
。
自 CoT 问世以来,CoT 的能力已经被无数工作所验证,如下图所示,可以看到,相较于直接 Prompt, CoT 对所有的推理任务都带来了显著的提升
1.2 CoT 的实现
上图展示了几种不同范式下对CoT的实现。对于 Zero-Shot 而言只需要简单的一句 “Let’s think step by step” 就可以让模型一步步思考;对于 Few-Shot 而言, 除了在提问时引入分步的思想,还提供了逐步思考的示例,不仅可以让大模型分步思考,还可以通过示例告诉大模型应该如何分步;对于 Agent 而言, 我们不光通过修改输入的方式实现 CoT,而是人为的对任务进行拆分,并通过多轮对话的方式将 CoT 引入到建模过程当中,实现整体任务维度的 CoT。
如上图所示,CoT 的构造主要以线性为主,对任务进行线性拆分,并按先后顺序以此执行。而随着 CoT 相关研究的不断发展,思维链的形式不仅仅局限在线性的形式,而是衍生出了树状,表状,图状等多种类型, 其中代表工作有 PoT,Tab-CoT,ToT,GoT-Rationale 等等,下图清晰的展示了这几种方法的异同:
1.3 CoT 的应用
CoT 的本质是将一个高度不确定的复杂任务,拆分成若干个确定性较高的子任务,以此提升整个系统的效果和确定性。从 “zero-shot” 和 “few-shot” 范式中,CoT 这是一种推理技巧,而从 “Agent” 范式看,CoT 则更像一种建模思路,这也是 CoT 更核心的思想。当我们面对一个复杂任务时,仅对输入进行改造是不够的,我们还需要进行任务维度的分解,用 CoT 的方式进行建模。
例如,如果我需要大模型帮我完成一篇文章,我有两种做法:
- 输入信息 - 输出文章。
- 输入信息 - 输出大纲 - 完善大纲内容 - 依据要求进行调整 - 输出文章。
这个例子只是一个简单的拆分,但也能在效果上得到很大提升。下面举一个我们实际工作中的例子,我们希望大模型帮助测试同学编写“测试用例”,对于这个任务而言,最直观的做法就是把 “需求” 做为输入,让大模型根据需求进行测试设计,生成“测试用例”,而需求的复杂程度和不确定性对任务造成了极大的阻碍,因此我们引入 CoT 的思想对任务进行了拆分。
如上图所示,我们将这个复杂任务拆分成了3个阶段(实际上每一阶段又会拆分正若干个子步骤)。首先对需求进行分析, 整理需求内容,并从需求中抽取功能点及测试对象;然后基于这些功能点进行用例设计, 编写用例集的整体结构,以及每条用例的测试点,即用例标题;最后对用例进行补全, 根据需求和用例标题编写用例的步骤和预期结果。我们通过这种方式,将任务分为了3个阶段,无论是从“研发”还是从“应用”角度都为我们的任务带来了极大的帮助。
从“研发”角度看, 当我们把一个任务分解为多个阶段后,我们很容易的可以找到其中 “最简单” 的阶段。例如,在上图的链路中,对需求的分析相对困难,而 “根据标题生成步骤” 则相对简单,以此做为切入点可以在前期为我们避免最复杂的“需求”数据,让我们可以快速达到可应用的效果。 这种研发思路并非仅对这个任务有效,对于前文中提到的 “文章编写” 的例子,“输出大纲” 和 “依据要求进行调整” 显然是更简单的子任务,率先在从这些点切入,也可以帮我们更快的取得成效。
从“应用”角度看, 即便大模型展现出了极为惊艳的效果,但在应用中的短板也十分明显,大家也逐渐看到了大模型能力的限制。基于对现有模型能力的判断,“人机协同(copilot)” 被越来越多人认为是更好的方式。而 “人机协同” 是一个共同生产的过程,如果大模型仅仅是端到端的完成一个任务,人很难介入的,而当我们进行了任务维度的拆分后,每一个子任务都可以与人协同。例如,在“用例生成”中,人可以先对需求进行分析,再让大模型进行用例设计,通过这种人机协同的应用模式,我们可以让大模型在应用中更快速的落地。
大模型时代,火爆出圈的LLM大模型让程序员们开始重新评估自己的本领。 “AI会取代那些行业
?”“谁的饭碗又将不保了?
”等问题热议不断。
事实上,抢你饭碗的不是AI,而是会利用AI的人。
继科大讯飞、阿里、华为
等巨头公司发布AI产品后,很多中小企业也陆续进场!超高年薪,挖掘AI大模型人才! 如今大厂老板们,也更倾向于会AI的人,普通程序员,还有应对的机会吗?
与其焦虑……
不如成为「掌握AI工具的技术人
」,毕竟AI时代,谁先尝试,谁就能占得先机!
但是LLM相关的内容很多,现在网上的老课程老教材关于LLM又太少。所以现在小白入门就只能靠自学,学习成本和门槛很高。
针对所有自学遇到困难的同学们,我帮大家系统梳理大模型学习脉络,将这份 LLM大模型资料
分享出来:包括LLM大模型书籍、640套大模型行业报告、LLM大模型学习视频、LLM大模型学习路线、开源大模型学习教程
等, 😝有需要的小伙伴,可以 扫描下方二维码领取🆓↓↓↓
一、LLM大模型经典书籍
AI大模型已经成为了当今科技领域的一大热点,那以下这些大模型书籍就是非常不错的学习资源。
二、640套LLM大模型报告合集
这套包含640份报告的合集,涵盖了大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。(几乎涵盖所有行业)
三、LLM大模型系列视频教程
四、LLM大模型开源教程(LLaLA/Meta/chatglm/chatgpt)
LLM大模型学习路线 ↓
阶段1:AI大模型时代的基础理解
-
目标:了解AI大模型的基本概念、发展历程和核心原理。
-
内容:
- L1.1 人工智能简述与大模型起源
- L1.2 大模型与通用人工智能
- L1.3 GPT模型的发展历程
- L1.4 模型工程
- L1.4.1 知识大模型
- L1.4.2 生产大模型
- L1.4.3 模型工程方法论
- L1.4.4 模型工程实践
- L1.5 GPT应用案例
阶段2:AI大模型API应用开发工程
-
目标:掌握AI大模型API的使用和开发,以及相关的编程技能。
-
内容:
- L2.1 API接口
- L2.1.1 OpenAI API接口
- L2.1.2 Python接口接入
- L2.1.3 BOT工具类框架
- L2.1.4 代码示例
- L2.2 Prompt框架
- L2.3 流水线工程
- L2.4 总结与展望
阶段3:AI大模型应用架构实践
-
目标:深入理解AI大模型的应用架构,并能够进行私有化部署。
-
内容:
- L3.1 Agent模型框架
- L3.2 MetaGPT
- L3.3 ChatGLM
- L3.4 LLAMA
- L3.5 其他大模型介绍
阶段4:AI大模型私有化部署
-
目标:掌握多种AI大模型的私有化部署,包括多模态和特定领域模型。
-
内容:
- L4.1 模型私有化部署概述
- L4.2 模型私有化部署的关键技术
- L4.3 模型私有化部署的实施步骤
- L4.4 模型私有化部署的应用场景
这份 LLM大模型资料
包括LLM大模型书籍、640套大模型行业报告、LLM大模型学习视频、LLM大模型学习路线、开源大模型学习教程
等, 😝有需要的小伙伴,可以 扫描下方二维码领取🆓↓↓↓
本文转自 https://blog.csdn.net/pythonhy/article/details/141263591?spm=1001.2014.3001.5501,如有侵权,请联系删除。