大模型学习(常见名词、基础知识)

大模型常见名词、基础知识学习

  • 前言
    • 1.上下文学习
    • 2.预训练
    • 3.RAG
    • 4.微调( Fine-Tuning)
    • 5.LangChain
    • 6.Agent

前言

自图灵测试问世以来,人类便致力于让机器掌握语言智能,这一目标驱动着人工智能(AI)算法的持续发展。语言模型作为理解与生成自然语言的核心技术,经历了从统计语言模型(SLM)到神经语言模型(NLM)的演进,最终催生了基于Transformer架构的预训练语言模型,尤其是大语言模型(LLM)的崛起。
与传统的统计语言模型依赖马尔可夫假设不同,现代的神经网络模型,如BERT和GPT系列,通过深度学习捕捉复杂的语言规律。特别是,随着模型规模的扩大,LLMs展现出了前所未有的“涌现能力”,比如对上下文的深刻理解、指令遵循和逐步推理等,这些能力是小规模模型所不具备的。

1.上下文学习

上下文学习(In-Context Learning, ICL)是一种独特的学习范式,它利用了这些模型强大的泛化能力和对输入序列的敏感性。上下文学习能力由 GPT-3 正式引入 ,假设提供给语言模型自然语言指令和/或多个任务演示,它可以通过完成输入文本的单词序列来为测试实例生成期望的输
出,而无需额外的训练或梯度更新。
具体而言,上下文学习涉及以下几个核心概念:

  • 无需微调:与传统的机器学习方法不同,上下文学习不需要对模型进行额外的微调或参数更新来处理新的任务。这意味着模型在接收到新任务的指令后,能够直接基于输入的上下文(通常是几个示范例子)推断出如何完成任务,而不需要经过专门针对此任务的训练过程。
  • 提示(Prompting):上下文学习的核心在于如何构造有效的提示。这通常意味着向模型提供几个示例输入和期望的输出,这些示例被称为“演示(demonstrations)”或“提示示例(prompt examples)”,它们展示了任务的具体格式和预期答案。通过这种方式,模型能够“理解”任务要求并尝试生成相应的输出。
  • 一次性学习(One-Shot, Few-Shot Learning):上下文学习可以是一次性学习(一个示例)或多示例(几个示例),这种少量数据的学习方式极大地减轻了数据收集和标注的成本,同时展示了大模型强大的泛化能力。
  • 参数不变性:在上下文学习中,模型的内部参数保持不变,这与微调(Fine-Tuning)形成对比,后者需要在特定任务数据上调整模型参数以优化性能。因此,上下文学习提供了灵活性和即时性,模型可以立即应用于新任务,无需等待长时间的训练过程。

2.预训练

预训练是大语言模获取能力的基础。通过在大规模语料库上进行预训练,大语言模型可以获得基本的语言理解和生成能力 。为了有效地预训练大语言模型,也需要设计好模型架构、加速方法和优化技术。
在一个大规模的无标注数据集上对模型进行训练,让模型学习到通用的语言结构、语义信息或图像特征等,然后再根据特定任务的需求,利用有标签的数据对预训练好的模型进行微调(Fine-tuning)的过程。这种方法在过去几年里极大地推动了AI技术的发展,尤其是在深度学习领域。下面是一些关键点来帮助理解大模型预训练:

  • 模型规模:大模型通常指的是具有大量参数的神经网络模型,如千万乃至亿级参数量的Transformer模型。这些模型因为其庞大的容量,能够学习到更复杂的语言或图像表示。
  • 无监督学习:预训练阶段主要是无监督的,通过自监督学习(如BERT中的掩码语言模型任务)或对比学习(如SimCLR在CV领域的应用)等方法,模型能够在没有人工标注的情况下从原始数据中学习到丰富的模式。
  • 迁移学习:预训练模型可以视为一个强大的初始化,这个初始化包含了对语言或视觉世界的广泛理解。当面对一个新的具体任务时,只需要在预训练模型的基础上进行微调,往往能以较少的有标签数据达到很好的性能,大大提高了数据效率和模型泛化能力。

