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

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

五、 解释评估(Explanation Evaluation)

在前面的章节中,我们介绍了不同的解释技术和它们的用途,但评估它们如何忠实地反映模型的推理过程仍然是一个挑战。我们将评估大致分为两类:传统微调范式的局部解释评估(第5.1节)和提示范式中自然语言CoT解释的评估(第5.2节)。

评估的两个关键维度是对人类的合理性在捕捉LLMs内部逻辑方面的忠实度 。 从技术上讲,评估解释包含人类评估(Human Evaluations)自动化评估(Automatic Evaluations)。人工评估通过模型依据(model rationales)与人类依据或主观判断之间的相似性来评估合理性。然而,这些方法通常忽略了忠实度。主观判断也可能与模型推理不一致,使这种评估不可靠。正如Jacovi和Goldberg(2020)所主张的,忠实度评估应该有一个明确的目标,并避免人类参与。通过扰乱模型依据来测试重要性,避免人类偏见。因此,制定严格的自动化指标对于公平的忠实度评估至关重要,这将在忠实度评估维度下进行讨论

模型依据"Model rationales":指的是模型在做出预测或决策时所依据的关键信息,理由或证据。这些理由通常是从输入文本中提取的一组标记(tokens)

5.1 传统微调范式中的解释评估(Explanation Evaluations in Traditional Fine-tuning Paradigms)

我们从两个方面介绍局部解释的评估:合理性(Plausibility)和忠实度(Faithfulness)。两部分主要涵盖可以应用于比较各种解释方法的通用属性和指标。我们关注定量评估属性和指标,这些指标通常比定性评估更可靠。

5.1.1 评估合理性(Evaluating plausibility)

局部解释的合理性通常在输入文本或token级别进行测量。合理性评估可以分为五个维度:语法、语义、知识、推理和计算(Shen et al., 2022)。这些维度描述了被掩盖的输入(masked input)和人类标注的解释之间的关系。不同的评估维度需要不同类型的数据集。

例如,句子“The country [MASK] was established on July 4, 1776.”,人类标注的依据是“established on July 4, 1776”。根据历史知识,我们知道美国是在1776年7月4日宣布独立的,所以正确的预测应该是“the United States”。这个预测是基于事实和知识得出的。尽管依据可能在不同的级别(如token或片段),评估程序除了多样化的指标外,其余相同。

人类标注的依据通常来自基准数据集,应满足几个标准:1)充分性:意味着依据足以让人们做出正确的预测;2)紧凑性:要求如果依据的任何部分被移除,预测将改变(Mathew等人,2021年)。解释模型随后负责预测重要的token,并使用这些token生成依据。

上述两种依据将用各种指标进行测量,常用的指标可以分为两类:

  • token级依据的指标:包括交集比(IOU)、精确度和召回率。
  • 衡量整体合理性的指标:包括离散情况下的F1分数,以及连续或软标记选择情况下的精确度召回率曲线下面积(AUPRC)(DeYoung等人,2020年)
  1. 交集比并集(Intersection-Over-Union, IOU):一种衡量两个集合重叠程度的指标,用于评估模型预测的准确性。

  2. 精确度(Precision)召回率(Recall):衡量模型预测准确性的两个指标,精确度指预测为正的样本中实际为正的比例,召回率指所有实际为正的样本中被预测为正的比例。

  3. F1分数(F1 Score):精确度和召回率的调和平均数,用于衡量模型的整体性能。

 5.1.2 评估忠实度(Evaluating Faithfulness)

