大模型面经之Agent介绍

面试经验专栏

本篇总结了大模型面经中关于Agent部分相关的知识和内容。

LLM(大型语言模型) Agent 是一种能产出不单是简单文本的 AI 系统,使用 LLM 的能力,作为其计算引擎,让自己能够对话、任务执行、推理,实现一定程度的自主行动

可以说,在这个大模型 AI 时代下,大模型应用 or AI Power + 的应用就是大模型 Agent,等同于移动互联时代的 APP。

本篇将开启一个新系列,尽量细节的讲讲大模型中关于Agent的相关知识内容,因为Agent目前尚未完全流行起来,但是已经有人讨论Agent是目前阶段实现AGI的最优方式。

下面是一个快捷目录:

1.什么是大模型(LLM)Agent?

2.LLM Agent应用例子。

3.LLM Agent流程之一:拆解子目标和任务分解。

什么是大模型(LLM)Agent?

Agent(智能体)概念最早由人工智能领域的研究者提出,旨在模拟人类的智能行为。最初的Agent系统主要集中在解决特定问题或领域,如专家系统、规则引擎等。

20世纪80年代末和90年代初,随着计算机和网络技术的发展,Agent开始融入到各种应用中,如搜索引擎、个人助理等。

强化学习等技术的兴起(2014年起,深度强化学习出现)使得Agent能够通过与环境的交互来学习和优化其行为。

直到现在,基于LLM和深度强化学习结合的Agent已经成为人工智能领域的核心研究方向之一,涉及到智能系统、机器人、游戏、自动化等多个领域。

简而言之,现在的Agent就是LLM + Planning + Memory + Tools,让大模型实现任务自动化,并且能够不断探索、规划和发展新技能。

LLM Agent应用例子

1.西部世界小镇Agent

2023年3月,斯坦福制作了西部世界小镇Agent,构建出了一个虚拟小镇,让25个AI智能体在其中生存、从事复杂行为。如下图所示:

为了生成智能体,研究者提出了一种全新架构,它扩展了大语言模型,能够使用自然语言存储Agent的经历。随着时间的推移,这些记忆会被合成为更高级别的反射,智能体可以动态检索它们,来规划自己的行为。最终,用户可以使用自然语言和全镇的25个Agent都实现交互。

如上,生成式智能体的架构实现了一个记忆「检索」(Retrieve)功能,这一功能将智能体的当前情况/感知(Perceive)作为输入,并返回记忆流(Memory Stream)的一个子集(Retrieved Memories)传递给语言模型,而检索功能有多种可能的实现方式,具体取决于智能体在决定如何行动时考虑的重要因素。

2.BabyAGI

BabyAGI是一个智能个人任务管理和解决工具,它背后的脚本虽然看似简单,但实质上是一个与任务列表交互的语言模型。利用OpenAI GPT-4和Pinecone向量搜索引擎的强大功能,它能自动生成任务、确定任务优先级并执行任务,从而实现任务的自动化管理。

  • BabyAGI从初始任务出发,利用GPT4生成解决方案和新任务,并将这些解决方案存储在Pinecone中以备后续检索。

  • BabyAGI根据先前任务的成果和预设目标制定新任务,并运用Pinecone存储并检索任务结果的上下文。

LLM Agent流程之一:拆解子目标和任务分解

1.规划

生成式智能体通过自上而下递归生成规划,以便创建合理的行动计划。这些规划最初是对当日任务的粗略描述。在执行规划时,智能体持续感知周围环境,并将观察结果存储到记忆流中。利用这些观察结果作为提示,语言模型决定智能体下一步的行动:是继续执行当前规划,还是采取其他反应。规划是Agent重要组成部分,而拆解子目标和任务分解属于规划中的一部分。

2.拆解子目标和任务分解

拆解子目标和任务分解意味着智能体能够将复杂的大型任务拆分成小而易管理的子目标,以实现高效处理。