1、数据收集
预训练数据的收集和处理,包括数据来源、预处理方法以及预训练数据如何影响大语言模型的性能等重要分析。

  • 数据来源的多样性:大语言模型依赖于大规模、多来源的语料库进行预训练,以获取广泛的语言理解和生成能力。数据来源主要包括网页、书籍、对话文本、多语言文本、科学文本和代码等。网页数据提供了丰富多样的语言环境,书籍文本有助于模型学习长期依赖和连贯性,对话数据增强了模型的交互能力,多语言数据提升了跨语言理解和生成能力,科学文本注入了专业知识,而代码数据则促进了逻辑推理和精确表达的学习。
  • 数据预处理的重要性:预处理是构建高质量预训练语料库的必要环节,包括噪声过滤、去重、隐私信息移除等。通过分类器或启发式规则过滤低质量数据,利用统计特征和关键词识别去除重复内容,以及采取措施确保数据隐私,都是确保模型训练质量的关键步骤。
  • 数据对模型性能的影响:预训练语料库的规模、质量和分布直接影响模型能力。例如,增加书籍数据比例可以提升模型捕捉长期依赖的能力,而过多单一领域数据可能限制模型在其他领域的泛化。此外,研究指出随着模型规模的增大,需要相应增加训练数据量以避免次优训练。
  • 混合数据来源的优势与挑战:混合不同来源的数据可以帮助模型获得更广泛的知识和更强的泛化能力,但需要精心设计数据分布,避免因特定领域数据占比过高而影响模型的通用性。此外,特定任务如多语言、科学和代码相关的数据集,可以针对性地增强模型在特定领域的表现。

2、数据预处理
数据预处理是构建高效大语言模型的重要环节,旨在提高预训练语料库的质量,确保模型学习到纯净、多样化且无害的语言知识。关键的预处理步骤包括:

  • 质量过滤:去除低质量数据以避免模型学习错误或偏差信息。常用方法有基于分类器的过滤,通过训练二元分类器区分高质量与低质量文本;以及基于启发式规则的过滤,通过设定诸如语言类型、文本统计特征、关键词匹配等规则来自动筛选数据。
  • 去重:重复数据会降低模型学习的多样性,影响训练效果。去重操作可在句子、文档乃至整个数据集级别进行,通过对比文本相似度、n-gram重叠等指标来识别并删除重复内容,同时注意避免训练集与评估集之间的数据重叠,以维持评估的公正性。
  • 隐私保护:从预训练语料中移除个人可识别信息(PII),避免隐私泄露风险。采用关键字识别等方法自动检测并移除姓名、地址等敏感信息,并认识到去重过程也能辅助降低隐私风险。
  • 分词:将原始文本切分成模型可以理解的词汇序列。通常会使用如SentencePiece或Byte Pair Encoding(BPE)等算法自定义分词器,以适应预训练语料的特定需求,同时注意规范化技术可能对分词效果的影响。

3、架构设计
大语言模型的架构设计是支撑其强大功能的基础,其中Transformer架构扮演了核心角色,尤其是在因果解码器、编码器-解码器以及前缀解码器这三种主流架构中。

  • 因果解码器架构:因果解码器,如GPT系列模型,使用单向注意力机制,确保每个词只能关注其之前的词,这对于自回归语言生成尤为重要。GPT-3展示了这种架构在大规模数据上训练时能显著提升模型性能,包括上下文学习能力。该架构因其简单和高效,被广泛应用,如OPT、BLOOM和Gopher等模型。
  • 编码器-解码器架构:这类架构,以T5和BART为代表,结合了编码器和解码器,前者通过自注意力机制处理输入序列,后者利用交叉注意力生成输出序列,适用于多种自然语言处理任务。
  • 前缀解码器架构:前缀解码器,如GLM-130B和U-PaLM,对因果解码器的注意力机制进行了修改,允许双向查看输入序列的前缀部分,同时保持对生成序列的单向关注,以提高上下文理解能力。此架构通过先预训练为因果解码器再转换而来,旨在加速收敛。

在架构细节方面,大语言模型通常采用层归一化(LayerNorm)、位置编码(如RoPE)、激活函数(如GeLU、SwiGLU和GeGLU)等组件来提升训练稳定性、性能和计算效率。RMS Norm和DeepNorm等高级归一化技术也被用于替代LayerNorm以求更佳训练稳定性。此外,混合专家(MoE)结构,如Switch Transformer和GLaM,通过稀疏激活网络权重,实现了模型规模和性能的显著提升。