评估忠实度的时候,我们有一些原则和指标来量化地衡量一个解释有多忠实于模型的真实推理过程。这些原则和指标通常针对特定的解释技术,但我们只讨论一些普遍适用的。分为模型视角和数据视角的指标。 模型级原则包括实现不变性、输入不变性、输入敏感性、完整性、极性一致性、预测一致性和充分性:

  • 实现不变性:也称为模型敏感性,不管模型的结构怎么变,只要功能一样,解释的结果应该是一样的。指的是归因分数应在不同但功能等价的模型架构间保持一致(Sundararajan et al., 2017)。
  • 输入不变性:如果输入数据变化了,但变化的部分不影响模型的预测,那么解释结果也应该保持不变。例如在输入发生恒定偏移时,归因分数应保持不变(Kindermans et al., 2017)。
  • 输入敏感性:对于影响模型预测的特征,解释结果应该体现出它们的重要性。指的是对于仅解释预测差异的特征,归因分数应非零(Sundararajan et al., 2017)。
  • 完整性:这个原则要求解释能够全面地反映出模型的决策过程。结合了敏感性和实现不变性,并从微积分中引入路径积分,这只适用于可微方法(Sundararajan et al., 2017)。
  • 极性一致性:解释中提到的重要特征,不应该对模型的最终预测产生负面影响。指出一些高级特征可能对最终预测产生抑制效应,这对解释产生负面影响,应该避免,但大多数时候没有避免(Liu et al., 2022)。
  • 预测一致性:指的是具有相同解释的实例应该有相同的预测。
  • 充分性:即使解释不同,只要关键特征相同,预测结果也应该是相同的。要求具有相同归因的数据应具有相同的相关标签,即使具有不同的解释(Dasgupta et al., 2022)。

这些原则帮助我们确保解释方法是可靠的。但是,每个指标只能覆盖忠实度问题的一个方面,很难有一个指标能解决所有问题。这些方法主要关注于通过设定一些规则来避免解释模型出现不一致的行为。至于模型的整体性能,我们会用一些特定的指标来衡量。

有一种重要的、不依赖于特定模型的工作,它通过量化模型预测和模型依据之间的关系来衡量忠实度。在测试集上计算的一些常见指标如下:

  •  全面性(COMP):当我们从原始文本中移除那些最重要的tokens后,原始预测类别的概率变化有多大,这意味着tokens的重要性,\text { comprehensiveness }=m\left(x_i\right)_j-m\left(x_i \backslash r_i\right)_j(DeYoung等人,2020)。
  • 充分性(SUFF):从文本中提取出来的依据,能够让模型做出预测的程度。\text { sufficiency }=m\left(x_i\right)_j-m\left(r_i\right)_j(DeYoung等人,2020)。
  • 决策翻转 - token比例(DFFOT):平均需要移除多少比例的token,才能让模型的决策发生翻转(从一个预测结果变为另一个)(Chrysostomou和Aletras,2021)。
  • 决策翻转 - 最有信息量的token(DFMIT):移除最有影响力的token,导致模型决策翻转的比例(Chrysostomou和Aletras,2021)。

ERASER(DeYoung等人,2020年)中,相关的token会根据它们的重要性被分成不同的组,然后按照重要性排序来逐个mask这些token,并逐步观察输出的变化。输出变化与遮盖token的重要性之间的相关性,表示模型正确归因特征重要性的能力。正如TaSc(Chrysostomou & Aletras,2021年)所声称的,较高的DFMIT和较低的DFFOT是首选的,因为这样可以精确识别重要token,模型的忠实度也更高。

相反,有些研究通过解释的弱点来衡量忠实度,比如捷径学习特征重要性的极性。Bastings等人(2022)通过模型识别学习捷径的能力来量化忠实度。在这种情况下,指标如precision@k(前k个token中的捷径百分比)和平均排名(在显著性排名中搜索的平均深度)这样的指标,表明了顶部特征代表所有真实捷径的能力。同样,较高的precision@k和较低的平均排名表示模型的良好忠实度。Liu等人(2022)通过执行违规测试来检查忠实度,以确保模型正确反映特征重要性和特征极性。

捷径学习:有些模型可能会走捷径,不是真正理解问题,而是通过一些简单的线索来做预测。研究者通过看模型能不能识别出这些捷径来衡量模型的忠实度。

特征重要性和特征极性:研究者还会检查模型是否正确理解了哪些特征是重要的,以及这些特征是正面的还是负面的。

违规测试(Faithfulness Violation Test)是一种用于评估模型解释忠实度的方法。它主要用于检测模型解释(例如,注意力权重)与实际特征影响力之间的一致性。

评估解释模型时存在两个关键问题,无论使用的具体指标如何:

  1. 模型如何量化重要特征?
  2. 模型能否有效地并正确地从前几个特征中提取尽可能多的影响特征?

然而,现有的评估指标通常在同一模型解释中的评估结果不一致。例如,按照DFFOT(决策翻转-标记比例)排名最好的解释,在SUFF(充分性)指标下可能是最差的(Chan等人,2022b)。TaSc研究表明,基于注意力的重要性指标比非注意力的指标更稳健,但将注意力视为解释本身仍然是有争议的(Jain & Wallace,2019)。

