大模型名词扫盲贴

公众号版本:大模型名词扫盲贴
在这里插入图片描述

什么是大模型?
答:大规模预训练语言模型(PLM)命名为“大语言模型(LLM)”
什么是提示学习?
答:提示学习(Prompt-based Learning)是指对输入文本信息按照特定模板进行转换,把任务重构成一个更能充分利用预训练语言模型处理的形式。
不同于传统的监督学习,它直接利用了在大量原始文本上进行预训练的语言模型,并通过定义一个新的提示函数,使得该模型能够执行小样本甚至零样本学习,以适应仅有少量标注或没有标注数据的新场景。与传统的微调方法不同,提示学习基于语言模型方法来适应下游各种任务,通常不需要参数更新。
什么是语境学习?
语境学习(Incontext Learning, ICL),也称上下文学习,其概念最早随着GPT-3的诞生而提出。语境学习是指模型可以从上下文中的几个例子中学习:向模型输入特定任务的一些具体例子(也称示例(Demonstration))以及要测试的样例,模型可以根据给定的示例续写出测试样例的答案。
在这里插入图片描述

什么是微调?微调又分为哪些类?
大语言模型中,有监督微调或者说指令微调包括:
提示学习,语境学习,高效参数微调(如 LoRA,P-tuning), 模型上下文窗口扩展(如具有外推能力的位置编码,插值法)
什么是指令微调? 有监督微调(SupervisedFinetuning, SFT)又称指令微调(Instruction Tuning),是指在已经训练 好的语言模型的基础上,通过使用有标注的特定任务数据进行进一步的微调,从而使得模型具备 遵循指令的能力。
经过海量数据预训练后的语言模型虽然具备了大量的“知识”,但是由于其训 练时的目标仅是进行下一个词的预测,此时的模型还不能够理解并遵循人类自然语言形式的指令。 为了能够使得模型具有理解并响应人类指令的能力,还需要使用指令数据对其进行微调。
在这里插入图片描述

自然语言理解—NLU
NLU是所有支持机器理解文本内容的方法模型或任务的总称,即能够进行常见的文本分类、序列标注、信息抽取等任务。
简单来说,是指自然语言理解的运用希望机器人能够像人一样,具备正常的语言理解能力。

自然语言生成—NLG
NLG (自然语言生成)是NLP的另一项核心任务,指计算机系统根据特定的规则和语言模型,生成自然语言文本的过程。NLG技术包括文本规划、语言生成和输出等方面,旨在使计算机能够生成符合人类语言习惯和规范的自然语言文本。NLG技术的应用包括自动摘要、自动文摘、智能写作等方面。

提示学习的主要内容

模板构建:用提示函数fprompt(x)将输入的文本x修改为提示x′=fprompt(x);
答案搜索:将x′传给预训练模型,得到“最高分”的输出;
标签词映射:在第二步中得到的输出是满足预训练任务形式的输出,可能会与下游任务的输出形式存在差别,需要一个函数映射来进行转换。
这三个步骤又可以从工作性质的角度分成两个大方向——提示模板工程和提示答案工程。

在这里插入图片描述

基于知识图谱与LLM方法
KG强化LLMs - Pre-training

将知识图谱(KG)整合到大型语言模型中的三种方法:–主要针对预训练过程
1)将KG整合到训练目标中, 通过entity在KG中的关系动态调整Mask的权重。具体可以去看这几个模型的论文:GLM, E-BERT, SKEP, KALM, ERNIE.
2)将KG整合到语言模型的输入中,通过将KG中对应entity的sub-graph信息显示的融入LLM的输入中进行训练。里面会有一些细节问题,比如会有Knowledge Noise, 会忽略long-tail entities等。可以看这几个论文:ERNIE3.0,K-Bert, DkLLM, Dict-Bert。
3)将KG整合到额外的融合模块中。这个其实我会更加看好,毕竟从头预训练大模型试错成本代价都很高,不像以前的语言模型可能还可以接受。如果是将KG整合到额外的模块中,就像是Lora一样,可以freeze大模型的参数,额外针对KG做K-encoding, 然后融合L-encoding和K-encoding(text-knowledge fusion module) 的结果。类似的研究很早就有了,比如:CokeBert, JAKET, K-adapter