3.RAG

RAG( Retrieval Augmented Generation)是一种融合信息检索与自然语言生成的技术,旨在提升文本生成的精确度与质量,尤其在处理需要丰富知识支撑的任务上表现出色。其工作原理可归纳为以下四步

  • 数据检索阶段:面对输入查询,RAG首先在庞大的数据源中,比如网页、文档库或书籍,运用检索模型进行信息搜索。该模型依据查询内容与数据库文本的匹配程度,采用如TF-IDF、BM25等传统算法,或是借助深度学习模型,挑选出最相关的文本片段。
  • 信息增强与整合:检索到的信息随后经历加工,以强化生成阶段的输入。此过程可能涵盖信息的筛选、排序及重组,以确保信息的高关联度与质量,为生成精准内容奠定基础。
  • 自然语言生成:结合输入查询与经过处理的检索信息,RAG利用自然语言生成模型(如基于规则、模板或先进的Transformer架构等)创造新的文本。此步骤中,生成模型充分考虑检索内容,确保生成文本既贴合查询需求,又具备高水平的准确性和丰富性。
  • 动态融合与输出:通过注意力机制等先进技术,RAG巧妙地将检索内容与生成的文本片段融合,实现信息的动态集成。这一融合过程保证了输出文本不仅紧密呼应查询,而且在连贯性和逻辑一致性上达到高标准。最终,RAG呈现的文本综合了原始查询与附加知识,呈现出更详尽、准确且有价值的响应或内容。

RAG技术体系的总体思路
数据预处理->分块(这一步骤很关键,有时候也决定了模型的效果)->文本向量化->query向量化->向量检索->重排->query+检索内容输入LLM->输出

  • 数据预处理:首先,对原始数据进行清洗和格式化,去除无关信息、噪声数据,并可能进行一些基本的自然语言处理,如分词、词干提取等,以便更好地理解和索引内容。此外,根据应用场景,可能还需要对数据进行标注或分类。
  • 分块:这是RAG中一个关键步骤。大型文档或数据库中的信息被分割成更小、更管理的部分,称为“块”或“段”。合适的分块策略对于提高检索效率和精度至关重要。分块可以根据文档结构、语义连贯性或特定关键词进行,确保每个块都相对独立且包含有意义的信息单元。
  • 文本向量化:将分块后的文本转换为高维向量表示。常用的方法包括TF-IDF、词嵌入(如Word2Vec、GloVe)以及更先进的上下文敏感的嵌入技术(如BERT的[CLS]标记向量)。向量化使得文本可以被高效地存储在向量数据库中,并支持向量空间中的相似度计算。
  • Query向量化:与文本向量化类似,用户查询也被转换为向量形式。这通常使用与文本向量化相同的模型或技术实现,以保证查询和文档块在相同的向量空间中,便于比较和匹配。
  • 向量检索:利用高效的近似最近邻搜索算法,在向量数据库中查找与查询向量最相似的文档块向量。这一步骤快速筛选出最相关的候选块,是整个系统响应速度的关键。
  • 重排:初步检索到的块可能会进一步根据更精细的匹配度或相关性指标进行排序,这可能涉及更复杂的模型评估,如基于注意力机制的匹配评分或额外的特征工程,以优化最终结果的相关性和质量。
  • Query+检索内容输入LLM:将用户的原始查询和从检索阶段选出的最相关块的内容合并后,作为输入传递给一个大型语言模型(LLM)。这个步骤允许模型在生成响应时直接利用检索到的具体信息,从而提高回答的准确性和丰富性。
  • 输出:最后,语言模型根据输入的查询和检索内容生成最终的回答或生成文本。这一步骤利用了模型的生成能力,结合检索到的事实性信息,生成既准确又流畅的回复。

4.微调( Fine-Tuning)

监督微调(Supervised Fine-Tuning)是指在机器学习和深度学习领域中,当有一个预训练好的模型后,通过在其基础上施加特定任务的监督信号进一步调整模型参数的过程。

