【文献精读笔记】Explainability for Large Language Models: A Survey (大语言模型的可解释性综述)(一)

****非斜体正文为原文献内容(也包含笔者的补充),灰色块中是对文章细节的进一步详细解释!

三、传统微调范式(Traditional Fine-Tuning Paradigm)

在这个范式中,首先在大量未标记的文本数据上预训练一个语言模型,然后针对特定下游领域的标记数据集进行微调,例如GLUE基准测试中的SST-2、MNLI和QQP。

在大量未标记的文本数据上预训练一个语言模型的过程,实际上是通过无监督学习来实现的。这个过程不依赖于人工标注的数据,而是利用大量可用的文本内容,让模型学习语言的基本规律和结构。

  1. 屏蔽语言建模(Masked Language Modeling, MLM):这是一种常见的预训练任务,也称为去噪自编码。在这种方法中,模型会被训练来预测句子中被随机遮蔽(即用特殊的标记替换)的单词。例如,在一个句子中,一些单词会被替换为"[MASK]",模型的任务就是预测这些被遮蔽的单词。这种方法帮助模型学习上下文关系并捕获语言模式。

  2. Transformer架构:预训练通常采用基于Transformer的架构,这种架构擅长捕获远程依赖关系和上下文信息。Transformer因其自注意力机制而闻名,能够处理序列数据中的长距离依赖问题。

想象一下,我们有一个巨大的书架,上面摆满了各种各样的书(这就像是未标记的文本数据,我们称之为“预训练”)。这些书包含了丰富的知识和信息,但是我们不知道具体每一本书都讲了什么。现在,我们想用这些书来解答一些具体的问题,比如关于科学、历史或者文学的问题(这就像是下游任务,比如情感分析、问答等)。

举个例子🌰:

假设我们有一个语言模型,它在大量的网页、书籍和文章上进行了预训练,这意味着它已经“阅读”了很多东西,对语言有了基本的理解。现在,我们想要这个模型在特定的任务上表现得更好,比如判断电影评论是正面的还是负面的(这就是SST-2任务)。

为了做到这一点,我们从网上收集了很多电影评论,并且每一条评论都标记了它是正面的还是负面的。然后,我们用这些标记好的评论来进一步训练(微调)我们的模型。这样,模型就能学习到哪些词语和表达通常与正面评论相关,哪些与负面评论相关。

经过这样的微调过程,我们的模型就能更好地理解电影评论的情感倾向,并准确地判断新的评论是正面还是负面的。这就是“传统微调范式”的一个实际应用实例。

在微调过程中,可以轻松地在语言模型的最后一个编码器层之上添加全连接层,使其适应各种下游任务。

Q:这里为什么要在最后一个编码器层之上添加全连接层,而不是调整最后几层的连接权值?
A:

  • 全连接层可以视为一个额外的“任务特定”层,它允许模型针对特定的下游任务学习新的特征表示,而不需要改变原有的预训练模型结构。这种方法可以保留预训练模型中学习到的通用语言知识,同时为特定任务学习新的知识。
  • 直接调整最后一层的连接权值可能会破坏预训练模型中已经学习到的知识,因为这些权值在预训练阶段已经针对大量数据进行了优化。

3.1 局部解释(Local Explanation)

第一类解释是解释LLM生成的预测。让我们考虑一个场景,我们有一个语言模型,我们输入一个特定的文本到模型中。然后模型产生一个分类输出,例如情感分类。在这个场景中,解释的作用是阐明模型为特定输入生成特定分类或预测的过程。由于目标是解释LLM对特定输入的预测,我们称之为局部解释。这一类包括四种主要的方法来生成解释,包括基于特征归因的解释、基于注意力的解释、基于示例的解释和自然语言解释。

 

 3.1.1 基于特征归因的解释(Feature Attribution-Based Explanation)

特征归因方法旨在测量每个输入特征(例如,单词、短语、文本跨度)与模型预测的相关性。给定一个由n个单词特征{x1, x2, ..., xn}组成的输入文本x,一个微调过的语言模型f生成一个输出f(x)。归因方法为输入单词特征xi分配一个相关性得分R(xi),以反映其对模型预测f(x)的贡献。遵循这一策略的方法可以分为四种类型:基于扰动的方法、基于梯度的方法、替代模型和基于分解的方法.

