当前位置: 首页 > backend >正文

从0开始学习大模型--Day2--大模型的工作流程以及初始Agent

大模型的工作流程

分词化(Tokenization)与词表映射

分词化(Tokenization)是自然语言处理(NLP)中的重要概念,它是将段落和句子分割成更小的分词(token)的过程。

将一个句子分解成更小的、独立的部分可以帮助计算机理解句子的各个部分,以及它们在上下文中的作用,这对于进行大量上下文的分析尤其重要。分词化有不同的粒度分类:

词粒度(Word-Level Tokenization)分词化:适用于大多数西方语言,比如让大模型翻译英语句子“I want to study ACA.”,其会将其分解为["I","want", "to", "study" ,"ACA","."],以这样的形式来理解句子意思。

字符粒度(Character-Level)分词化:是中文最直接的分词方法,它是以单个汉字为单位进行分词化。

子词粒度(Subword-Level)分词化:它将单词分解成更小的单位,比如词根、词缀等。这种方法对于处理新词(比如专有名词、网络用语等)特别有效,因为即使是新词,它的组成部分(子词)很可能已经存在于词表中了。

每一个token都会通过预先设置好的词表,映射为一个 tokenid,这是token 的“身份证”-句话最终会被表示为一个元素为token id的列表,供计算机进行下一步处理。

大语言模型生成文本的过程

大语言模型的工作概括来说是根据给定的文本预测下一个token。对我们来说,看似像在对大模型提问,但实际上是给了大模型一串提示文本,让它可以对后续的文本进行推理。大模型的推理过程并不是一步到位的,当大模型进行推理时,它会基于现有的token表,根据概率最大原则预测出下一个最有可能的token,然后将该预测的token加入到输入序列中,并将更新后的输入序列继续输入大模型预测下一个token,这个过程叫做自回归。直到输出特殊token(如<EOS>,end ofsentence,专门用来控制推理何时结束)或输出长度达到闽值。简单来说,就是我们给出的问题相对于大模型来说是让其对现有token表做了一个预测,根据回答的文本,先预测出第一个token,输出第一个字,输出的字又会变成token加入到原来的token表中来预测下一个字,平时在使用大模型时看到回答一个字一个字地往外蹦,其实就是大模型在推理。

Agent

AI Agent是基于LLM的能够自主理解,自主规划决策,执行复杂任务的智能体,其设计目的是为了处理那些简单的语言模型无法直接解决的问题,尤其是当这些任务涉及到多个步骤或者需要外部数据源的情况。

在处理问题时,LLM的解决流程是接受输入,思考然后输出,而对于我们人类来说,除了这些流程外,基于问题的不同还可能会涉及到记忆、工具、规划等思考,而这些,就需要Agent来辅助LLM做到了,相当于帮它量化了人类的思维模式。

Agent流程图

规划(Planning):智能体会把大型任务分解为子任务,并规划执行任务的流程;智能体会对任务执行的过程进行思考和反思,从而决定是继续执行任务,或判断任务完结并终止运行。

记忆(Memory):短期记忆,是指在执行任务的过程中的上下文,会在子任务的执行过程产生和暂存,在任务完结后被清空。长期记忆是长时间保留的信息,一般是指外部知识库,通常用向量数据库来存储和检索。

工具使用(Tools):为智能体配备工具 AP1,比如:计算器、搜索工具、代码执行器、数据库查询工具等。有了这些工具AP1、智能体就可以是物理世界交互,解决实际的问题。

执行(Action):根据规划和记忆来实施具体行动,这可能会涉及到与外部世界的互动或通过工具来完成任务。

Agent的决策流程是感知(perception)-规划(planning)-行动(action)-观察(observation)-感知(perception),是一个不断循环的过程,每一个循环代表解决了一个Task。简单来说就是在解决问题时,先感知到问题,理解问题并将其分解为一个个子任务并去完成它,注意每完成一个子任务,都会对结果进行观察,去判定是否应该执行后面的子任务,之前所设定的规划是否需要调整。下面用一个智能家居的场景来梳理一下整个流程:

场景:假设我们有一个智能家居系统,它的任务是根据家庭成员的需求调节室内环境,比如温度和灯光。

1、感知(perception):

家庭成员通过语音助手说:“我感觉有点冷,能不能把温度调高一些?”

智能家居系统通过语音识别和情感分析技术“感知”到用户觉得房间温度太低,需要提高温度。

2、规划(planning):

系统根据用户的需求,规划出下一步的行动,决定如何调节房间温度。

系统可能会制定以下计划:

1.检查当前的室内温度;

2.根据用户的偏好和当前温度决定升高几度合适;

3.调整温度设置,并告知用户。

3、行动(action):

系统执行计划的行动,首先检查当前温度,例如发现室温是20°C。

根据用户的偏好,将温度调高到23°C,并通过语音助手反馈给用户:“我已经将温度调高到23°C,请您稍等,温度将逐渐上升。“

4、观察(observation):

系统观察房间温度的变化,以及用户的反馈。如果用户在几分钟后再次说“现在温度刚刚好,系统会感知到环境调节成功。

如果用户还觉得冷,系统可能会调整计划,进一步调高温度。

循环:

在每个阶段,智能家居系统都可能根据环境变化和用户反馈调整操作。例如,如果调高温度后用户仍然觉得冷,系统会重新规划,进一步调整温度设置方针。

通过这一系列的感知、规划、行动、观察,智能家居系统能够动态响应家庭成员的需求,不断调整室内环境,直到用户舒适为止。

学习来源于B站教程:【进阶篇】02.Agent决策应用场景分析_哔哩哔哩_bilibili

http://www.xdnf.cn/news/4188.html

相关文章:

  • NLP 和大模型技术路线
  • 51单片机同一个timer 作为定时器和波特率发生器么?
  • AutoDL+SSH在vscode中远程使用GPU训练深度学习模型
  • 临床智能体AI与环境感知AI的融合:基于python的医疗自然语言处理深度分析
  • 荣耀A8互动娱乐组件部署实录(第2部分:界面逻辑与资源加载机制)
  • 当智能科技遇上医疗行业会帮助疫苗如何方便管理呢?
  • LeetCode 热题 100 279. 完全平方数
  • Qt开发经验 --- 避坑指南(4)
  • Linux/AndroidOS中进程间的通信线程间的同步 - POSIX IPC
  • SVG数据可视化设计(AI)完全工作流解读|计育韬
  • VSCode|IDEA|PyCharm无缝接入DeepSeek R1实现AI编程
  • hybird接口配置
  • 【基础】Python包管理工具uv使用教程
  • 从零实现基于Transformer的英译汉任务
  • 翻转二叉树(简单)
  • uniapp开发09-设置一个tabbar底部导航栏且配置icon图标
  • Ubuntu 安装 containerd
  • 【东枫科技】代理英伟达产品:交换机系统
  • 如何修改 JAR 包中的源码
  • 地级市-机器人、人工智能等未来产业水平(2009-2023年)-社科数据
  • mapbox基础,加载Fog云雾效果
  • 【C语言干货】野指针
  • 系统级编程(二):通过读取PE文件获取EXE或者DLL的依赖
  • Spring Cloud Stream集成RocketMQ(kafka/rabbitMQ通用)
  • 2025年OpenAI重大架构调整:资本与使命的再平衡
  • 在Star-CCM+中实现UDF并引用场数据和网格数据
  • 配置Jupyter Notebook环境及Token认证(Linux服务器)
  • Elasticsearch知识汇总之ElasticSearch监控方案
  • 关于 js:1. 基础语法与核心概念
  • Java实现堆排序算法