
如何提升大模型Agent能力?大模型零基础入门到精通,收藏这篇就够了_如何优化大模型agent
坚持到了这儿,恭喜你,表示你有做AI大模型工程师的潜力。其实我想说的上面的内容只是冰山一角,刚开始大家不需要多么精通了解这些内容。主要是不断练习,让自己跳出「舒适区」,进入「学习区」,但是又不进入「恐慌区」,不断给自己「喂招」。记住,学习是一个持续的过程。大模型技术日新月异,每天都有新的研究成果和技术突破。要保持对知识的渴望,不断学习最新的技术和算法。同时,实践是检验学习成果的最佳方式。通过实际项
“ 从去年GPT爆火之后,越来越多的工业界和学术界都关注Agent的应用。本文尝试捋一下两方面工作:1、对于较为复杂的任务,Agent推理规划能力一直被诟病,尤其是《TravelPlanner: A Benchmark for Real-World Planning with Language Agents 》,发现对于复杂规划任务,即便如SOTA模型GPT4也只能达到0.6%,其他LLMs全军覆没。2、对于大部分公司来说,经常需要进行技术自研,那么有哪些方法可以提升LLM的agent能力**”**
TL;DR:
COT |
基于思维链增强LLM |
TOT |
DFS、BFS思维树 |
React:Reason and Action |
既思考又行动,多次迭代取得最终结果。 |
Reflexion |
提供口头交互轨迹作为强化学习的反馈 |
AgentTuning | 通过多任务微调来提升agent泛化能力 |
FireAct | 基于丰富的对话路径进行提升 |
AgentFLAN |
数据构造,将训练语料格式与预训练保持一致 |
KnowAgent |
基于动作知识库进行提升agent推理能力 |
AutoACT | 基于多agent |
01
—
COT:慢思考的开始
思维链:一直跟进大模型的同学对这个技术应该听了很多遍,确实是非常具有开创性的工作,至于之后的各种推理一致性、multi-step 推理都是花式的对思维链的补充。具体原文来说:Chain-of-thought prompting enables large language models to tackle complex arithmetic, commonsense, and symbolic reasoning tasks。通过增加推理过程到prompt中,能很大幅度的提升在数学推理、常识推理、符号推理上的指标。具体做法如下经典图:
但这个工作笔者觉得最重要的可能不是这样一个简单的例子。而是对于大模型的认知理念的差异。过去几年很长一段时间,都是将bert等nlp模型视为理解文本的语义。但现在的差异在于将大模型视为Agent,视为一个能思考的个体,这个在去年六七月可能都没有多少人这么坚信,现在则不同。如果你始终坚信,大模型具备初高中学生的能力,你要做的工作只是激发他的能力,那才有可能有Jason Wei思维链这样的工作。这里在放一张对于快慢思考的对比图:当我们完成直觉本能的一些任务如2+2=?,根本不需要思考,但问题变得复杂之后,我们则需要理性的、逻辑的决策思考。这个理念我们后面做大模型的落地应用应该也要去坚守。
02
—
ToT:思维树
思维树就是在这样的理念下进行试验分析的,选择的任务是Game of 24,给你4个数字通过什么样的运算(加减乘除)可以得到24。从图上可以看出来,思维树比起原始思维链和一致性思维链,做的更细致,并不要求每个路径一条路走到黑,而是每一步进行搜索如BFS、DFS,在探索的时候还可以进行验证和回溯。个人觉得最值得参考的点是不断向人或者机器去解决一个问题的方式去思考。
这里提供一个简单的Prompt,我经常用来日常排障:
Imagine three different experts are answering this question.
All experts will write down 1 step of their thinking, then share it with the group.
Then all experts will go on to the next step, etc.
If any expert realises they’re wrong at any point then they leave.
The question is…
假设三位不同的专家来回答这个问题。所有专家都写下他们思考这个问题的第一个步骤,然后与大家分享。然后,所有专家都写下他们思考的下一个步骤并分享。以此类推,直到所有专家写完他们思考的所有步骤。只要大家发现有专家的步骤出错了,就让这位专家离开。请问…
03
—
ReAct:知行合一
React的全称是Reason and Action,既思考又行动,这个框架意义也挺大,后续很多agent sft的工作都是参考这篇文章。这里的Reason就是指的思维链推理过程,Action指的是不同场景下采取的动作,跟环境紧密相关。他的意义在于,之前COT、TOT获取信息的来源为不同的思考路径,但如果agent本身会在不同环境中完成任务,那么一定会进行交互,这里交互的执行动作,会给agent带来更多的信息,比如成功或失败的信息,有没有完成的任务。论文实验的一些任务包含 《做家务》、《多跳推理问答》等需要反复推理动作的任务。
格式还是比较简单:
通过<环境Observation>反思:
首次把Action也纳入解决问题模块,相比纯Reason和纯Action,解决复杂问题要更好
Thought: …
Action: …
Observation: … … (Repeated many times)
04
—
Reflexion:Verbal强化学习
这篇论文的题目是Reflexion: Language Agents with Verbal Reinforcement Learning。主要有两点:1、大模型就是Agent了2、Verbal强化学习。Verbal的含义为:adj.口头的,非书面的;用言辞的,文字的。为什么要提出这个概念,可以看看下图。在ReAct的基础之上,专门增加一个Evaluator进行reward的打分,等价于强化学习中的环境奖励。使用交互轨迹和奖励进行综合反思。
从几个经典任务如Alfworld、HotpotQA等上提升还是比较明显的
05
—
AgentTuning:多任务微调Agent
这是智谱AI的工作,还是比较良心的,数据和模型都放了出来。论文提出了一种名为AgentTuning的方法,通过构建一个轻量级的指令调整数据集AgentInstruct,并采用混合指令调整策略,结合AgentInstruct和开源通用指令进行微调,从而在不损害LLMs的一般能力的情况下增强其代理能力。AgentTuning用于对Llama 2系列进行指令调整,生成AgentLM。
Key TakeAway:
-
数据格式:agent的SFT数据格式为ReAct
-
数据量级:AgentInstruct数据集包含了来自六个不同代理任务的1,866个经过验证的交互轨迹,这些轨迹具有高质量的Chain-of-Thought(CoT)推理过程
-
数据配比(1领域:4通用):论文中通过在7B规模的模型上从0到1的区间内以0.1的间隔扫描混合比例η,最终选择了η=0.2,这在未见过的代理任务上表现最佳,即20%的数据来自于AgentInstruct数据集,这部分数据专注于提升模型的代理能力,例如规划、记忆和工具利用等特定Agent任务,其他都是通用shareGPT数据
-
Trajectory:多轮轨迹用于LLM学习。给后续研究提供一些参考即如何保证trajectory的多样性和质量
实验结果表明,在alfword、hotpot等几个任务上训练后,在没有训练过的场景任务上也能有不错的效果,这进一步体现了大模型的巨大潜力,类似于FLAN-T5,只不过换成了agent相关工具使用或者推理的泛化能力。
06
—
FireACT:对话路径多样性
这篇论文也是通过微调的方式提升大模型的Agent的能力,只不过数据的形式有了些新的思考:不同思维框架如COT、React、Reflexion等的数据格式混合能提升多样性。
所以基本上可以总结为如下图,通过不同任务不同格式的轨迹数据微调大模型的agent能力。
07
—
AgentFLAN:数据构造与预训练一致性
这个工作比较重要的是对于数据的处理,主要包含两个发现:
(1) SFT一个agent和预训练数据格式不一致。可看下图
(2) LLMs 对于不同任务的学习不一样(可能是观察数据来的假设)
(3) 当前方法会有些幻觉:如格式不对或调用不存在的工具
KeyTakeAway:
-
保证数据的一致性,将一个任务拆分成多轮对话的如图
-
数据配比:将多轮对话拆分为推理、检索、理解、指令遵循,并在数据构造的时候均衡各类型的比例
-
-
对于幻觉问题,增加负样本
-
08
—
KnowAgent:动作知识库增强
这篇论文介绍了KNOWAGENT,这是一个旨在增强大型语言模型(LLMs)规划能力的新方法。它通过结合明确的行动知识来解决LLMs在与环境交互时生成可执行行动的复杂推理任务中的不足,特别是在任务解决过程中规划轨迹的指导不足,导致规划幻觉问题。
具体来说KNOWAGENT利用行动知识库来约束规划过程中的行动路径,通过**将行动知识转换为文本,使模型能够更深入地理解和利用这些知识来创建行动轨迹。**最后,**通过知识型自学习阶段,使用模型迭代过程中开发的轨迹**来不断改进其对行动知识的理解及其应用即**迭代式SFT**
总结来说也是一篇关于数据的工作,只不过,框架从多轮轨迹的优化增加到类似RAG的思路,将动作知识库转化为文本融入模型微调过程中去。
-
什么是动作知识库?
-
动作知识库(Action Knowledge Base, AKm)是KNOWAGENT框架中的一个关键组成部分,它定义了一组特定的动作(Ea)以及管理这些动作转换的规则(R)。这些动作和规则构成了一个结构化的知识体系,用于指导语言模型在执行任务时生成合理的行动轨迹。以下是一个简化的动作知识库案例,用于解释其结构和应用:
-
动作集合 (Ea):
-
Search: 搜索相关信息或数据。
-
Retrieve: 检索特定的信息或实体。
-
Lookup: 在已知信息中查找特定关键词或数据。
-
Finish: 完成任务并输出结果。
-
动作规则 ®:
-
Rule 1 (Search -> Retrieve): 如果当前动作是Search,下一个合法的行动可以是Retrieve,表示在搜索后找到一个具体实体。
-
Rule 2 (Search -> Lookup): 从Search动作可以转换到Lookup,表示在搜索过程中需要查找特定关键词。
-
Rule 3 (Retrieve -> Finish): 如果Retrieve动作成功,可以接着执行Finish动作,表示检索到所需信息后完成任务。
-
Rule 4 (Lookup -> Finish): 如果Lookup动作找到了所需答案,可以直接执行Finish动作结束任务。
-
动作知识库应用案例:
-
假设我们有一个多跳问答任务,需要回答“华盛顿特区最大的私立医院是儿童国家医疗中心还是MedStar华盛顿医院中心?”这个问题。
-
Start: 初始状态,模型需要确定如何获取答案。
-
Search: 模型执行Search动作,搜索“华盛顿特区私立医院”相关信息。
-
Retrieve: 根据Search结果,模型执行Retrieve动作,找到“儿童国家医疗中心”和“MedStar华盛顿医院中心”的具体信息。
-
Lookup: 模型在检索到的信息中执行Lookup动作,查找两个医院的规模比较。
-
Finish: 一旦模型通过Lookup动作确定了哪个医院更大,就执行Finish动作,输出最终答案并结束任务。
-
在这个案例中,动作知识库确保了模型在规划和执行任务时遵循逻辑和顺序,避免了不合理的行动序列,如直接从Search跳到Finish而忽略了中间的检索和查找步骤。通过这种方式,动作知识库有助于提高模型在复杂任务中的性能和准确性。
09
—
AutoAct:MultiAgent
前面的这些工作,不同prompt框架,不同agent finetuning的方法,基本都是建立在一个模型完成所有的agent任务的目标去的。这篇论文则考虑到了多智能体的思路。并且给出了一个表格对比他所拥有的能力范围,自然是比较全面的选手,只不过Generality和Reflection都没那么值得去说,这里比较的重点应该是多智能体的提出。怎么进行多代理协作等应该比较被关注?
具体来说:
多代理协作的一个具体案例可以通过以下步骤实现:
任务定义:
假设我们有一个多跳问答任务(例如HotpotQA),其中问题需要通过多个步骤和推理来解答。例如,问题可能是:“在《傲慢与偏见》中,达西先生的庄园位于英格兰德比郡的什么地方?”答案应该是“彭伯里”。
-
自我规划:
-
元代理(META-AGENT)首先通过自我指导(Self-Instruct)生成一组初始的问答对,这些问答对作为训练数据。然后,元代理利用工具库(Tool Library)中的信息自动选择适合的工具,比如搜索引擎、知识检索工具等。
-
规划轨迹合成:
-
元代理使用选定的工具来自动生成规划轨迹,这些轨迹包含了一系列的思考(Thought)、行动(Action)和观察(Observation)记录。例如,元代理可能会生成一个轨迹,其中包含使用搜索引擎查找与“达西先生”和“彭伯里”相关的信息,然后从搜索结果中提取答案。
-
自我分化:
-
根据合成的规划轨迹,元代理分化成三个子代理:
-
计划代理(Plan-Agent)决定下一步的行动计划。
-
工具代理(Tool-Agent)根据计划代理的指示调用搜索引擎,并提供必要的参数(如搜索查询)。
-
反思代理(Reflect-Agent)评估行动的结果,并确定是否需要进一步的行动或已经找到了正确答案。
-
微调实现:
-
对于每个子代理,使用特定的LoRA(Low-Rank Adaptation)模型进行微调。微调过程中,每个子代理都会针对其特定的任务和责任进行训练,以便更有效地执行其功能。例如,计划代理可能会被训练来更好地理解问题和上下文,以便制定有效的行动计划;工具代理可能会被训练来更准确地调用和使用外部工具;反思代理可能会被训练来更好地评估答案的正确性。
-
群体规划:
-
在实际的推理过程中,这些子代理会协作完成任务。计划代理提出行动计划,工具代理执行计划中的工具调用,反思代理评估结果并提供反馈。这个协作过程可能需要多轮迭代,直到找到满意的答案。
通过这种方式,AUTOACT框架能够实现多代理之间的有效协作,每个代理都在其专业领域内进行微调,以提高整体任务的执行效率和准确性。这种方法允许每个代理专注于其特定的任务,而不是将所有任务都放在一个单一的模型中处理,从而提高了系统的灵活性和可扩展性。
本质上还是拆解任务,做更好的数据处理。
总结:本文捋了下提升大模型agent能力的一些方法,从思维链到agent 的finetuning。如果要评价的话个人觉得最有价值的还是CoT,开创了这个方向,其次是AgentTuning,给我们对开源LLM具备agent能力有了一些探索, KnowAgent则是RAG的另一种体现,推理类型也可外挂一些推理知识库进行增强。但类似很多的工作目前还比较有限,大部分都在怎么把sft轨迹的数据质量和多样性进行提高。虽然像AutoAct这种工作已经引入到多智能体协作了,但真正落地还是有很多困难,太多模型对于线上推理也有一定的压力。
对于后续的工作方向,个人可能想去做的一些尝试:
-
数据配比:通用数据和agent能力数据的配比优化
-
统一Prompt框架:保证推理效果和工程性能
-
推理知识的注入:怎么类似RAG外挂的方式高效注入推理知识到大模型
-
agent系统框架:完成一个agent能力需要怎样的的工程和算法架构,需要多少个模型才算最佳?
Reference:
-
1、cot:https://arxiv.org/pdf/2201.11903.pdf
-
2、tot:https://arxiv.org/pdf/2305.10601.pdf
-
3、react:https://arxiv.org/pdf/2210.03629.pdf
-
4、reflexion:https://arxiv.org/pdf/2303.11366.pdf
-
5、agent tuning:https://arxiv.org/pdf/2310.12823.pdf
-
6、fireact:https://arxiv.org/pdf/2310.05915.pdf
-
7、agentFlan:https://arxiv.org/pdf/2403.12881.pdf
-
8、knowagent:https://arxiv.org/pdf/2403.03101.pdf
-
9、autoact:https://arxiv.org/pdf/2401.05268.pdf
-
10、Travel Plan:https://arxiv.org/pdf/2402.01622.pdf
AI大模型入门基础教程
第1章 快速上手:人工智能演进与大模型崛起
1.1 从AI到AIOps
1.2 人工智能与通用人工智能
1.3 GPT模型的发展历程
第2章 大语言模型基础
2.1 Transformer 模型
嵌入表示层
注意力层
前馈层
残差连接与层归一化
编码器和解码器结构
2.2 生成式预训练语言模型 GPT
无监督预训练
有监督下游任务微调
基于 HuggingFace 的预训练语言模型实践
2.3 大语言模型结构
LLaMA 的模型结构
注意力机制优化
第3章 大语言模型基础
3.1 数据来源
通用数据
专业数据
3.2 数据处理
低质过滤
冗余去除
隐私消除
词元切分
3.3 数据影响分析
数据规模影响
数据质量影响
数据多样性影响
3.4 开源数据集合
Pile
ROOTS
RefinedWeb
SlimPajama
第4章 分布式训练
4.1 分布式训练概述
4.2 分布式训练并行策略
-
数据并行
-
模型并行
-
混合并行
-
计算设备内存优化
4.3 分布式训练的集群架构
-
高性能计算集群硬件组成
-
参数服务器架构
-
去中心化架构
4.4 DeepSpeed 实践
-
基础概念
-
LLaMA 分布式训练实践
第5章 有监督微调
5.1 提示学习和语境学习
提示学习
语境学习
5.2 高效模型微调
LoRA
LoRA 的变体
5.3 模型上下文窗口扩展
具有外推能力的位置编码
插值法
5.4 指令数据构建
手动构建指令
自动生成指令
开源指令数据集
5.5 Deepspeed-Chat SFT 实践
代码结构
数据预处理
自定义模型
模型训练
模型推
第6章 强化学习
6.1 基于人类反馈的强化学习
6.2 奖励模型
6.3 近端策略优化
6.4 MOSS-RLHF 实践
第7章 大语言模型应用
7.1 推理规划
7.2 综合应用框架
7.3 智能代理
7.4 多模态大模型
7.5 大语言模型推理优化
第8章 大语言模型评估
8.1 模型评估概述
8.2 大语言模型评估体系
8.3 大语言模型评估方法
8.4 大语言模型评估实践
总结
坚持到了这儿,恭喜你,表示你有做AI大模型工程师的潜力。其实我想说的上面的内容只是冰山一角,刚开始大家不需要多么精通了解这些内容。主要是不断练习,让自己跳出「舒适区」,进入「学习区」,但是又不进入「恐慌区」,不断给自己「喂招」。
记住,学习是一个持续的过程。大模型技术日新月异,每天都有新的研究成果和技术突破。要保持对知识的渴望,不断学习最新的技术和算法。同时,实践是检验学习成果的最佳方式。通过实际项目实践,你将能够将理论知识转化为实际能力,不断提升自己的技术实力。
最后,不要忘记与同行交流和学习。AI大模型领域有许多优秀的专家和社区,他们可以为你提供宝贵的指导和建议。参加技术交流会、阅读论文、加入专业论坛,这些都是提升自己技术水平的好方法。
祝愿你在AI大模型的学习之旅中取得丰硕的成果,开启属于你的AI大模型时代!
如何学习大模型 AI ?
由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。
但是具体到个人,只能说是:
“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。
这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。
作为一名热心肠的互联网老兵,我决定把宝贵的AI知识分享给大家。 至于能学习到多少就看你的学习毅力和能力了 。我已将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
一、大模型全套的学习路线
学习大型人工智能模型,如GPT-3、BERT或任何其他先进的神经网络模型,需要系统的方法和持续的努力。既然要系统的学习大模型,那么学习路线是必不可少的,下面的这份路线能帮助你快速梳理知识,形成自己的体系。
L1级别:AI大模型时代的华丽登场
L2级别:AI大模型API应用开发工程
L3级别:大模型应用架构进阶实践
L4级别:大模型微调与私有化部署
一般掌握到第四个级别,市场上大多数岗位都是可以胜任,但要还不是天花板,天花板级别要求更加严格,对于算法和实战是非常苛刻的。建议普通人掌握到L4级别即可。
今天只要你给我的文章点赞,我私藏的大模型学习资料一样免费共享给你们,来看看有哪些东西。
如何学习大模型 AI ?
由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。
但是具体到个人,只能说是:
“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费
】
一、全套AGI大模型学习路线
AI大模型时代的学习之旅:从基础到前沿,掌握人工智能的核心技能!
二、640套AI大模型报告合集
这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。
三、AI大模型经典PDF籍
随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。
四、AI大模型商业化落地方案
作为普通人,入局大模型时代需要持续学习和实践,不断提高自己的技能和认知水平,同时也需要有责任感和伦理意识,为人工智能的健康发展贡献力量。
第一阶段(10天):初阶应用
该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。
- 大模型 AI 能干什么?
- 大模型是怎样获得「智能」的?
- 用好 AI 的核心心法
- 大模型应用业务架构
- 大模型应用技术架构
- 代码示例:向 GPT-3.5 灌入新知识
- 提示工程的意义和核心思想
- Prompt 典型构成
- 指令调优方法论
- 思维链和思维树
- Prompt 攻击和防范
- …
第二阶段(30天):高阶应用
该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。
- 为什么要做 RAG
- 搭建一个简单的 ChatPDF
- 检索的基础概念
- 什么是向量表示(Embeddings)
- 向量数据库与向量检索
- 基于向量检索的 RAG
- 搭建 RAG 系统的扩展知识
- 混合检索与 RAG-Fusion 简介
- 向量模型本地部署
- …
第三阶段(30天):模型训练
恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。
到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?
- 为什么要做 RAG
- 什么是模型
- 什么是模型训练
- 求解器 & 损失函数简介
- 小实验2:手写一个简单的神经网络并训练它
- 什么是训练/预训练/微调/轻量化微调
- Transformer结构简介
- 轻量化微调
- 实验数据集的构建
- …
第四阶段(20天):商业闭环
对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。
- 硬件选型
- 带你了解全球大模型
- 使用国产大模型服务
- 搭建 OpenAI 代理
- 热身:基于阿里云 PAI 部署 Stable Diffusion
- 在本地计算机运行大模型
- 大模型的私有化部署
- 基于 vLLM 部署大模型
- 案例:如何优雅地在阿里云私有部署开源大模型
- 部署一套开源 LLM 项目
- 内容安全
- 互联网信息服务算法备案
- …
学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。
如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。
这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费
】
更多推荐
所有评论(0)