SFT包括以下几个方面:

  • 预训练模型:SFT的基础是一个已经过大规模通用数据集训练的模型,这些模型往往先是通过无监督或自监督学习方法学习广泛的语言模式。例如,BERT、T5或GPT系列模型就是在大量文本语料上预训练得到的。
  • 监督学习:在微调阶段,会使用带有标签的数据集来指导模型学习。这意味着模型不仅接收到输入数据,还有相应的正确输出(标签),从而能够在特定任务上进行学习和优化。
  • 适应特定任务:通过微调,模型能够针对特定任务(如情感分析、命名实体识别、问答等)进行调整,提升在该领域的表现。这包括调整模型的最后几层或者加入额外的输出层来匹配任务需求。
  • 优化与评估:在微调过程中,会使用梯度下降等优化算法逐步调整模型参数,以减小预测输出与实际标签之间的差距。同时,会用验证集来监控模型性能,防止过拟合,并确定最佳的微调点。

全微调(Full Fine-Tuning):这是最直接的微调方式,模型的所有参数都会在特定任务的数据集上进行更新。尽管这种方法往往能带来最好的性能提升,但它需要大量的计算资源和时间,而且容易造成预训练知识的遗忘。
Adapter Tuning:适配器调整是一种参数高效的微调方法,它在模型的每一层插入少量可训练参数(适配器),而保持主体模型参数不变。这样既能适应特定任务,又能减少训练时间和资源消耗,保持模型的泛化能力。
Prefix Tuning:前缀调整方法是在模型的输入序列前添加可学习的向量(前缀),而不是修改模型权重。这些前缀向量引导模型生成特定于任务的输出,减少了需要调整的参数数量。
Prompt Tuning:提示调整技术通过设计或优化输入的文本提示(prompts)来引导模型产生所需的输出,而不是直接修改模型参数。这种方法依赖于找到或学习到最有效的提示,以激发模型的潜在能力。
P-Tuning v1:P-Tuning v1 是一种特定的提示调整技术,它引入了连续的软提示(soft prompts),即模型输入中的一系列额外可学习向量,而不是硬编码的文本提示。这些软提示在训练过程中调整,以优化模型在特定任务上的性能。
LoRA (Low-Rank Approximation):LoRA提出了一种低秩分解的方法来减少需要微调的参数量,它仅对模型权重进行低秩近似调整,保持了模型的大部分结构不变。这种方法在保持性能的同时,大大减少了计算和内存的需求。

5.LangChain

LangChain 是一个开源框架,全称为“Language Models Chain”,它旨在简化和促进基于大型语言模型的应用程序开发。LangChain 专为开发者设计,帮助他们构建、部署和管理基于人工智能的语言模型解决方案,而无需从头开始编写所有基础设施代码。

该框架的核心理念是将强大的语言模型与各种工具和服务“链式”结合起来,以实现更复杂、更有用的应用场景。通过 LangChain,开发者可以更容易地实现如信息检索、知识管理、代码生成、对话系统、文本生成、自动总结等多种自然语言处理任务。

LangChain 提供了一系列预构建的模块和组件,包括但不限于:

Chain: 预定义的工作流或一系列步骤,用于组织和串联语言模型与其他服务的交互。
LLMs (Large Language Models): 与不同提供商的大型语言模型(如OpenAI的GPT系列、阿里云的通义千问等)集成的接口。
Agents: 能够协调多个Chain或LLM以完成更复杂任务的高级抽象。
Memory: 支持持久化存储和检索上下文信息,增强模型的连贯性和一致性。
Tools/Integrations: 与其他工具和服务(如数据库、文档存储、APIs等)的集成,使得语言模型能够访问和操作外部数据。

6.Agent

LLM agent指的是大语言模型代理,是人工智能代理的一种。在人工智能和多智能体系统中,“Agent”是指一个能够感知环境、做出决策并采取行动以达到特定目标的实体。它可以是软件实体、机器人或者更抽象的概念。Agent具有一定的自主性,能根据其设计或学习到的策略与环境交互。在多智能体系统中,多个Agent可以协作或竞争以完成复杂任务。