3.1.1.1 基于扰动的解释(Perturbation-Based Explanation)

基于扰动的方法通过扰动输入样本来工作,例如对input features进行removing、masking或altering,进而评估模型输出的变化

最直接的策略是逐个移除(leave-one-out),它通过在不同级别上移除特征来扰动输入,从而测量特征的重要性,包括embedding vectors、hidden units(Li et al., 2017)、word(Li et al., 2016)、token和span(Wu et al., 2020b) ,基本思想是移除输入子集以改变模型预测。

  • 嵌入向量(Embedding Vectors)级别的扰动:

替换向量:将某个单词的嵌入向量替换为一个随机向量或者零向量,然后观察模型输出的变化。

扰动向量:对嵌入向量进行微小的修改,比如添加一些噪声,然后看模型的预测如何响应这种变化。

  • 隐藏单元(Hidden Units)级别的扰动:

激活值修改:直接修改神经网络中隐藏层的激活值,比如将某些隐藏单元的输出设置为0,以观察对最终预测的影响。

层级扰动:对整个隐藏层进行操作,比如随机打乱某层的输出,或者将整层的输出替换为另一个层的输出。

  • 单词(Words)级别的扰动:

删除单词:从句子中移除某个单词,然后看模型的输出如何变化。

替换单词:用同义词或其他单词替换原文中的单词,观察模型是否能够识别出这种变化。

  • 标记(Tokens)级别的扰动:

删除标记:移除句子中的某个标点符号或词语,观察模型输出的变化。

替换标记:用其他标记替换原文中的标记,比如将“的”替换为“了”,然后观察模型的响应。

  • 跨度(Spans)级别的扰动:

删除跨度:选择句子中的一段连续文本(可能是一个短语或子句)并删除,然后观察模型的输出如何变化。

替换跨度:用其他文本替换选定的跨度,比如将“美丽的花朵”替换为“普通的植物”,然后看模型是否对这种替换敏感。

输入子集使用各种指标来选择,如置信度得分。然而,这种移除策略假设输入特征是独立的,忽略了它们之间的相关性。此外,基于置信度得分的方法可能因过度自信模型的病理行为而失效。例如,即使减少的输入是无意义的,模型也可以保持高置信度预测。

(b) 通过删除“did”来扰乱问题,答案“Colorado Springs experiments”的置信度甚至增加了,而答案对人类来说是无意义的(Feng et al., 2018);

这种过度自信问题可以通过使用常规示例正则化(Regularization with Regular Examples)、标签平滑(Label Smoothing)和微调模型的置信度(Fine-tuning Models’ Confidence)来缓解。

  • 常规示例的正则化(Regularization with Regular Examples):

正则化是一种防止模型过度拟合的技术,过度拟合意味着模型在训练数据上表现很好,但在新的、未见过的数据上表现差。使用常规示例的正则化意味着在训练过程中加入一些普通的、常见的示例,以确保模型不会只对某些特殊或极端的案例过于敏感。

  • 标签平滑(Label Smoothing):

标签平滑是一种技术,它不让模型对于任何单一的输出类别过于自信。在分类任务中,模型通常会学习将输入分配到某个类别的概率,标签平滑则是让模型对每个类别的置信度不要达到100%,从而减少过度自信。

  • 微调模型的置信度(Fine-tuning Models’ Confidence):

微调是指在模型初步训练后,针对特定的任务或数据集进一步调整模型参数的过程。微调模型的置信度意味着调整模型,使其在做出预测时的置信度更加准确,既不过分自信也不过分犹豫。

此外,当前的扰动方法倾向于生成分布外的数据。这可以通过将扰动数据限制在接近原始数据分布来缓解。

 举个栗子🌰:

假设我们正在训练一个图像识别模型,任务是识别图片中的猫和狗。

数据扰动:为了提高模型的泛化能力,我们可能会对训练图片进行一些随机扰动,比如改变亮度、对比度,或者在图片中加入一些随机的噪声点。这些扰动可以帮助模型学习到在不同光照和环境中识别猫和狗的能力。

生成分布外数据的问题:如果我们在扰动过程中加入太多噪声,或者把图片旋转得太厉害,那么得到的图片可能就和任何实际场景中的猫和狗图片都不像了。这样的图片就是分布外数据,模型在这些数据上的表现可能很好,但在真实世界中的表现可能会下降。