此外,这些评估指标不能直接应用于自然语言解释,因为此类解释很少与输入有直接联系。Atanasova等人(2023)提出了两个自然语言解释模型的忠实度测试方法:

  1. 反事实测试(Counterfactual Test):这种测试通过构建反事实案例来评估解释模型的忠实度。具体来说,就是从原始例子出发,通过插入能够改变模型预测的tokens来构建反事实案例。如果解释中没有包含这些插入的tokens,那么这种解释方法就被认为是不忠实的。

  2. 输入重构测试(Input Reconstruction Test):这种测试探索解释是否足够充分,以使得模型能够做出与原始例子相同的预测。在这种测试中,每个例子的解释被转换成一个新的输入,结合原始输入和解释本身,然后检查这样的新输入是否会导致与原始输入相同的预测。

不幸的是,因为两种测试都可以引入新的语言变体,因此在生成新短语时,它们在公平评估忠实度方面存在挑战。

另外,Chen等人(2023b)从信息的角度提供了评估指标,通过检查自然语言解释是否支持模型预测,以及解释中的新信息是否能够合理化模型预测,来评估解释模型的忠实度。

5.2 提示范式中的解释评估(Evaluation of Explanations in Prompting Paradigms)

最近,LLMs如GPT-3和GPT-4显示出了其预测生成自然语言解释的强大能力。然而,目前尚不清楚这些解释是否真的有助于人类理解模型的推理过程,并推广到新输入。注意,评估此类解释(例如,CoT依据)的目标和观点与评估第5.1节中引入的传统解释不同。已有合理性、忠实度和稳定性(也称为多样性)等指标来评估解释。与传统解释一样,我们关注评估合理性和忠实度。

5.2.1 评估合理性(Evaluating plausibility)

关于评估自然语言解释模型的合理性,Chen等人(2023d)提出了评估自然语言解释的反事实模拟能力(counterfactual simulatability)的概念。这意味着要评估解释是否帮助人类推断AI模型在不同反事实输入上的行为。他们提出了两个指标:

  1. 模拟泛化性(Simulation Generality):这个指标衡量解释帮助模拟的反事实案例的多样性。例如,“人类不吃肉”比“穆斯林不吃猪肉”有更广泛的相关反事实案例,因此更具泛化性。

  2. 模拟精确度(Simulation Precision):这个指标衡量人类推断与模型输出匹配的反事实案例的比例。也就是说,如果人类根据解释推断的输出与模型实际输出一致,那么模拟精确度就高。

他们发现,GPT-3.5和GPT-4等LLMs的解释精度低,表明它们误导人类形成不正确的心理模型。该论文揭示了当前方法的局限性,优化人类偏好如合理性可能不足以提高反事实可模拟性。

5.2.2 评估可信度(Evaluating Faithfulness)

研究解释的忠实度,即检查解释在多大程度上反映了模型预测背后的实际原因。例如,最近的一项实验分析表明,思维链(chain-of-thought)解释可能是系统性的不忠实的(Turpin et al., 2023)。研究者通过重新排列少量样本提示中的多项选择选项,引入偏见,使得答案总是“A”。然而,像GPT-3.5和Claude 1.0这样的语言模型未能在其解释中阐述这些偏见特征的影响。模型生成的解释没有忠实地代表真正的决策过程。

另一项工作还表明,大型语言模型(LLMs)所声称的链式思考推理可能在某些任务上不忠实,而较小的模型相比更大、更强大的模型更倾向于生成更忠实的解释(Lanham et al., 2023)。这些研究突显了对LLMs解释忠实度的担忧,即使这些解释看起来是合理的。为了提高CoT的推理忠实度,一项研究初步提出了通过将问题分解为子问题并单独回答它们来生成模型推理。分析表明,分解方法可以在几个指标上接近CoT的性能,同时提高l了忠实度。需要更多的未来研究来开发使模型解释更好地反映预测背后原因的方法。

六、 研究挑战(Research Challenges)

在这一部分,探讨了自然语言处理(NLP)和可解释人工智能(XAI)领域中需要进一步研究的关键挑战。

6.1 无标准真实解释(Explanation without Ground Truths)