它由规划(Plan)、工具(Tools)、代理核心(LLM)、存储(Memory)四个部分构成。

  • 规划是指代理分析用户查询、收集相关信息并制定行动策略以提供最佳建议或解决方案的系统过程。
  • 工具是指代理可以利用来执行特定任务或增强其功能的外部资源、服务或 API。这些工具充当补充组件,将 LLM代理的功扩展到其固有的语言生成功能之外。工具还可以包括数据库、知识库和外部模型。
  • 代理核心是LLM代理的基础组件,是一个大语言模型。它也是我们定义代理的目标、使用的工具和相关记忆的地方。
  • 记忆是单个用户或单个任务的上下文和记录细节,可以分为短期记忆和长期记忆。短期记忆充当代理当前行为和想法的动态存储库,类似于其“思路”。它允许代理保持对正在进行的交互的上下文理解,从而实现连贯的通信。长期记忆则包括对话历史记录,保存从过去交流中收集到的宝贵信息;这种积累的知识库帮助代理借鉴过去的经验来丰富其与用户的互动。

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

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

相关文章

MQTT遗嘱信息(1)

本文内容参考: 什么是MQTT遗嘱消息?如何配置和处理遗嘱消息?_mqtt last will-CSDN博客 【MQTT基础篇(十五)】MQTT遗嘱_last-will qos-CSDN博客 MQTT 协议学习:Retained(保留消息)…

【高考志愿】金融学

目录 一、金融学类专业概述 二、主要课程 三、就业前景与方向 四、适合人群 五、金融学学科排名 六、总结 高考志愿选择金融学,无疑是一个既充满挑战又极具前景的决策。金融学,作为经济学门类下的重要分支,不仅涵盖了广泛的金融领域知识…

纯干货丨知乎广告投放流程和避坑攻略

精准有效的广告投放企业获客的关键,知乎作为中国最大的知识分享平台,拥有着高质量的用户群体和高度的用户粘性,为广告主提供了独一无二的品牌传播与产品推广平台。然而,如何在知乎上高效、精准地进行广告投放,避免不必…

pdf转换成cad,这几个cad转换小妙招快码住!

在数字设计领域,PDF(Portable Document Format)和CAD(Computer-Aided Design)文件格式各有其独特之处。PDF常用于文件共享和打印,而CAD则是工程师和设计师们进行精确绘图和建模的必备工具。然而&#xff0c…

谷粒商城P62 Spring Cloud Alibaba整合 OSS 报错问题(成功解决)

文章目录 一、依赖版本二、整合步骤2.1 视频 / 旧版本2.2 官网 / 新版本 三、product测试四、额外补充4.1 renren-fast报错4.2 解决方案4.2.1 视频 / 旧版本4.2.2 官网 / 新版本 最近在学习谷粒商城,一直卡在P62,SpringCloud Alibaba整合OSS报错&#xf…

字符串的六种遍历方式