限制扰动数据接近原始数据分布:为了避免生成过多的分布外数据,我们可以限制扰动的程度,比如只允许在一定范围内调整亮度和对比度,或者只加入少量的噪声点。这样,扰动后的图片仍然接近原始数据的分布,模型就能在保持泛化能力的同时,减少对分布外数据的过度适应。

3.1.1.2 基于梯度的解释(Gradient-Based Explanation)

基于梯度的归因技术通过分析输出相对于每个输入维度的偏导数来确定每个输入特征的重要性。导数的大小反映了输出对输入变化的敏感性。原始梯度方法的基本公式描述为

sj = ∂f(x)/∂xj,

其中f(x)是网络的预测函数,xj表示输入向量。 “梯度×输入”是一种改进的方法,不仅看模型对每个单词的敏感度,还要看这个敏感度与单词本身值的乘积。并已用于各种解释任务,例如计算Token级别的归因分数。

在机器学习和特别是模型解释性(Explainability)领域中,"归因"(Attribution)指的是确定输入特征(如图像中的像素、文本中的单词等)对模型预测结果的贡献程度的过程。简而言之,归因方法试图回答以下问题:哪些输入特征对模型做出特定预测起到了关键作用?

然而基于梯度的方法有如下一些主要限制

  • 首先,它们不满足输入不变性,这意味着输入转换,如恒定位移,可以产生误导性的归因,而不影响模型预测。

“输入不变性”是指模型对输入数据的某些变化不敏感,这些变化不应该影响模型的预测结果,但在某些特征归因方法中可能会导致误导性的归因。换句话说,如果模型预测结果实际上没有变化,但归因方法却显示某些特征的重要性发生了变化,那么这种方法就没有满足输入不变性。

  • 其次,它们无法处理零值输入。

以下是几种可能的情况:

  1. 数值稳定性问题

    在某些算法中,零值可能引起数值稳定性问题,尤其是在进行数学运算(如除法或对数)时。例如,对数函数在0处是未定义的,所以如果输入包含零值,直接应用对数变换会导致错误。
  2. 梯度消失问题

    在基于梯度的优化算法中,如果输入特征的值非常接近零,可能会导致梯度消失,即梯度值变得非常小,从而使得模型权重的更新非常缓慢或几乎不更新。
  • 第三,它们受到梯度饱和的困扰,其中大梯度占主导地位,掩盖了较小的梯度。

“梯度饱和”是指在神经网络训练过程中,某些输入特征对应的梯度值变得非常大,以至于它们在反向传播算法中主导了权重更新的过程,从而使得其他具有较小梯度的特征对应的权重更新被相对忽略或掩盖。

差分参考方法,如集成梯度(IG),被认为是解决这些挑战的好方法,因为它们满足更多的归因公理

差分参考方法

差分参考方法是一种解释模型预测的技术,它通过比较模型对某个参考点(通常是中性或无信息的输入,如一个全黑的图片,如一个充满中性词汇的句子)和实际输入的预测差异来解释模型的决策。这种方法的核心思想是,通过分析模型输出在从参考点到实际输入的变化过程中的差异,来确定各个输入特征的重要性。


归因公理(Sundararajan et al., 2017)

归因公理是在机器学习模型解释性领域中,用于评估特征归因方法是否合理和一致的一系列标准。在深度学习模型中,这些公理帮助我们确定哪些特征对模型的预测结果有实质性的贡献。以下是两个基本的归因公理:

  1. Sensitivity(敏感性)

    这个公理要求,如果输入特征在某个维度上的变化导致了模型预测结果的变化,那么这个特征应该被赋予一个非零的归因值。换句话说,如果改变一个特征影响了模型的输出,那么这个特征被认为是敏感的,应该在归因分析中被标记为重要。
  2. Implementation Invariance(实现不变性)

    实现不变性公理表明,如果两个模型在所有输入上都产生了相同的输出,即使它们的内部结构或实现方式不同,那么对于这两个模型的归因方法应该给出一致的归因结果。这意味着归因方法不应该受到模型具体实现细节的影响。