LLMs的标准真实解释通常无法获取。例如,目前没有基准数据集来评估LLMs的全局解释。这带来了两个主要挑战。首先,很难设计准确反映LLM决策过程的解释算法。其次,缺乏参考标准使得评估解释的忠实度和保真度成为问题。在缺乏参考标准指导的情况下,选择各种方法中合适的解释也面临挑战。潜在解决方案包括涉及人类评估和创建合成解释数据集。

  • 涉及人类评估:通过人类的主观评估来评估解释的合理性,尽管这些方法可能忽视了忠实度,并且可能与模型推理不一致,但它们仍然是评估解释的一个途径。

  • 创建合成解释数据集:为了弥补缺乏基准数据集的问题,可以创建合成的解释数据集来评估和训练解释模型。

6.2 涌现能力来源(Sources of Emergent Abilities)

随着模型规模和训练数据的增加,LLMs展现出了令人惊讶的涌现能力,即使没有被明确训练来执行这些任务。阐明这些涌现能力起源仍然是一个开放的研究挑战,特别是对于像ChatGPT和Claude这样的专有模型,它们的架构和训练数据未公开。即使是像LLaMA这样的开源LLMs,目前对其涌现能力的解释也有限。这可以从模型和数据的角度进行调查。

6.2.1 模型视角(Model Perspective)

研究基于Transformer的模型对于揭示LLMs的内部工作至关重要。关键的问题包括:

  1. 哪些特定的模型架构赋予了LLMs的涌现能力?
  2. 实现在多样化语言任务上的强大性能所需的最小模型复杂性和规模是多少?

随着 LLM 的规模继续迅速增加,继续使用基础模型进行严格分析和实验仍然势在必行。推进这些领域的知识将使 LLM 更加可控和可靠。

6.2.2 数据视角(Data Perspective)

除了模型架构外,训练数据是理解LLMs涌现能力的另一个重要视角。一些代表性的研究问题包括:

  1. 哪些特定的大规模训练数据子集负责特定模型预测,是否可能找到这些示例?
  2. 涌现能力是模型训练的结果还是数据污染问题的人为因素(Blevins et al., 2023)?
  3. 对于有效的预训练和微调LLMs,训练数据的质量或数量哪个更重要?

理解训练数据特征与模型行为之间的相互作用将为大型语言模型中紧急能力的来源提供关键见解。

6.3 比较两种范式(Comparing Two Paradigms)

在自然语言推理(NLI)任务中,下游的微调(fine-tuning)范式和提示范式(prompting)在分布内(in-distribution)和分布外(out-of-distribution, OOD)性能上表现出显著差异。这表明这两种方法在预测推理上依赖于不同的推理。这表明两种方法在预测时依赖的推理过程不同。然而,对微调和提示范式之间的解释进行综合比较的研究仍然缺乏。未来的研究需要更好地阐明这些范式之间的解释差异。一些有趣的开放性问题包括:

  1. 微调模型和提示模型在分布内样本预测中使用的理由有何不同
  2. 微调和提示范式在OOD鲁棒性上的分歧原因是什么?能否将此归因于推理差异

推进这一理解将有助于为特定用例选择合适的范式,并在各个范式中提高鲁棒性。

6.4 LLMs的捷径学习(Shortcut Learning of LLMs)

最近的可解释性研究表明,语言模型在进行预测时经常走捷径。

  • 对于下游的微调范式,研究表明语言模型利用各种数据集的伪影和偏见进行自然语言推理任务,例如词汇偏见、重叠偏见、位置偏见和风格偏见(Du et al., 2023)。这显著影响了分布外泛化性能。
  • 对于提示范式,最近的一项研究分析了语言模型如何使用更长的上下文(Liu et al., 2023b)。结果表明,当相关信息位于上下文的开头或结尾时,性能最高,而当模型必须访问长上下文中中间的相关信息时,性能会降低。