在 Java 中,有多种遍历字符串的方法。以下是几种常见的遍历字符串的方法,并附有示例代码 1. 使用 for 循环 这是最常见和基础的遍历方法,通过索引访问每个字符。 public class StringTraversal {public static void main(String[] args) {S…

windows 安装docker

一、安装步骤 Windows Docker 安装 | 菜鸟教程 二、本地环境 操作系统:windows11 网络环境:科学上网 三、资源下载 稍后放到网盘后给出下载链接 四、遇到的问题 1、docker run hello-world身份验证错误 问题现象 $: docker run hello-world Un…

C#二进制、十进制、十六进制数据转换

目录 1、10进制整数转二进制BOOL数组 2、二进制BOOL数组转10进制整型 3、10进制转16进制字符串 4、16进制字符串转10进制 5、16进制字符串转二进制BOOL数组 6、二进制BOOL数组转16进制字符串 1、10进制整数转二进制BOOL数组 /// <summary>/// 10进制整数转二进制BO…

CTE在复杂查询条件下的重要作用

随着数据量和数据结构的日益复杂&#xff0c;数据库查询变得越来越困难。复杂的查询条件通常会涉及多张表、多级联接和嵌套查询。为了简化和优化这些复杂查询&#xff0c;CTE&#xff08;Common Table Expressions&#xff0c;即公用表表达式&#xff09;作为一种强有力的工具被…

Arkui 框架Worker线程

OpenHarmony的ArkUI框架提供了Worker和TaskPool两种多线程编程方式&#xff0c;以支持在应用程序中执行耗时操作而不影响主线程的性能。以下是关于Worker的关键用法和特性&#xff1a; 1. **基本概念与运作原理** - **Worker线程的定义**&#xff1a;Worker是OpenHarmony中一个…

word图题表题公式按照章节编号(不用题注)

预期效果&#xff1a; 其中3表示第三章&#xff0c;4表示第3章里的第4个图。标题、公式编号也是类似的。 为了达到这种按照章节编号的效果&#xff0c;原本可以用插入题注里的“包含章节编号” 但实际情况是&#xff0c;这不仅需要一级标题的序号是用“开始->多级列表”自动…

SQL注入漏洞—SQL注入简介与原理

一、SQL注入基础 1.1 什么是SQL注入漏洞 SQL注入漏洞从1998年圣诞节大火以来长盛不衰&#xff0c;虽然开发人员想出各种方法对他进行围追堵截&#xff0c;却始终无法将其赶尽杀绝&#xff0c;SQL注入的根本原因就是将SQL代码插入或添加到应用&#xff08;用户&#xff09;的输…

docker+[nginx] 部署nacos2.x 集群

docker+[nginx] 部署nacos2.x 集群 由于机器有限,本文搭建伪集群 准备: nacos1 :192.168.50.9:8848 nacos2:192.168.50.9:8858 nacos3:192.168.50.9:8868 mysql nginx 【可选,见文末】 创建容器共享网络 便于直接使用容器名连接mysql,如果不创建,连接mysql直接使用i…

Transformer教程之什么是Transformer

在过去的几年里&#xff0c;Transformer 模型已经成为了自然语言处理&#xff08;NLP&#xff09;领域的主流技术。无论是机器翻译、文本生成还是语音识别&#xff0c;Transformer 都表现出了非凡的性能。那么&#xff0c;什么是 Transformer&#xff1f;它是如何工作的&#x…

WPF----进度条ProgressBar(渐变色)

ProgressBar 是一种用于指示进程或任务的进度的控件&#xff0c;通常在图形用户界面&#xff08;GUI&#xff09;中使用。它提供了一种视觉反馈&#xff0c;显示任务的完成程度&#xff0c;帮助用户了解任务的进展情况。 基本特性 Minimum 和 Maximum 属性&#xff1a; 这些属…

猫也有自动厕所上了吗?自费分享好用的智能猫砂盆,看完不亏。

还有人在用普通猫砂盘吗&#xff1f;之前我也是用的普通猫砂盘&#xff0c;但我发现只要我在上班时间&#xff0c;我就无法顾忌到小猫的便便&#xff0c;但又不想回家就闻到一股臭味&#xff0c;更何况现在夏天也快到了&#xff0c;便便残留一会就会发酵发臭&#xff0c;导致生…

求出某空间曲面下的体积

求出某空间曲面下的体积 flyfish 用小长方体的体积和来逼近该体积 import numpy as np import matplotlib.pyplot as plt import matplotlib.animation as animation# 定义函数 f(x, y) def f(x, y):return np.sin(np.pi * x) * np.sin(np.pi * y)# 创建网格 x np.linspac…

postgre事务id用完后,如何解决这个问题

在PG中事务年龄不能超过2^31 &#xff08;2的31次方2,147,483,648&#xff09;&#xff0c;如果超过了&#xff0c;这条数据就会丢失。 PG中不允许这种情况出现&#xff0c;当事务的年龄离2^31还有1千万的时候&#xff0c;数据库的日志中就会 有如下告警&#xff1a; warning:…

安全感爆棚,锁定六氟化硫SF6气体泄漏报警监测系统

一、概述 六氟化硫SF6气体已有百年历史&#xff0c;它是法国两位化学家Moissan和Lebeau于1900年合成的人造惰性气体&#xff0c; 1947年提供商用。当前SF6气体主要用于电力工业中。化学性质稳定。微溶于水、醇及醚&#xff0c;可溶于氢氧化钾。不与氢氧化钠、液氨、盐酸及水起…

ES6的代理模式-Proxy

语法 target 要使用 Proxy 包装的目标对象&#xff08;可以是任何类型的对象&#xff0c;包括原生数组&#xff0c;函数&#xff0c;甚至另一个代理handler 一个通常以函数作为属性的对象&#xff0c;用来定制拦截行为 const proxy new Proxy(target, handle)举个例子 <s…