集成梯度 Integrated Gradients(IG)是差分参考方法中的一种具体技术,它通过计算模型输出对于每个输入特征的敏感度(梯度)在从参考点到实际输入的路径上的累积和,来确定每个特征对模型预测的贡献。这种方法能够满足更多的归因公理,这使得IG成为一种强大的特征归因工具。IG方法的一个关键挑战是选择合适的参考点(baseline reference point),这个参考点对于可靠的评估至关重要,部分原因如下:

  1. 影响归因结果:参考点的选择直接影响归因的结果。如果参考点不合适,可能会导致归因结果包含不必要的噪声或误导性信息。例如,使用一个不具代表性的参考点可能会引入与输入无关的特征,从而影响模型对输入特征的真实贡献的评估。

  2. 确保接近零的输出:理想的参考点应该使得模型在该点的输出接近零。这是因为当参考点的输出接近零时,归因可以更清晰地反映输入特征对模型输出的贡献。如果参考点的输出不是接近零,归因结果可能会受到参考点本身的影响,导致对输入特征的贡献评估不准确。

然而,目前还没有明确的标准来确定最合适的参考点。一些研究使用噪声或合成数据作为参考点,但性能不能保证。此外,IG在处理梯度饱和区域时存在困难,即在模型的激活函数接近饱和时,大梯度可能会掩盖小梯度的贡献。因此,IG更关注于未饱和区域的梯度,以获得更准确的归因结果。

IG的另一个挑战是计算开销大,以实现高质量的积分。由于IG沿直线路径积分,这与离散的单词嵌入空间不适应,因此已经开发了变体以适应语言模型。

3.1.1.3 代理模型(Surrogate Models)

代理模型方法使用更简单、更易于人类理解的模型来解释黑盒模型的个体预测。这些代理模型包括决策树、线性模型、决策规则和其他白盒模型,它们对人类来说更易于理解。

1. 决策树(Decision Trees)

  • 解释:决策树是一种树形结构,其中每个内部节点代表一个特征的测试,每个分支代表测试的结果,每个叶节点代表输出类别或值。决策树通过一系列的问题(基于特征的决策)来引导我们从根节点到叶节点,最终得到预测结果。
  • 优点:直观易懂,可以清晰地展示特征如何影响预测。
  • 缺点:容易过拟合,可能无法捕捉复杂的数据关系。

2. 线性模型(Linear Models)

  • 解释:线性模型假设输入特征和输出之间存在线性关系。模型的预测是输入特征的加权和,加上一个偏置项。权重表示特征的重要性。
  • 优点:简单,计算效率高,容易解释。
  • 缺点:只能捕捉线性关系,对于非线性问题可能不适用。

3. 决策规则(Decision Rules)

  • 解释:决策规则是通过一系列条件语句定义的模型,每个规则都描述了输入特征满足特定条件时的预测结果。这些规则可以是“如果...那么...”的形式。
  • 优点:易于理解和解释,可以明确地看到特征与预测之间的关系。
  • 缺点:可能难以处理大量特征和复杂的决策边界。

解释模型需要满足可加性,即预测的总影响应等于每个解释因素的个体影响之和。此外,可解释表示的选择也很重要。与原始特征不同,这些表示应该足够强大以生成解释,且对人类有意义和可理解。

原始特征(Raw Features)是指直接从数据源中获取的未经处理的数据属性。这些特征通常是最基础的观测值,没有经过任何转换或提取过程,它们反映了数据的原始状态。在机器学习模型中,原始特征可以直接用作模型输入,或者作为特征工程的起点。

原始特征的例子:

  1. 文本数据:在文本处理中,原始特征可能是单词、字符或者句子本身。
  2. 图像数据:在图像识别任务中,原始特征可能是像素值或者颜色信息。
  3. 音频数据:在音频分析中,原始特征可能是声音波形或者频谱数据。

原始特征与处理后特征的区别:

  • 处理后特征(Processed Features):这些特征是通过对原始特征进行某种形式的转换或提取得到的。例如,在文本分析中,处理后的特征可能是词频统计、TF-IDF值或者词嵌入向量;在图像处理中,处理后的特征可能是边缘检测、角点检测或者深度学习模型提取的特征表示。

  • 表示特征(Representation Features):这些特征不仅要求能够生成有效的解释,而且要求对人类来说是有意义和可理解的。表示特征可能是经过精心设计的,以便捕捉数据中的关键信息,并以一种直观的方式展示给用户。