这些分析表明,两种范式在某些情况下都倾向于利用捷径,这突出了需要更多的研究来解决这个问题并提高泛化能力。

  1. 伪影(Artifacts)

    伪影是指在数据集中由于某种非预期因素导致的错误模式或特征。这些可能是数据收集、处理或标注过程中产生的误差,或者是数据本身固有的某种规律性错误。

    例如,在自然语言推理任务中,如果数据集中的某些推理样本因为标注错误或者数据构造的方式,导致模型能够通过某些非逻辑的线索(如关键词的出现)来轻易判断答案,而不是通过真正的推理过程,这种非逻辑的线索就是伪影。
     
  2. 偏见(Biases)

    偏见是指模型在训练过程中学习到的倾向于某些特定特征的偏好,这些特征可能与任务的目标不完全相关,但因为它们在训练数据中频繁出现或以某种方式被强调,导致模型在做出预测时过度依赖这些特征。

    偏见可以是数据集层面的,比如数据集中某些类别的样本数量远多于其他类别,导致模型对这些类别有更高的识别准确率;也可以是特征层面的,比如模型倾向于根据某些表面特征(如词汇选择、句子结构)而不是深层语义来做出预测。
     

在自然语言推理任务中,常见的偏见包括:

  • 词汇偏见(Lexical Bias):模型可能因为某些词汇在训练数据中与特定标签强相关而倾向于选择这些标签。
  • 重叠偏见(Overlap Bias):如果前提和假设在词汇上有重叠,模型可能错误地认为它们是相关的。
  • 位置偏见(Position Bias):模型可能因为训练数据中某些特征总是出现在特定位置而对这些位置赋予更高的权重。
  • 风格偏见(Style Bias):模型可能对某种语言风格或表达方式有偏好,而这种偏好与推理的正确性无关。

6.5 注意力冗余(Attention Redundancy)

最近的研究使用可解释性技术研究了大型语言模型中注意力的冗余性问题,这些研究涉及传统的微调范式和提示范式。例如,Bian等人分析了BERT-base在不同预训练和微调阶段的注意力冗余性。实验分析表明,存在注意力冗余,发现许多注意力头是冗余的,可以在对下游任务性能影响很小的情况下进行剪枝。同样,Bansal等人研究了OPT-66B在上下文学习情景中的注意力冗余性。他们发现,注意力头和前馈网络中都存在冗余

他们的发现表明,许多注意力头和其他组件是冗余的。这为开发模型压缩技术提供了机会,可以在保留下游任务性能的同时剪枝冗余模块。

6.6 从快照可解释性转向时间分析(Shifting from Snapshot Explainability to Temporal Analysis)

还有一种观点认为,当前的可解释性研究忽视了训练动态。现有的研究主要是对完全训练好的模型进行事后解释。缺乏对训练过程的发展阶段的研究,可能会产生有偏见的解释,因为它未能针对模型在收敛过程中依赖的新兴能力或遗留部分,即所谓的相变(phase transitions)

此外,对某些特征进行干预未能反映特征之间的相互作用(Saphra, 2022)。因此,有一种趋势是从静态的、快照式的可解释性分析转向动态的、时间性的分析

通过检查训练过程中的几个检查点,Chen等人(2023a)发现了在预训练过程中,模型突然获得的一种能力,即特定的注意力头开始专注于单词的句法邻居。这种现象发生在模型训练的某个短暂窗口期,与训练损失的急剧下降同时发生。他们还表明,SAS对于学习期间获得语法能力至关重要。

受到这种视角的启发,发展分析可以揭示更多有助于理解和改进模型性能的训练过程中的因果关系和训练模式。

6.7 安全与伦理(Safety and Ethics)

大型语言模型(LLMs)的可解释性缺乏确实带来了显著的伦理风险,因为它们的能力越来越强。没有可解释性,分析、限制潜在的危害(如错误信息、偏见和社会操纵等问题)变得具有挑战性。可解释的AI技术对于审查这些强大的模型并确保它们与人类价值观保持一致至关重要。

例如,追踪训练数据归因或可视化注意力可以揭示嵌入的偏见,如性别刻板印象(Li et al., 2023a)。此外,探测分类器可以识别模型学习表示中是否编码了有问题的关联。

部署LLMs的研究人员、公司和政府有道德责任优先考虑可解释的AI。像严格的模型审查、外部监督和透明度法规这样的举措可以帮助减轻LLMs变得更加普遍时的风险。例如,随着对齐系统的规模不断扩大,人类反馈在治理LLMs方面变得无力,这给这些系统的安全性带来了巨大挑战。正如Martin(2023)所声称的,将可解释性工具作为审查过程的一部分,以补充人类反馈可能是一个富有成效的方法。在扩大模型规模和性能的同时,推进可解释性技术必须仍然是一个优先事项,以确保越来越有能力的LLMs的安全和道德发展。

