从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