一个早期代表性的局部解释方法称为 LIME (Ribeiro et al., 2016)。为了给特定实例生成解释,代理模型在该实例周围采样的数据上进行训练,以近似原始复杂模型在局部区域的行为。如下图所示,原始的模型很复杂,非线性,但是在待测样本附近,可以拟合一个局部线性模型。

LIME(Local Interpretable Model-agnostic Explanations,局部可解释的模型无关的解释)是一种用于解释机器学习模型预测的技术。它的工作原理可以概括为以下几个步骤:

  1. 选择特定实例:首先,确定需要解释的模型预测实例。这个实例可以是任何单个数据点,比如一个客户评论或一张图片。

  2. 生成扰动样本:在选定的实例周围生成扰动样本。这些扰动样本是通过在原始数据点的基础上进行微小的修改得到的,比如改变文本中的一些单词或图片中的一些像素。

  3. 预测扰动样本:使用原始的复杂模型(黑盒模型)对这些扰动样本进行预测,得到每个样本的输出标签。

  4. 训练可解释模型:利用扰动样本及其预测结果,训练一个简单的、可解释的模型,模型(如线性模型或决策树),这样就可以利用这些模型的可解释性,对复杂模型进行局部解释。这个可解释模型在局部区域近似原始模型的行为。

  5. 特征重要性分析:通过分析可解释模型的特征权重,确定哪些特征对模型的预测结果影响最大。这些权重提供了对原始模型预测的解释。

  6. 解释展示:最终,LIME会提供一个解释,展示每个特征对模型预测的贡献程度,权重越高的特征对预测结果的影响越大。
     

实例说明

假设一个大型连锁酒店使用机器学习模型分析客户评论,将评论分类为正面或负面情感。使用LIME,我们可以对某个特定的负面评论进行解释,了解模型为何将其分类为负面。

  1. 选定实例:选择一个具体的负面评论作为待解释实例。

  2. 扰动样本:在这条评论的基础上,通过改变一些单词生成扰动样本。

  3. 模型预测:将这些扰动样本输入到原始模型中,获取每个样本的预测结果。

  4. 训练解释模型:使用这些扰动样本及其预测结果训练一个线性模型,这个线性模型在局部区域近似原始模型的行为。

  5. 特征权重:分析线性模型的权重,确定哪些单词对模型的负面预测有较大影响。

  6. 解释展示:展示每个单词的权重,权重高的单词就是导致模型预测为负面评论的关键因素。

然而,研究表明LIME不满足一些加性归因属性,如局部准确性、一致性和缺失性。

SHAP(SHapley Additive exPlanations)是一种基于博弈论中Shapley值概念的模型解释方法,由Scott Lundberg和Su-In Lee于2017年提出。SHAP的核心思想是将模型预测视为一个合作博弈,其中每个特征都是博弈中的一个参与者,而模型的预测结果则是所有特征合作产生的“总收益”。通过计算每个特征的Shapley值,我们可以了解每个特征对模型预测的贡献程度,并提供一致且公平的解释。

Shapley值的基本概念

Shapley值基于这样一个观点:在一个多人合作游戏中,每个参与者对总收益的贡献是不同的,而Shapley值就是用来公平地分配这些收益的一种方法。具体来说,它考虑了每个参与者在所有可能的参与者组合中的平均贡献。

Shapley值的特点

  1. 公平性:Shapley值确保了每个参与者获得的收益与其对游戏的贡献成正比。
  2. 效率:总收益被完全分配,没有任何剩余或不足。
  3. 对称性:如果两个参与者对游戏的贡献相同,那么他们将获得相同的Shapley值。
  4. 虚拟玩家:如果一个参与者的加入或离开不会影响其他参与者的收益分配,那么这个参与者的Shapley值为零。

Shapley值的计算涉及到考虑所有可能的特征组合,并计算每个特征在这些组合中的平均边际贡献。具体步骤如下:

  1. 生成所有特征子集:对于有n个特征的数据集,生成所有可能的特征子集,包括空集和全集。
  2. 计算边际贡献:对于每个子集,添加或移除一个特征,并计算模型预测的变化(边际贡献)。
  3. 加权平均:考虑一个特征在所有可能的组合中出现的次数,并根据这个次数来加权平均这个特征的边际贡献,得到该特征的Shapley值。