KG强化LLMs – Inference 针对已有的大模型,如何加入新知识?
1)动态知识融合
动态知识指的是在处理信息时,对知识的获取、更新和应用是根据上下文和需求的变化而变化的。大量的研究都是采用的双塔结构,一个处理输入的文字,另一个处理相关知识图谱的输入。不过这个方法让text和knowledge的交互不充足。很显然,我们会想到的就是要么直接拼接,要么增加attention模块。目前还没有研究将这些方法运用于现在市面上的大语言模型,所以还可以观望一下,推荐大家看这几篇论文:KagNet,MHGRN,QA-GNN,JointLK。
2)检索增强的知识融合
检索增强的知识融合是一种处理外部知识的方法,它与传统的双塔结构不同。在这种方法中,我们将非参数化和参数化模块相结合,以更好地处理外部知识。以RAG为例,它首先通过最大内积搜索(MIPS)在非参数化模块中检索与输入文本相关的知识图谱,获得一些文档。然后,利用Seq2Seq LLMs,将这些文档作为隐藏变量z,提供给输出生成器,作为额外的上下文信息。通过在不同生成步骤中使用不同的检索文档作为条件,而不仅仅使用单个文档来指导整个生成过程,RAG在开放领域问答中表现出色。此外,Story-fragments、EMAT、REALM和KGLM等论文也在这个领域做出了一些有趣的工作。检索增强的知识融合可以更好地利用外部知识,提升生成文本的质量和多样性。未来的研究可以进一步探索如何将这些方法应用于现有的大型语言模型,以提升模型的知识处理和生成能力。
在这里插入图片描述

KG强化LLMs – Interpretability—知识图谱是解决可解释性最有效的方式
大型语言模型(LLMs)的可解释性是指对其内部工作和决策过程的理解和解释能力。这可以提高LLMs的可信度。知识图谱(KGs)以结构化方式表示知识,并能够为推理结果提供良好的可解释性。因此,研究人员试图利用KGs来提高LLMs的可解释性,这可以大致分为两类:
1)用于语言模型探测(language model probing)的KGs
语言模型探测是一种旨在了解大型语言模型(LLMs)中存储的知识的方法。LLMs在大规模语料库上训练,通常被认为包含了丰富的知识。然而,LLMs以一种隐含的方式存储知识,使得很难确定其中所存储的知识。此外,LLMs存在幻觉问题,导致生成与事实相悖的陈述。这个问题严重影响了LLMs的可靠性。因此,有必要对LLMs中存储的知识进行探测和验证。
LAMA是第一个利用知识图谱(KGs)对LLMs中的知识进行探测的工作。LAMA首先将KGs中的事实通过预定义的提示模板转换为填空陈述,然后利用LLMs预测缺失的实体。预测结果用于评估LLMs中存储的知识。不同于手动定义的提示模板,LPAQA提出了一种基于挖掘和改写的方法,自动生成高质量和多样化的提示,以更准确地评估语言模型中包含的知识。
2)用于语言模型分析(language model analysis)的KGs
预训练语言模型分析是对预训练的语言模型进行深入研究和理解的过程。通过采用不同的方法,如基于知识图谱的关联、因果分析、神经元激活等,来揭示语言模型在推理和生成结果过程中的内部机制和知识表达方式。这种分析方法可以帮助我们了解语言模型的推理过程、依赖模式以及存储的隐含知识,从而提高对语言模型的解释能力和应用场景的理解。这一部分的应用可以帮助我们定位具体知识在大模型的参数区间,进而可以做定向训练,更新已经训练进去的知识。可以参考:Editing Large Language Models: Problems, Methods, and Opportunities

KG强化LLMs - Prompt Engineering
通过一些图遍历算法可以得到与input text逻辑相近的子图信息,融入prompt中,再结合input text,通过大模型进行知识的生成。但是这个方向的局限性在于prompt长度是有限制的,且prompt长度越长,精度就会有所下降。虽然也是双塔结构,但是我可能会更偏向于inference 前通过embedding注入KG的信息。目前没有什么相关的论文,之前有一个graph-toolformer比较接近,因为是属于一个工程解决方法可以说是,之后应该langchain会支持。
LLM+KG融合框架 - 知识表示
文本语料库和知识图谱都包含了大量的知识,但是文本语料库中的知识通常是隐含且无结构的,而知识图谱中的知识则是明确且有结构的。因此,有必要将文本语料库和知识图谱中的知识进行对齐,以统一的方式表示它们。

相关阅读
RAG实战-QAnything
一文带你学会关键词提取算法—TextRank 和 FastTextRank实践
提升大型语言模型性能的新方法:Query Rewriting技术解析

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值