七、结论(Conclusions)

在本文中,我们提供了对LLMs可解释性技术的全面概述。我们总结了基于模型训练范式的局部和全局解释方法。我们还讨论了使用解释来改进模型、评估和关键挑战。

主要的未来发展方向包括为不同的LLMs开发定制的解释方法、评估解释的忠实度和提高人类可解释性。随着LLMs的不断发展,可解释性将变得极为重要,以确保这些模型是透明的、公平的和有益的。

我们希望这篇综述能够为这一新兴研究领域提供有用的组织,并突出未来工作中的开放问题。

上篇:

【文献精读笔记】Explainability for Large Language Models: A Survey (大语言模型的可解释性综述)(一)_可解释推荐的大型语言模型指标独特句子比率 (usr)-CSDN博客

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

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

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

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

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

相关文章

pyside6-deploy 提示相对路径错误

Pyside6.5的nuitka_helper.py中的 qml_args.extend([f"--include-data-files{qml_file}./{qml_file.relative_to(source_file.parent)}"for qml_file in qml_files])在qml_file为相对路径的时候会报错。通过增加resolve()来强制转为绝对路径

Echart实现3D饼图示例

在可视化项目中,很多地方会遇见图表;echart是最常见的;这个示例就是用Echart, echart-gl实现3D饼图效果,复制即可用 //需要安装,再引用依赖import * as echarts from "echarts"; import echar…

Linux之ARM(MX6U)裸机篇----6.BSP工程管理实验