与为每个实例构建局部解释模型不同,SHAP使用整个数据集计算Shapley值。SHAP通过考虑所有可能的特征子集,并计算每个子集有无某个特征时的预测差异,将这些差异加权平均,得到每个特征的SHAP值。这个过程重复进行,以计算所有特征的SHAP值。SHAP方法的这些属性使其成为一个强大的工具,用于解释机器学习模型的预测,并帮助我们理解模型是如何根据输入特征做出决策的。

在应用SHAP时面临的挑战包括 选择合适的特征移除方法 和 有效估计Shapley值。特征移除可以通过用基线(如零、均值或来自分布的样本)替换值来完成,但目前没有一种能选择正确基线的方法;估计Shapley值也面临计算复杂性,随着特征数量的增加而呈指数增长。

研究者们已经采用了包括加权线性回归、排列和其他模型特定方法在内的近似策略来估计Shapley值。尽管复杂,但由于其对大型深度模型的表达能力,SHAP仍然流行且广泛使用。为了使SHAP适应基于Transformer的语言模型,已经提出了如TransSHAP这样的方法(Chen et al., 2023c; Kokalj et al., 2021)。TransSHAP将SHAP适应于子词(subword)级别的文本输入,这种子词级别的处理允许模型更好地处理未知词汇和文本中的复杂结构,能够为预测提供更精确的解释。

基于 transformer 的语言模型的 Shapley 值(Chen et al., 2023c)

3.1.1.4 基于分解的方法(Decomposition-Based Methods)

分解技术旨在将相关性分数分解为来自输入的线性贡献。一些工作将相关性分数直接从最终输出层分配给输入(Du et al.,2019b)。

另一类工作从最终输出层向输入层逐层分配相关性得分。 层级相关性传播(LRP)(Montavon et al., 2019)和泰勒型分解方法(DTD)(Montavon et al., 2015)是两类常用方法。总体思路是将神经元 j 在层 l+1 的相关性得分R_j^{(l+1)}分解为层 l 的每个输入神经元 i 的相关性得分R_{i \leftarrow j}^{(l, l+1)}R_j^{(l+1)}=\sum_i R_{i \leftarrow j}^{(l, l+1)}。LRP和DTD之间的关键区别在于它们使用的相关性传播规则不同。

LRP(Layer-wise Relevance Propagation)

LRP通过向后传播(从输出层到输入层)的方式在神经网络中分配相关性分数。LRP的核心思想是,一个神经元的激活程度应该根据其对上层神经元激活的贡献来分配。LRP使用一套特定的传播规则,这些规则通常是基于神经元的权重和激活值来定义的。LRP的关键特点是保守性,即任何神经元接收到的相关性分数总和必须等于它向下层传播的分数总和,这类似于电路中的基尔霍夫电流定律。

DTD(Deep Taylor Decomposition)

DTD是一种基于泰勒展开的方法,它将深度神经网络的预测函数在某个参考点附近展开,并使用展开的一阶项来量化每个输入特征对预测的贡献。DTD将LRP的传播过程视为在网络的每个神经元上执行局部泰勒展开。DTD的关键特点是能够为LRP提供理论基础,并且能够解释为什么特定的传播规则能够工作。

LRP和DTD之间的关键区别

LRP和DTD之间的关键区别在于它们使用的相关性传播规则的不同,以及它们对这些规则的理论基础的不同。

  1. 传播规则:LRP有多种传播规则(如LRP-0、LRP-ε、LRP-γ等),这些规则决定了如何将相关性分数从一层传递到下一层。而DTD提供了一种框架,用于从理论上推导出这些规则,并且解释为什么这些规则能够合理地分配相关性分数。

  2. 理论基础:DTD提供了一种理论框架,将LRP的传播过程解释为在网络的每个神经元上执行局部泰勒展开。这种框架允许研究者更好地理解LRP规则的工作原理,并且为设计新的传播规则提供了理论支持。

  3. 计算过程:LRP的计算过程是迭代的,从输出层开始,逐层向后传播直到输入层。DTD则提供了一种将这一过程视为泰勒展开的方法,这有助于理解LRP规则的数学基础,并可能简化计算过程。

