【大模型】Agent基础知识

news2024/11/14 14:34:37

目录

  • 1. 基本框架
  • 2. 常见推理模式
    • 2.1 ReAct: Synergizing Reasoning and Acting in Language Models
    • 2.2 Reflection
    • 2.3 LATS: Language Agents Tree Search
  • 3. 微调
    • 3.1 全模型微调(Full Model Fine-Tuning)
    • 3.2 冻结部分层微调(Layer-wise Fine-Tuning)
    • 3.3 适配器(Adapters)
    • 3.4 提示学习(Prompt-based Learning)
    • 3.5 混合微调(Hybrid Fine-Tuning)
    • 3.6 逐层解冻(Progressive Layer Unfreezing)
    • 3.7蒸馏(Knowledge Distillation)
  • 参考文献

1. 基本框架

分类

  • 单智能体= 大语言模型(LLM) + 观察(obs) + 思考(thought) + 行动(act) + 记忆(mem)
  • 多智能体=智能体 + 环境 + SOP + 评审 + 通信 + 成本

    组成主要有四个部分:推理、记忆、工具、行动

2. 常见推理模式

各种智能体可以结合使用。

2.1 ReAct: Synergizing Reasoning and Acting in Language Models

  • 定义:结合了推理能力(Reasoning)和执行行动(Acting)能力的智能体。智能体原本的行动空间为A,在A的基础上增加了一个L,即行动空间变成了A U L。其中L是思考推理,不会对environment有影响。
  • 适用场景:知识密集型推理任务
  • 两大应用
    • ALFWorld
    • WebShop

2.2 Reflection

  • 定义:将任务反馈信号转化为反思,并将其保存在循环记忆缓冲区中以诱导更好的决策,在后续试验中提高决策能力。
  • 适用场景:长期对话系统

2.3 LATS: Language Agents Tree Search

  • 定义
  • 方法描述:LATS是一种基于蒙特卡罗树搜索(MCTS)的推理决策框架,旨在支持自然语言任务中的推理和决策。该框架通过将一个思考序列作为节点,使用预训练的语言模型来评估每个节点的价值,并根据环境反馈更新价值函数。同时,它还具有自我反思功能,可以从失败的轨迹中学习并提高其决策能力。
  • 适用场景
    • 推理问题:当输入一个问题时,可以通过LATS生成一系列中间想法(思考序列),最终得到答案。
    • 决策问题:当需要在多个选项之间做出选择时,LATS可以根据不同的情况生成不同的决策路径,并从中选择最优解。

3. 微调

微调(Fine-tuning)智能体模型(Agent)是一种常见的方法,用于在特定任务或特定数据集上优化预训练模型的性能。以下是一些常见的微调方法,尤其是在深度学习和大模型中的应用:

3.1 全模型微调(Full Model Fine-Tuning)

  • 方法:在微调过程中,对预训练模型的所有参数进行更新。这种方法通常用于当目标任务与预训练任务有较大差异时,需要模型在所有层次上进行调整。
  • 优点:可以最大化适应目标任务。
  • 缺点:计算开销大,容易过拟合。

3.2 冻结部分层微调(Layer-wise Fine-Tuning)

  • 方法:冻结模型的前几层,只微调模型的后几层(通常是顶层)。这是因为底层特征往往是通用的,而顶层特征则与具体任务更相关。
  • 优点:减少计算量,保留底层特征的稳定性。
  • 缺点:在任务差异较大时,可能效果不佳。

3.3 适配器(Adapters)

  • 方法:引入小型的适配器模块(Adapter Modules),将其插入预训练模型的各层。这些模块具有可训练的参数,而原始模型参数则保持冻结或部分微调。
  • 优点:参数量小,计算效率高,容易在多个任务之间切换。
  • 缺点:需要额外设计和实现适配器模块。

3.4 提示学习(Prompt-based Learning)

  • 方法:通过设计提示词(Prompts)引导预训练模型适应新任务。提示词可以是文本形式,也可以是嵌入向量。
  • 优点:无需对模型进行大规模修改或微调,只需调整输入。
  • 缺点:对提示词设计要求高,适用范围有限。

3.5 混合微调(Hybrid Fine-Tuning)

  • 方法:结合冻结部分层微调和适配器等方法,同时调整模型的一部分参数和增加少量新参数。这种方法平衡了适应性和计算开销。
  • 优点:在适应性和资源效率之间找到平衡点。
  • 缺点:设计复杂,可能需要多次实验进行调优。