一,BSP工程管理 定义:是为了模块化整理代码,相同属性的文件存放在同一个目录下。 ①先mkdir多个文件夹er ②把共同.h文件转移到指定文件夹下 二,启动文件 .global _start /* 全局标号 *//** 描述: _start函数&am…

vue使用vue-seamless-scroll进行轮播滚动展示内容

我这里只是记录下一些基本的东西,具体大家可以查看官网介绍,有更详细的使用文档(目前有vue和js版本): https://chenxuan0000.github.io/vue-seamless-scroll/zh/ 安装组件: npm install vue-seamless-scro…

HTML——58.value和placeholder

<!DOCTYPE html> <html><head><meta charset"UTF-8"><title>value和placeholder属性</title></head><body><!--input元素的type属性&#xff1a;(必须要有)1.指定输入内容的类型2.默认为text,单行文本框-->&l…

C语言面的向对象编程(OOP)

如果使用过C、C#、Java语言&#xff0c;一定知道面向对象编程&#xff0c;这些语言对面向对象编程的支持是语言级别的。C语言在语言级别不支持面向对象&#xff0c;那可以实现面向对象吗&#xff1f;其实面向对象是一种思想&#xff0c;而不是一种语言&#xff0c;很多初学者很…

使用C#构建一个论文总结AI Agent

前言 我觉得将日常生活中一些简单重复的任务交给AI Agent&#xff0c;是学习构建AI Agent应用一个很不错的开始。本次分享我以日常生活中一个总结论文的简单任务出发进行说明&#xff0c;希望对大家了解AI Agent有所帮助。任务可以是多种多样的&#xff0c;真的帮助自己提升了…

vs 2022 中xml 粘贴为Class 中,序列化出来的xml 的使用

上图是visual studio 2022 中使用的粘贴功能的菜单位置 在生成的xml 中&#xff0c;有些是类似如下类型的 [System.Serializable] [System.Xml.Serialization.XmlType] public class Item {private bool isVisibleField;private bool isVisibleFieldSpecified;[System.Xml.Se…

代际超越:方太冰箱勾勒“蛙跳模型”轮廓

文&#xff1a;互联网江湖 作者&#xff1a;志刚 每一代人&#xff0c;都有其独特的新需求、新创造和新使命。 曾经的手机领域&#xff0c;苹果以其革命性创新颠覆了诺基亚的塞班系统&#xff0c;惊艳了整个行业。而如今&#xff0c;华为凭借其三折叠和自主研发的鸿蒙系统&am…

spring-boot启动源码分析(二)之SpringApplicationRunListener

在上一篇《spring-boot启动源码分析&#xff08;一&#xff09;之SpringApplication实例构造》后&#xff0c;继续看了一个月的Spring boot启动源码&#xff0c;初步把流程看完了&#xff0c;接下来会不断输出总结&#xff0c;以巩固这段时间的学习。同时也希望能帮到同样感兴趣…

Linux-Redis哨兵搭建

环境资源准备 主机名IP端口号角色vm1192.168.64.156379/26379mastervm2192.168.64.166379/26379slavevm3192.168.64.176379/26379slave 6379为redis服务暴露端口号、26379为sentinel暴露端口号。 安装Redis # 包文件下载 wget https://github.com/redis/redis/archive/7.2.2…

MySQL 03 章——基本的SELECT语句

一、SQL概述 &#xff08;1&#xff09;SQL背景知识 SQL&#xff08;Structured Query Language&#xff0c;结构化查询语言&#xff09;是使用关系模型的数据库应用语言&#xff0c;与数据直接打交道不同的数据库管理系统生产厂商都支持SQL语句&#xff0c;但都有特有内容 …

[羊城杯 2024]1z_misc

得到FL4G.zip和天机不可泄露.txt文件&#xff0c;其中压缩包需要解压密码&#xff1a; 二十八星宿&#xff1a; 东方苍龙七宿&#xff1a;角、亢、氐、房、心、尾、箕 南方朱雀七宿&#xff1a;鬼、井、柳、星、张、翼、轸 西方白虎七宿&#xff1a;奎、娄、胃、昴、毕、觜、…

QT----------多媒体

实现思路 多媒体模块功能概述&#xff1a; QT 的多媒体模块提供了丰富的功能&#xff0c;包括音频播放、录制、视频播放和摄像头操作等。 播放音频&#xff1a; 使用 QMediaPlayer 播放完整的音频文件。使用 QSoundEffect 播放简短的音效文件。 录制音频&#xff1a; 使用 QMe…

云计算学习架构篇之HTTP协议、Nginx常用模块与Nginx服务实战

一.HTTP协议讲解 1.1rsync服务重构 bash 部署服务端: 1.安装服务 [rootbackup ~]# yum -y install rsync 2.配置服务 [rootbackup ~]# vim /etc/rsyncd.conf uid rsync gid rsync port 873 fake super yes use chroot no max connections 200 timeout 600 ignore erro…

《Vue3实战教程》42:Vue3TypeScript 与组合式 API

如果您有疑问&#xff0c;请观看视频教程《Vue3实战教程》 TypeScript 与组合式 API​ 这一章假设你已经阅读了搭配 TypeScript 使用 Vue 的概览。 为组件的 props 标注类型​ 使用 <script setup>​ 当使用 <script setup> 时&#xff0c;defineProps() 宏函数支…

Diffusion Transformer(DiT)——将扩散过程中的U-Net换成ViT:近频繁用于视频生成与机器人动作预测(含清华PAD详解)

前言 本文最开始属于此文《视频生成Sora的全面解析&#xff1a;从AI绘画、ViT到ViViT、TECO、DiT、VDT、NaViT等》 但考虑到DiT除了广泛应用于视频生成领域中&#xff0c;在机器人动作预测也被运用的越来越多&#xff0c;加之DiT确实是一个比较大的创新&#xff0c;影响力大&…

2024年12月 Scratch 图形化(二级)真题解析#中国电子学会#全国青少年软件编程等级考试

Scratch图形化等级考试(1~4级)全部真题・点这里 一、单选题(共25题,共50分) 第 1 题 小猫初始位置和方向如下图所示,下面哪个选项能让小猫吃到老鼠?( ) A. B. C.

LLaMA详解

LLaMA 进化史 大规模语言模型(Large Language Model, LLM)的快速发展正在以前所未有的速度推动人工智能(AI)技术的进步。 作为这一领域的先行者, Meta在其LLaMA(Large Language Model Meta AI)系列模型上取得了一系列重大突破。 近日, Meta官方正式宣布推出LLaMA-3, 作为继LL…

SpringMVC(六)拦截器

目录 1.什么是拦截器 2.拦截器和过滤器有哪些区别 3.拦截器方法 4.单个拦截器的执行流程 5.使用拦截器实现用户登录权限验证&#xff08;实例&#xff09; 1.先在html目录下写一个login.html文件 2.在controller包下写一个LoginController文件 3.加拦截器 1.创建一个conf…