通过将整体的相关性分数细分为不同模型组件(如注意力头(Voita et al., 2019)、tokens和神经元激活(Voita et al., 2021))对最终预测的具体贡献,这些方法能够分析和解释深度学习模型的预测结果。这两种方法已被应用于基于Transformer模型的输入的相关性得分推导(Wu & Ong, 2021; Chefer et al., 2021).。

下篇:
【文献精读笔记】Explainability for Large Language Models: A Survey (大语言模型的可解释性综述)(二)-CSDN博客

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

基于springboot的膳食问答系统的设计与实现

摘 要 本文介绍了一个基于SpringBoot框架的膳食问答系统,该系统融合了文章查看、膳食问答、用户管理、文章管理、知识点管理、系统日志查看、在线用户查看以及办公管理等多项功能。系统采用主流界面设计风格,前端使用HTML构建用户界面,后端则…

LeetCode - Google 校招100题 第7天 序列(数据结构贪心) (15题)

欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://spike.blog.csdn.net/article/details/144744418 相关文章: LeetCode 合计最常见的 112 题: 校招100题 第1天 链表(List) (19题)校招100题 第2天 树(Tree) (21…

《Java核心技术 卷II》流的创建

流的创建 Collection接口中stream方法可以将任何集合转换为一个流。 用静态Stream.of转化成数组。 Stream words Stream.of(contents.split("\\PL")); of方法具有可变长参数,可以构建具有任意数量的流。 使用Array.stream(array,from,to)可以用数组…

应用层协议(Https)(超详解)

前言: https是在http基础上的进行一些"加密"操作,也可以认为是http的强化版。 在下面展开对https的讨论中,可能不会再涉及到http的相关协议,如有对http的疑惑或是其他不一样的看法可以浏览上一篇文章:应用层…

ESP32 I2S音频总线学习笔记(一):初识I2S通信与配置基础

文章目录 简介为什么需要I2S?关于音频信号采样率分辨率音频声道 怎样使用I2S传输音频?位时钟BCLK字时钟WS串行数据SD I2S传输模型I2S通信格式I2S格式左对齐格式右对齐格式 i2s基本配置i2s 底层API加载I2S驱动设置I2S使用的引脚I2S读取数据I2S发送数据卸载…

优化租赁小程序提升服务效率与用户体验的策略与实践

内容概要 在这个快速发展的商业环境中,租赁小程序成为了提升服务效率和用户体验的重要工具。通过对用户需求的深入挖掘,我们发现他们对于功能的便捷性、响应速度和界面的友好性有着极高的期待。因此,针对这些需求,完善租赁小程序…

HTML——13.超链接

<!DOCTYPE html> <html><head><meta charset"UTF-8"><title>超链接</title></head><body><!--超链接:从一个网页链接到另一个网页--><!--语法&#xff1a;<a href"淘宝网链接的地址"> 淘宝…

day-102 二进制矩阵中的最短路径

思路 BFS 解题过程 从起点依次向八个方向尝试&#xff08;之后也一样&#xff09;&#xff0c;如果某个位置在矩阵内且值为0且没有访问过&#xff0c;将其添加到一个队列中&#xff0c;依次类推&#xff0c;直到到达出口 Code class Solution {public int shortestPathBinar…

王佩丰24节Excel学习笔记——第十八讲:Lookup和数组

【以 Excel2010 系列学习&#xff0c;用 Office LTSC 专业增强版 2021 实践】 【本章技巧】 地址栏公式可以使用 F9 查看&#xff0c;取消请按Esc键&#xff0c;或者公式前的红色叉&#xff1b;使用数组时一定要注意使用绝对引用&#xff0c;方便下拉&#xff1b;使用数组时一…

Java - 日志体系_Simple Logging Facade for Java (SLF4J)日志门面_SLF4J集成Log4j1.x 及 原理分析

文章目录 Pre官网集成Log4j1.x步骤POM依赖使用第一步&#xff1a;编写 Log4j 配置文件第二步&#xff1a;代码 原理分析1. 获取对应的 ILoggerFactory2. 根据 ILoggerFactory 获取 Logger 实例3. 日志记录过程 小结 Pre Java - 日志体系_Apache Commons Logging&#xff08;JC…