3.6 逐层解冻(Progressive Layer Unfreezing)

  • 方法:逐层解冻模型的参数,从顶层开始逐步解冻每一层,并微调解冻的层。这可以逐步调整模型参数,避免一次性调整导致的剧烈变化。
  • 优点:逐步调整,降低过拟合风险。
  • 缺点:训练时间较长,需精细管理。

3.7蒸馏(Knowledge Distillation)

  • 方法:将大型预训练模型(Teacher Model)的知识传递给较小的模型(Student Model),通过微调小模型使其在性能上接近大模型。
  • 优点:得到轻量化模型,部署更高效。
  • 缺点:蒸馏过程复杂,需要额外的教师模型训练。

参考文献

[1]手把手教你从0到1搭建一个AI Agent(智能体)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2094693.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

IPC核间通信底层原理:以PL320为例

什么是IPC核间通信 讲到IPC可能很多同学想到的是InterProcess Communication进程间通信,但是本文主要是讲另一种Inter-processor communication,处理器间通信,也叫核间通信,名字很像不要搞混。 为什么需要核间通信 现在的芯片系统非常复杂…

企业微信dll,最新版dll

1.基础信息获取,如登录用户信息、联系人列表、群组列表等。 2.联系人操作,如修改备注、添加删除联系人等。 3.群操作,如创建群聊、邀请添加成员、修改群信息等。 4.消息发送,支持文本、图片、文件、位置等不同类型消息的发送。 5.支持通过DLL调用实现自动化功能,如机器人自动回…

Python一些可能用的到的函数系列131 发送钉钉机器人消息

说明 来自顾同学的助攻 钉钉机器人可以用来发送一些重要的系统消息,例如磁盘将满等等。原本还可以有更强的功能,就是监听群里的消息,然后做出反应,不过这个好像要买企业版,贵的毫无意义。 钉钉发消息有几种模式&#…

python中pip源配置

文章目录 1、前言2、pip下载源配置 1、前言 conda环境的源配置,相关博客有很多,这里不再赘述。在我使用梯子后,使用pip进行库安装,总是出现错误情况,如下所示: 2、pip下载源配置 因此,在这里进…

Django+Vue农产品销售系统的设计与实现

目录 1 项目介绍2 项目截图3 核心代码3.1 需要的环境3.2 Django接口层3.3 实体类3.4 config.ini3.5 启动类3.5 Vue 4 数据库表设计5 文档参考6 计算机毕设选题推荐7 源码获取 1 项目介绍 博主个人介绍:CSDN认证博客专家,CSDN平台Java领域优质创作者&…

「Claude3.5」全面超越「gpt-4o」,我用它做了个贪吃蛇,玩了一整天!

大家好,我是凡人。 就在昨天晚上Anthropic在X上连续发了4条动态来高调宣布他们的Claude 3.5 Sonnet中杯的版本已经全面向公众开放使用,大批的技术博主连夜测试,纷纷给出的不低的评价。 而这还仅仅是开胃小菜,官方宣称今年晚些时候…

37集【重要】编译ESP-RTC工程并运行在01-RTC开发板中

37集【重要】编译ESP-RTC工程并运行在01-RTC开发板中 开发板样子这样的: 还有配套的外壳: 开发板介绍文档如下,有需要的可以联系三哥,三哥介绍这位大拿给你: https://www.kdocs.cn/l/cqAyZ0T3Q06Y 我们把d:\Espre…

单片机编程魔法师-消息处理

消息机制 消息处理的编程思路是当某件事产生后只发送一条事件产生消息以通知相应执行机构执行的一种编程思路。 消息定义 什么是消息,消息是一个指示,可以是数字,字符串,字符或者是任何形式的其他标识符 消息定义的形式与消息…

模型 冯/诺依曼思维模型

系列文章 分享 模型,了解更多👉 模型_思维模型目录。分解问题,创新整合,高效解决。 1 冯/诺依曼思维模型的应用 1.1 景区创建5A级旅游景区提升规划 在面对如何将某个景区创建为5A级旅游景区的复杂任务时,可以采用冯诺…

MySQL7 SQL执行顺序、SQL语句执行顺序、学生选课表练习

文章目录 一、SQL执行顺序二、MySQL执行过程三、SQL执行顺序四、学生选课表练习创建表1. 查询” 01 “课程比” 02 “课程成绩高的学生的信息及课程分数2. 查询平均成绩大于等于 60 分的同学的学生编号和学生姓名和平均成绩3. 查询在 SC 表存在成绩的学生信息4. 查询所有同学的…