3.拆解子目标方法

  • Chain of thought要求模型按步骤思考,花更多时间计算,将复杂任务分解成小、简单的步骤。CoT将大任务转化为多个易管理的任务,并解释了模型的思维过程。

  • Tree of Thoughts是对CoT的进一步扩展,通过在每一步骤中探索多种推理可能性来创建一个树形结构。它将问题分解为多个思考步骤,并在每个步骤中生成多个思考。搜索过程可以是BFS或DFS,每个状态由分类器或多数投票原则来决定。

  • Graph of Thoughts支持多种结构的Prompt方案,包括多链、树形和任意图形结构。它实现了各种基于图形的思考转换,如聚合、回溯和循环,这是CoT和ToT无法表达的。通过将复杂问题建模为操作图,以LLM作为引擎自动执行,GoT提供了解决复杂问题的能力,某种程度上,GoT包含了单线条的CoT和多分枝的ToT。

4.任务分解方法

  1. 给LLM一个简单的提示词“Steps for XYZ.”,“What are the subgoals for achieving XYZ?”

  2. 使用针对具体任务的指令,例如对一个写小说的任务先给出“Write a story outline.”指令;

  3. 使用者直接输入;

如何学习大模型 AI ?

由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。

但是具体到个人,只能说是:

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品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%免费

在这里插入图片描述

### 扩散模型的试经验 #### 一、扩散模型的核心概念 扩散模型是一种生成式模型,其核心思想在于通过对噪声逐步去噪的过程来生成高质量的数据样本。这种技术广泛应用于图像生成等领域,并因其稳定性和灵活性而备受关注[^1]。 在试中可能会被问到以下几个方的问题: - **扩散过程与逆向过程的区别**:扩散模型分为两个主要阶段——前向扩散过程和反向生成过程。前者将数据逐渐加入高斯噪声直至完全随机化,后者则通过学习如何去除这些噪声来恢复原始数据[^3]。 - **损失函数的设计**:通常采用均方误差作为目标函数的一部分,在训练期间衡量预测值与实际值之间的差异程度[^4]。 #### 二、与其他生成模型对比分析 除了掌握扩散模型本身的知识外,还需要熟悉它和其他常见生成模型(如VAE, GAN)相比的优势劣势: - 和变分自编码器(VAE)相比较而言,虽然两者都属于概率图模型范畴内解决相似的任务类型即重建输入或者创造新实例出来;但是由于各自架构设计上的不同之处使得它们各有千秋。例如,VAEs倾向于平滑潜在空间表示从而可能牺牲掉某些细节特征表达能力; 而DDPMs更注重保持细粒度结构信息以便于更好地模仿复杂分布特性[^2]。 - 对抗生成网络(GAN),尽管可以产生非常逼真的结果图片,但它临着诸如收敛困难以及模式崩溃等问题。相比之下,扩散模型展现出更加稳健的表现形式并且不需要精心调整超参数就能达到不错的效果[^5]。 #### 三、工程实践中的考量因素 当讨论具体应用场景下的实现方案时,考官也许会进一步探讨如下几个维度的内容: - 数据预处理策略的选择对于最终效果有着至关重要的影响作用。比如标准化操作可以帮助加速收敛速度并提高泛化性能等等。 - 计算资源的有效分配也是不可忽视的一环。考虑到大规模矩阵运算的需求量较大,合理规划GPU/CPU利用率显得尤为重要。 以下是Python代码片段展示了一个简单版本的扩散模型框架构建思路: ```python import torch.nn as nn class DiffusionModel(nn.Module): def __init__(self, input_dim, hidden_dim=128, output_dim=None): super(DiffusionModel, self).__init__() if not output_dim: output_dim = input_dim self.network = nn.Sequential( nn.Linear(input_dim, hidden_dim), nn.ReLU(), nn.Linear(hidden_dim, hidden_dim//2), nn.ReLU(), nn.Linear(hidden_dim//2, output_dim) ) def forward(self, x_tilde, timesteps): combined_input = torch.cat([x_tilde, timesteps], dim=-1) return self.network(combined_input) model_instance = DiffusionModel(784).cuda() # Assuming MNIST dataset with flattened images of size 28*28 pixels. ``` #### 四、未来发展趋势展望 随着研究不断深入和技术手段日益成熟,预计该领域还将迎来更多创新成果涌现。例如探索更低计算成本却依然维持良好表现力的新算法设计方案等方向值得期待。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值