嵌入式开发中的机器人表情绘制

机器人的表情有两种&#xff0c;一种是贴图&#xff0c;一钟是调用图形API自绘。 贴图效果相对比较好&#xff0c;在存储空间大的情况下是可以采用的。 自绘比较麻烦&#xff0c;但在资源和空缺少的情况下&#xff0c;也是很有用的。而且自绘很容易通过调整参数加入随机效果&…

LLM高性能并行训练技术

LLM高性能并行训练技术 研究背景与意义 深度学习的重要性:人工智能成为国际竞争焦点,深度学习是其核心技术,在众多领域取得突破,推动社会向智能化跃升。面临的挑战:数据、模型规模呈指数级增长,硬件算力发展滞后。单个 GPU 难以满足大规模模型训练需求,分布式训练面临通…

Docker镜像瘦身:从1.43G到22.4MB

Docker镜像瘦身:从1.43G到22.4MB 背景1、创建项目2、构建第一个镜像3、修改基础镜像4、多级构建5、使用Nginx背景 在使用 Docker 时,镜像大小至关重要。我们从 create-react-app (https://reactjs.org/docs/create-a-new-react-app.html)获得的样板项目通常都超过 1.43 GB…

【电路理论四】正弦电流电路

正弦电流 正弦量是随时间按正弦规律变动的电路变量。 随时间按正弦规律变动的电流称为正弦电流。 正弦电流的瞬时值表达式&#xff1a; 称为正弦电流的三要素。 分别为振幅/幅值&#xff0c;角频率&#xff0c;初相。 幅值为正弦电流的最大值&#xff0c;恒为正。 为正弦电…

深度学习使用Anaconda打开Jupyter Notebook编码

新手入门深度学习使用Anaconda打开Jupyter Notebook编码 1. 安装Anaconda 第一种是Anaconda官网下载安装包&#xff0c;但是很慢&#xff0c;不太建议 第二种使用国内清华大学镜像源下载 选择适合自己电脑的版本&#xff0c;支持windows&#xff0c;linux系统 下载完之后自行…

【MySQL】搞懂mvcc、read view:MySQL事务原理深度剖析

前言&#xff1a;本节内容是事务里面最难的一部分&#xff0c; 就是理解mvcc快照读和read view。这两个部分需要了解隔离性里面的四种隔离级别。 博主之前讲过&#xff0c;但是担心友友们不了解&#xff0c; 所以这里开头进行了复习。 下面开始我们的学习吧&#xff01; ps&…

VITUREMEIG | AR眼镜 算力增程

根据IDC发布的《2024年第三季度美国AR/VR市场报告》显示&#xff0c;美国市场AR/VR总出货量增长10.3%。其中&#xff0c;成立于2021年的VITURE增长速度令人惊艳&#xff0c;同比暴涨452.6%&#xff0c;成为历史上增长最快的AR/VR品牌。并在美国AR领域占据了超过50%的市场份额&a…

cuda-cuDnn

cuda sudo /bin/sh cuda_11.7.0_515.43.04_linux.run cudnn cuDNN Archive | NVIDIA Developer Linux 系统 CUDA 多版本共存以及切换 – 颢天 安装cuda # 如果已经安装过驱动&#xff0c;驱动不需要再安装&#xff0c;取消勾选 安装cuDNN&#xff0c;cuda-cuDNN对应关系见…

# 【鸿蒙开发】多线程之Worker的使用

【鸿蒙开发】多线程之Worker的使用 文章目录 【鸿蒙开发】多线程之Worker的使用前言一、Worker的介绍二、注意事项三、Worker使用示例1.新建一个Worker2.主线程使用Worker3.子线程Worker的使用 四、效果展示 前言 本文主要介绍了多线程的方法之一&#xff0c;使用Worker开启多…

Spring Cloud由入门到精通

文章目录 1.初识微服务1.1. 单体架构1.2.分布式架构1.3.微服务1.4 微服务技术比对1.5.Spring Cloud1.6. 总结2.服务拆分和远程调用2.1.服务拆分原则2.2.服务拆分示例2.2.1.项目工程结构设计2.2.2.创建Maven项目工程2.3.实现远程调用案例2.3.1.案例需求:2.3.2. 注册 Rest Templ…