大二必做项目贪吃蛇超详解之中篇游戏设计与分析

贪吃蛇系列文章 上篇win32 中篇设计与分析 文章目录 贪吃蛇系列文章1. 地图1. 1 <locale.h>本地化1. 2 类项1. 3 setlocale函数1. 4 宽字符的打印1. 5 地图坐标 2. 蛇身和食物3. 数据结构设计4. 游戏流程设计5. 核心逻辑实现分析5. 1 游戏主逻辑5. 2 GameStart5. 2. 1 S…

51单片机——蜂鸣器

1、蜂鸣器简介 蜂鸣器是一种将电信号转换为声音信号的器件&#xff0c;常用来产生设备的按键音、报警音等提示信号。 蜂鸣器按驱动方式可分为有源蜂鸣器和无源蜂鸣器 。 有源蜂鸣器&#xff1a;内部自带振荡源&#xff0c;将正负极接上直流电压即可持续发声&#xff0c;频率…

Python青少年简明教程:列表(List)、元组(tuple)和字典(dict)

Python青少年简明教程&#xff1a;列表&#xff08;List&#xff09;、元组&#xff08;tuple&#xff09;和字典&#xff08;dict&#xff09; 在Python中&#xff0c;列表&#xff08;List&#xff09;、元组&#xff08;Tuple&#xff09;和字典&#xff08;Dict&#xff09…

防火墙基本原理入门篇,小白一看就懂!

吉祥知识星球http://mp.weixin.qq.com/s?__bizMzkwNjY1Mzc0Nw&mid2247485367&idx1&sn837891059c360ad60db7e9ac980a3321&chksmc0e47eebf793f7fdb8fcd7eed8ce29160cf79ba303b59858ba3a6660c6dac536774afb2a6330&scene21#wechat_redirect 《网安面试指南》…

基于FPGA实现SD卡的数据读写(SD NAND FLASH)

文章目录 存储芯片 SD卡 FPGA实现SD NAND读写 设计思路 程序架构 代码实现 实验结果 存储芯片 目前市面上的存储芯片&#xff0c;大致可以将其分为3大类&#xff1a; EEPROM EEPROM (Electrically Erasable Programmable read only memory)是指带电可擦可编程只读存储器…

package.json文件解析

【图书介绍】《Node.jsMongoDBVue.js全栈开发实战》-CSDN博客 《Node.jsMongoDBVue.js全栈开发实战&#xff08;Web前端技术丛书&#xff09;》(邹琼俊)【摘要 书评 试读】- 京东图书 (jd.com) 本节主要介绍package.json文件的作用及文件中各个选项的含义。 2.4.1 node_mod…

【一个简单的整数问题】

问题 TLE代码 #include <bits/stdc.h> using namespace std; const int N 1e510; int b[N]; void add(int l, int r, int d) {b[r1] - d;b[l] d; } int query(int x) {int retval 0;for(int i 1; i < x; i){retval b[i];}return retval; } int main() {int n, m…

【Kubernetes】持久卷声明 PVC

持久卷声明 PVC 1.持久卷和持久卷声明的区别2.在 Pod 中使用持久卷声明3.storageClass 详解 持久卷声明&#xff08;Persistent Volume Claim&#xff0c;PVC&#xff09;&#xff0c;是用户对 Kubernetes 存储资源的一种请求。 通过使用 持久卷声明&#xff08;PVC&#xff0…

yolo训练策略--使用 Python 和 OpenCV 进行图像亮度增强与批量文件复制

简介 在计算机视觉和深度学习项目中&#xff0c;数据增强是一种常用的技术&#xff0c;通过对原始图像进行多种变换&#xff0c;可以增加数据集的多样性&#xff0c;从而提高模型的泛化能力。本文将介绍如何使用 Python 和 OpenCV 实现图像的亮度增强&#xff0c;并将增强后的…

驱动(RK3588S)第二课时:引导程序和内核

目录 一、引导程序&#xff08;uboot&#xff09;1、uboot介绍2、A 系列通用芯片启动流程3、uboot的配置与使用 二、内核&#xff08;kernel&#xff09;1、内核的介绍2、内核的配置、裁剪和编译 三、其他知识点 一、引导程序&#xff08;uboot&#xff09; 1、uboot介绍 ubo…