论文翻译 | Fairness-guided Few-shot Prompting for LargeLanguage Models

news2024/10/11 1:20:18

摘要

        大型语言模型已经显示出令人惊讶的执行上下文学习的能力,也就是说,这些模型可以通过对由几个输入输出示例构建的提示进行条件反射,直接应用于解决大量下游任务。然而,先前的研究表明,由于训练示例、示例顺序和提示格式的变化,上下文学习可能会受到高度不稳定性的影响。因此,构建恰当的提示对于提高语境学习的表现至关重要。在本文中,我们从预测偏差的角度重新审视这个问题。具体来说,我们引入了一个度量来评估固定提示对标签或给定属性的预测偏差。实证结果表明,偏差较大的提示往往导致预测质量不理想。基于这一观察,我们提出了一种新的基于贪婪搜索的搜索策略,以识别近乎最优的提示,从而提高上下文学习的性能。我们使用最先进的主流模型(如GPT-3)对各种下游任务进行综合实验。结果表明,我们的方法可以有效地提高模型的上下文学习性能,并且具有可解释性。代码可从https://github.com/MaHuanAAA获得。

1 引言

        大型语言模型(LLMs),如GPT-3 [1]和BLOOM [2],在执行下游任务的上下文学习(ICL)方面表现出了显著的能力。ICL是指利用由几个演示输入-输出对构建的提示(即少数样本提示)来调整LLM以解决各种下游任务的过程。尽管其表现令人印象深刻,但先前的研究表明,由于选择的上下文演示、演示顺序和提示格式的变化,ICL存在高度不稳定性[4, 5]。因此,构建适当的提示被确定为提高ICL性能的关键因素[6]。
        先前的研究通常从两个方向研究这个问题:(1)嵌入空间中的提示调整[7, 8, 9, 10, 11](2)文本空间中的提示搜索[4, 12, 13, 14, 15, 16]。提示调整的关键思想是将特定于任务的嵌入注入隐藏层,然后使用基于梯度的优化来调整这些嵌入[8, 15]。然而,这些方法需要修改模型的原始推理过程,这对于GPT3和ChatGPT [17]等黑盒LM服务的情况是不切实际的。此外,提示调整引入了额外的计算和存储成本,这对于LLM通常是昂贵的。一种更可行且有效的方法是通过在原始文本空间中搜索近似的演示样本和排序来优化提示[4, 15]。一系列工作提出了从“全局”或“局部”视角构建提示的方法。一方面,基于全局视角的方法通常将提示的不同元素作为一个整体进行优化,旨在实现更优的性能。例如,一种方法[14],构建了一个利用演示整体多样性的搜索过程。另一种方法[4]试图优化整个演示集的排序以获得更好的性能。与全局视角相比,基于局部视角的方法通过设计不同的启发式选择标准来优化每个单独的演示,如先前的工作KATE [15]。这些方法在广泛的任务上取得了令人印象深刻的改进。然而,它们中的大多数仍然存在以下限制:(1)当前的大部分研究主要关注沿着单一维度搜索提示,例如示例选择或顺序。然而,各种维度对性能的整体影响尚不清楚。(2)这些方法通常基于启发式标准,它们与实际性能之间存在差距。需要一个统一的视角来解释这些方法是如何工作的。(3)更重要的是,现有方法全局或局部地优化提示,这可能导致次优性能。
        在本文中,我们从预测偏差的角度重新审视了这个问题。我们发现一个关键的见解,即给定提示的质量取决于其固有的偏差。基于这一见解,我们提出了一个基于预测偏差的代理指标来评估提示的质量。这个指标允许我们在不需要额外开发集的情况下,通过单一的前向过程评估提示。具体来说,我们将给定的提示应用于一个“无内容”的输入,并期望模型输出一个统一的预测分布(一个无内容的输入不包含有用的信息)。因此,我们使用预测分布的统一性来刻画给定提示的偏差。这与先前的工作使用这个指标来校准模型输出[18]的想法相似。与主要关注在提示固定时使用此指标进行校准的工作不同,我们进一步探索其在自动搜索近似提示中的用途。此外,通过广泛的实验,我们经验性地验证了给定提示的固有偏差与其在给定测试集上的平均任务性能(见图2)之间的相关性。

 

图2:准确率与公平性高度一致,贪婪搜索可以找到一个好的提示符,其中“Random”和“Oracle”表示所有提示符的平均准确率和根据公平性的性能上界。 

        此外,这种基于偏差的指标允许我们以“局部到全局”的方式构建提示优化技术。我们提出了两种新颖的策略,以偏见引导的方式高效地搜索高质量的提示:(1)T-fair-Prompting(2)G-fair-Prompting。我们关注一个通用设置,其中给定一个大小为N的标记集。我们策略的目标是执行组合优化以找到近优提示(即选择演示及其顺序)。具体来说,T-fair-Prompting采用了一种直观的方法,首先计算每个单一演示的偏差(即单次提示),然后选择前-k个公平的演示来形成最终的提示。这个策略可以以O(N)的复杂度高效完成。请注意,T-fair-Prompting基于一个假设,即最优提示通常是由偏差最小的演示构建的。然而,这在实际情况中可能不成立,并且常常导致次优解。因此,我们进一步引入G-fair-Prompting来提高搜索质量。G-fair-Prompting遵循贪婪搜索的正常过程,通过在每一步做出局部最优选择来找到最优解。在算法的每一步,所选的演示是使更新后的提示达到最佳公平性分数的那个。这个策略在搜索质量与最坏情况时间复杂度之间进行权衡。通过接受更高的最坏情况时间复杂度O(N^2),搜索质量显著提高。请注意,G-fair-Prompting从局部到全局的视角工作,在早期阶段考虑单个样本的偏差,而在后期阶段关注全局预测偏差的减少。
        为了评估我们策略的有效性,我们在当前主流模型,如GPT-3 [1],进行了广泛的下游任务实验。我们的结果表明,我们的方法可以显著提高模型在上下文学习方面的性能,并且以一种有效且可解释的方式进行。总体贡献总结如下:

  • 我们引入了使用预测偏差来高效且独立于开发集地评估给定提示质量的方法,并且这种指标的实证有效性得到了全面验证。
  • 基于上述想法,我们提出了两种高效且有效的策略,即T-fair-Prompting和G-fair-Prompting,以优化提示。
  • 这两种策略的有效性已经在各种LLMs上得到了验证,范围从GPT系列模型到Meta最近发布的LMaMA系列[19]。与现有最佳方法(SOTA)相比,在不同的下游任务中观察到了超过10%的一致性相对改进。

        与使用前校准的关系:我们的论文与使用前校准[18]分享了类似的指标来评估给定提示的预测偏差。然而,先前的方法旨在使用这个指标来校准输出,这仍然容易受到所用提示质量的影响(更多结果可以在表3中找到)。相比之下,我们的研究旨在在原始空间中找到一个近优提示,以提高模型的性能,而不需要对模型的输出进行任何后调整。此外,我们首先在图2中经验性地验证了预测偏差与最终任务性能之间的联系,这一点在[18]中尚未研究。通过实验,我们发现即使没有校准,我们方法选择的提示也可以优于随机选择的经过校准的提示。

2 相关工作 

        上下文学习 先前的研究,如文献[1, 20]所述,已经证明大型语言模型可以通过使用上下文学习完成零样本或少样本学习任务。LLMs在适当的提示下表现良好。然而,最近的工作[4, 18]显示,LLMs的性能受到所用提示的影响。因此,确定最佳提示是一个重要且基础的研究领域。
        原始空间搜索 确定最佳提示的一个更直观的方法是在原始空间中进行搜索,通过选择或重新排序用户输入的提示句子。搜索可以从两个角度进行总结。

  • 全局视角:一个简单策略是枚举所有候选提示,以找到在验证集上实现最佳性能的提示,但这种策略计算成本高昂,其复杂度为Σ_{k=1}^{n} C_{n}^{k} k!。张等[12]发现错误经常落在同一簇中,每个簇包含相似的问题,因此他们提出了一个多样性引导的搜索策略来选择多样化的演示。除了演示选择,[4]还确定了提示顺序对结果的影响。他们通过LLMs生成探测集,找到在探测集上产生最多样化预测结果的最佳序列。然而,这种方法计算成本同样高昂,且难以确保生成的探测集足够平衡。
  • 局部视角:先前的研究[13]表明,减少模型的不确定性有助于提高模型的性能,[14]提出了主动提示(Active Prompting),根据LLMs的不确定性来选择演示。KATE[15]基于嵌入之间的距离选择提示,目标是选择最近的示例。

        然而,这种方法忽略了示例顺序的影响,并且需要访问句子嵌入。[16]表明LLMs很容易被不相关的上下文分散注意力,因此他们确定了几种方法来过滤掉上下文中的无关信息。
        在原始空间搜索的领域中,当前大多数方法倾向于仅关注单一因素(如上所述)对性能的影响,使用启发式指标来选择根据这一标准表现良好的上下文演示。虽然这些研究无疑为社区带来了好处,但它们缺乏对局部和全局视角的综合考虑。本文提出的方法提供了一个指标,从预测偏差的角度选择上下文演示,这自然促进了从局部视角到全局视角的转变。

3 重新审视跨演示的敏感性 

        在本节中,我们将澄清本文中使用的符号和模板。然后,我们将展示一些简要的实证结果,以显示不同的示范构建因素(例如,示例选择和顺序)如何影响绩效。我们进一步介绍了给定提示的预测偏差/公平性的定义,并展示了其与不同下游任务的预测性能的联系。 

3.1 符号 

        我们考虑一个由N个样本组成的训练集 S = \left \{ \left ( x_{i},y_{i} \right ) \right \}_{i}^{N},其中 x_{i}是句子,y_{i}\epsilon Y 是第 i 个训练样本的标签,而 Y 是任务所有标签的空间。我们使用一个模板 Γ(·) 将这些句子和标签转换成自然语言空间(即提示构建)。以 AGNews 数据集 [21] 中的一个实例为例,我们有 x_{i} = "Cubans Risking Life for Lure of America."; y_{i} = "World",并且 Γ(x_{i} ; y_{i}) 是 "Article: Cubans Risking Life for Lure of America. Answer: World"。我们将这些演示拼接起来形成一个提示 ρ,默认情况下 ρ = Γ(x1; y1) ⊕ · · · ⊕ Γ(xn; yn)。在测试时,我们将提示 ρ 与 τ = "Article: <test sentence>. Answer: " 连接起来,并将其输入到一个大型语言模型 M 中。预测的类别由以下方式给出:

其中 M(yjρ ⊕ τ ) 表示由LLM预测的概率,并且这个概率被归一化以适应任务。我们用 ^P(x) := fp^(yjρ ⊕ τ )jy 2 Yg 来表示预测分布。在本文中,我们专注于评估由演示引起的不稳定性,并且我们按照先前的工作 [18] 固定提示模板。

3.2 少样本提示的稳定性

        正如先前研究所示,少样本提示技术对多种因素高度敏感,包括演示的选择和顺序[4, 18]。在本研究中,我们进一步深入探讨了少样本提示的稳定性,特别是关注Meta最近发布的LLaMA系列[19]。此外,我们还评估了使用当前最先进方法[12, 15]进行校准的LLaMA模型的稳定性。
        为了阐明演示选择的影响,我们为每个不同的种子选择了四个演示,并为每个组合随机采样了一个顺序。随后,我们以箱型图的形式展示了AGNews上的性能,该图基于五个数字摘要(最小值、第一四分位数[Q1]、中位数、第三四分位数[Q3]和最大值)显示数据分布。如图1(a)(b)所示,准确度在不同的演示之间表现出显著的可变性。

 图1:ICL由于演示选择和顺序的高度变化而具有高度不稳定性,即使在进行后校准时也是如此。 

        为了调查排列的影响,我们检查了四个固定演示的所有可能排列,产生了4!个不同的候选。图1(c)(d)也揭示了高度的可变性。虽然后校准有助于减轻不稳定性,但重要的是要注意即使在校准之后,模型仍然敏感。这一发现强调了精心选择演示的重要性。在随后的实验中,我们发现我们的方法可以用来进一步提高校准模型的性能。

3.3 ICL的预测偏差 

        正如前面讨论的那样,ICL的性能受到演示、排列和选择等各种因素的显著影响(参见附录A.4了解更多信息)。因此,设计一种有效的方法来构建具有接近最优性能的适当提示,是为各种下游任务部署LLM的关键一步。如引言所述,许多研究旨在优化ICL中的提示语。本文通过预测偏差的视角进一步研究了这一问题,预测偏差指的是目标类别之间的差异。为了实现这一目标,我们首先引入了一种有效的技术来评估给定提示的固有预测偏差,并从先前的工作中获得灵感[18]。我们构建了一个与训练集无关的度量来衡量预测偏差,方法如下:首先,我们将提供的提示与“无语义”的测试样本信息(例如,“[N/ a]”,用η表示)合并,得到LLM对该样本的预测分布。理想情况下,预测分布应该近似于均匀分布,因为测试样本缺乏语义信息。在本文中,我们使用熵作为预测偏差的度量,定义为: 

 

        以前的研究已经利用这个度量来校准模型的输出。在本文中,我们对预测偏差和整体表现之间的关系进行了全面的检查。具体来说,在具有四个训练样本的场景中(由于枚举较大数量的所有提示案例的耗时性质),我们枚举各种数据集和llm的演示的所有可能组合和排列。随后,我们根据公平性降序排列所有候选者,其中“索引0”表示公平性最高的提示。我们使用五种不同的种子进行实验,产生包含不同演示的训练集,同时保持种子为0的测试样本。图2显示了不同模型的结果,揭示了模型的性能与公平性得分之间的强相关性(即更公平的提示产生更好的性能)。被称为“Oracle”的红星表示最佳平均性能,它始终与更高的公平性相关。这一观察结果提示我们通过识别最公平的提示来提高ICL性能。然而,发现最公平的演示组合被证明是一项艰巨的挑战,因为存在PN k=1 C k N k!不同的候选人。随着训练集规模的增加,这个任务变得棘手。为了解决这个问题,我们提出了两种有效的策略,以便在随后的部分中近似最合适的演示。

4 最公平的提示搜索 

        基于上述观察,我们提出了两种旨在识别最公平提示的策略,这些策略已经通过实证证明能够实现更优越的性能。让我们考虑一个包含n个样本的训练集S;这些搜索策略的目标是从训练集中选择一个样本子集,并以特定的顺序构建上下文,以优化等式2中的公平性标准。
        在理想情况下,我们会考虑演示选择和顺序排列的因素,通过检查PN k=1 Ck N k!个不同的候选,这枚举了所有可能的情况。在这里,k代表选择的演示数量,C表示组合函数。
        然而,评估每个候选是不切实际的,当N=8时,产生的候选数量超过106个。在本文中,我们引入了两种搜索策略来降低计算成本:T-fair-Prompting和G-fair-Prompting。T-fair-Prompting策略将复杂度从Θ(PN k=1 Ck N k!)降低到Θ(N),但其性能取决于k的选择,并且当选择了不合适的k值时可能会不稳定。因此,我们提出了另一种贪心搜索策略,称为G-fair-Prompting,它将复杂度降低到O(N2)并提供对oracle解决方案的更优近似。图8可视化了不同训练集大小下的计算成本。

4.1 T-fair-Prompting 

 

       T-fair-Prompting的中心思想是建立在启发式理解的基础上的,即最公平的提示通常由个体偏见减少的示范样本组成。因此, T-fair-Prompting通过一个两阶段的过程构造提示。最初,当使用个别演示制定提示时,评估预测偏差。随后,选择最公平的k个示范并使用来提示法学硕士。值得注意的是,根据先前的研究[18],更公平的证明可能位于序列的末尾,因为生成更受近似证明的影响。算法1给出了该过程的全面描述,图3给出了可视化表示。具体来说,当k等于训练集的大小时,该方法降级为搜索演示的最优顺序。然而,t -公平提示在很大程度上依赖于k的选择值。更重要的是,t -公平提示通过纯粹的局部视角来解决这个问题,从而忽略了从全局角度考虑问题,这通常会导致次优结果。因此,我们随后引入了g公平提示方法,该方法以局部到全局的方式运行,如下所述。 

4.2 G-fair-Prompting 

        G-fair-Prompting算法遵循贪心搜索的标准程序,该程序通过在每一阶段做出局部最优选择来寻求最优解。在算法的每一步中,所选择的演示是使得更新后的提示达到最高公平性分数的那个。这种策略平衡了搜索质量与最坏情况时间复杂度。通过接受增加到O(N^2)的最坏情况时间复杂度,搜索质量显著提高。重要的是要注意,G-fair-Prompting算法是从局部到全局的视角进行操作的,如算法所示。在初始阶段,考虑了单个样本的偏差,而后期阶段则专注于减少全局预测偏差。具体来说,在每一步中,我们从剩余的演示集S_0中插入一个新的演示Γ(xi; yi)到当前上下文ρ的开头(确保演示不重复),并选择最大化公平性改进的演示。正式地说,在算法2的第9步中,插入的演示应满足以下标准:
 

5 实验 

5.1 实验设置 

        模型。有大量可用的llm(附录a .2),包括开源模型和黑盒云API。最近,Meta发布了他们强大的预训练大语言模型LLaMA。具有13B参数的LLaMA模型与具有更大模型尺寸的BLOOM和GPT-3相比,可以达到相当的性能。在本文中,我们对不同规模的BLOOM (176B)和LLaMA模型的有效性进行了评估。由于oepnai严格限制API进入某些区域,我们在实验中选择了LLaMA (65B)作为GPT-3的替代品。


        数据集。我们在不同的文本分类数据集[21]上进行了实验,分别是SST-2、AGNews、CoLA、TREC和RTE。此外,LLaMA的最大输入长度为512,RTE中的句子对于LLaMA来说太长了。表1提供了任务描述和统计信息。

5.2 结果 

        我们进行了不同设置下的实验,并报告了五次运行的结果。我们将我们的方法与Zhang等人提出的多样性引导搜索策略[12](全球视角)和Liu等人提出的相似性引导搜索策略[15](局部视角)进行了比较。请注意,基于局部视角的方法是耗时的,因为它们需要为每个测试示例搜索不同的演示。表2显示了不同策略的性能,其中“随机”表示枚举所有情况下的平均准确度,“多样性”和“相似性”分别表示根据多样性和相似性选择演示。对于每个数据集,我们将训练集的大小设置为4。“多样性”和“相似性”从16个演示中选择4个,因为它们需要更多的候选。基准计算昂贵,因为在BLOOM上的RTE中对4个演示进行所有候选的枚举将需要超过120个NVIDIA A100 GPU小时。我们在不同模型上的训练集上枚举了所有候选,如图2所示。参数小于13B的模型的结果显示在表5中(即GPT2-XL (1.5B),LLaMA (7B)和LLaMA (13B))。

  • G-fair-Prompting可以达到枚举的近似。为了评估G-fair-Prompting(贪心)方法是否可以近似枚举所有候选的最佳性能,我们用绿色五角星标记了G-fair-Prompting的性能(代表与G-fair-Prompting在线上平均准确度最接近的值)。我们发现G-fair-Prompting可以实现非常接近枚举的近似。如图2所示,G-fair-Prompting搜索的大多数提示达到了前20%的排名,在BLOOM (176B)上,G-fair-Prompting几乎找到了最公平的提示。
  • G-fair-Prompting优于T-fair-Prompting。如表2所示,尽管T-fair-Prompting与随机选择相比实现了更好的性能,但G-fair-Prompting始终优于T-fair-Prompting。此外,Top-2在大多数情况下(超过5%)显著优于Top-4,表明选择的演示数量至关重要。总体而言,结果表明G-fair-Prompting仅以轻微的额外成本就实现了满意的性能。
  • 与SOTA方法比较。我们将我们的方法与几种最先进的(SOTA)方法进行了比较,包括多样性引导和相似性引导技术。我们观察到,在大多数情况下,我们的贪婪方法优于大多数SOTA方法,并且在数据集TREC上观察到超过10%的改进。另一方面,相似度引导方法在主题分类任务(AGNews)上取得了最好的性能。 

        这是因为它基于训练样本嵌入和测试示例之间的距离,为每个不同的测试示例搜索独特的提示。这种策略选择标签与测试样本相同的演示,而语言模型(LLMs)倾向于预测总是出现在上下文中的标签的偏见预测。然而,当相似性引导方法应用于其他任务时,可能会显得不足。具体来说,与随机选择相比,相似性引导策略在QC和可接受性任务中的性能较低。此外,当模型对任务的敏感性不是立即显现时,G-fair-Prompting方法偶尔也会失灵,正如在BLOOM上的可接受性任务中所观察到的(如图4所示)。请注意,与之比较的方法的训练集大小是我们的4倍。

 

  • 与校准方法的比较。后校正[18],在大多数情况下可以提高给定提示的准确性。但是,当选择的提示符质量较差时,即使经过校准,性能仍可能不足。我们比较了随机选择和校准的g -fair- prompt的性能(对所有候选者的平均值),发现g -fair- prompt在大多数情况下都优于校准的随机选择。例如,在主题分类任务上,g -fair- prompts在大多数模型上都达到了最佳性能。此外,我们发现后校正会损害模型的性能,并且这种情况发生的次数很多,因此直接操纵模型的概率对模型性能的影响值得重新考虑。 

 

        后校准[18]可以提高某个提示符的准确性(大多数情况下),但当所选提示符很差时,即使校准后性能仍然很差。我们进行了实验(表3)来比较g -fair- prompt和随机选择与校准的性能(“Average”和“Worst”表示在所有训练样例排列上的平均准确度和最差性能),并观察到g -fair- prompt在大多数情况下优于随机选择与校准。例如,在CoLA上,g -fair- prompt在大多数车型上表现优异。此外,我们发现在许多情况下,后校准可能会对模型的性能产生负面影响,而有时甚至在选定的提示上也可以显着提高性能,例如,在BLOOM-TREC上观察到10%的改进。因此,重新考虑直接操纵模型概率的影响是至关重要的。

6 结论 

        在本文中,我们重新审视了大型语言模型跨提示的敏感性,并从预测偏差的角度分析了这一问题。因此,我们采用“无内容”策略作为公平性度量来评估固定提示的预测偏差,并表明模型的性能与公平性高度一致。然后,我们提出了在原始空间中搜索最公平提示符的两种策略。我们对当前著名的法学硕士进行了大量的实验,并验证了所提出策略的有效性。此外,除了本文采用的公平性之外,未来还会有更多针对不同场景的提示搜索指标。 

 

 

 

 

 

 

 

 

 

 

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

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

相关文章

刷题小计六:矩阵

73.矩阵置零 mid 矩阵置零 ①先使用两个变量&#xff08;row_0 & col_0&#xff09;&#xff0c;记录「首行 & 首列」是否该被置零 ②在「非首行首列」的位置&#xff0c;存储置零信息到首行首列 // 把第一行第一列作为标志位for (int i 1; i < row; i) {for (…

电动牙刷拆解学习

大厂量产的产品的寻片选型为自己设计硬件的时候芯片选型提供了参考&#xff1a; 采用这个触点的方式充电相比于tppeC来说可以很好起到防水作用&#xff1a; USB公头&#xff1a; 牙刷母头&#xff1a; 电池充电芯片来自英集芯&#xff0c;型号IP2326&#xff0c;是一颗内部集…

执行node.js获取本机Ip命令,报:Error: Cannot find module ‘ip‘错误

Error: Cannot find module ip是由于没有改模块的依赖包&#xff0c;需要进行安装&#xff0c;以管理员的身份打开命令行&#xff0c;执行npm install ip 获取当前电脑的ip地址 方法一&#xff1a; const ip require("ip")/*** 1:获取当前电脑的ip地址*/ console.…

渗透测试之 域AD渗透手法【密码喷洒技术】手法详解 以及相关示例

说明: 域内密码喷洒工具: Kerbrute DomainPasswordSpray.ps1 原理抓个包分析一下&#xff1a; 域内用户枚举攻击防御&#xff1a; 流量检测&#xff1a; 说明: 域内密码喷洒&#xff08;Password Spraying&#xff09;一般和域内用户名枚举一起使用。 域内密码喷洒工具:…

slam系列1:open3d入门笔记

1. 读写数据 这里有很多测试用的pcd文件&#xff1a; https://github.com/PointCloudLibrary/data/blob/master/tutorials/ import open3d as o3d pcd o3d.io.read_point_cloud("test.pcd") o3d.io.write_point_cloud("write.pcd", pcd, True) # 默认fa…

SF6气体密度监测仪市场研究:主要企业的市场份额已超过37.13%

SF6气体密度监测仪是一种专用于监测和测量六氟化硫&#xff08;SF6&#xff09;气体密度的设备。SF6气体因其优异的绝缘性能和灭弧能力&#xff0c;被广泛应用于电力行业&#xff0c;尤其是在气体绝缘金属封闭开关设备&#xff08;GIS&#xff09;和断路器等关键设备中。随着电…

Java 函数式编程(1 万字)

此笔记来自于B站黑马程序员 good Java 历史版本及其优势 函数式编程, Stream API 一.函数伊始函数、函数对象 函数对象 行为参数法 延迟执行 a-lambda b-方法引用 复习小测 Math::random () -> Math.random()Math::sqrt (double number) -> Math.sqrt(number)Student:…

喜大普奔!eBay英国站取消个人卖家几乎所有销售费用!

二手电商市场竞争愈发激烈&#xff0c;eBay开始放大招了&#xff01;为什么说是取消个人卖家的几乎所有销售费用呢&#xff1f;一起来了解一下—— eBay英国站个人卖家无需支付最终交易费或监管运营费&#xff0c;这大大减轻了个人卖家的交易成本。不过需要注意的是&#xff0…

后端开发——规则引擎简介(Drools)

目录 什么是规则引擎&#xff1f;规则引擎带来的好处;Drools案例规则引擎的工作原理及应用场景常见的规则引擎及对比工作流引擎与规则引擎有什么不同 什么是规则引擎&#xff1f; 规则引擎&#xff0c;听起来高大上&#xff0c;其实可以理解为一种帮助你做“决策”的工具。你可…

使用浏览器原生API实现录屏功能

好早之前写了个小deme,本来都忘了,现在无意中又翻出来了,所以也来记录一下吧! 废话不说了,直接上代码了: <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><meta name="viewport" content=&q…

byte[]/InputStream/MultipartFile之间进行转换

前言 问题产生&#xff1a; 最近开发项目的时候&#xff0c;遇到了文件上传对象转换的问题 -> 我在对接抖音开放平台的时候&#xff0c;有一个图片上传的接口&#xff0c;需要将byte[]转为MultipartFile 对象&#xff0c;但是发现根本没有这样的工具类&#xff0c;后面翻阅…

无人机之巡航控制篇

一、巡航控制的基本原理 无人机巡航控制的基本原理是通过传感器检测无人机的飞行状态和环境信息&#xff0c;并将其反馈给控制器。控制器根据反馈信息和任务需求&#xff0c;计算出无人机的控制指令&#xff0c;并将其发送给执行机构。执行机构根据控制器的控制指令&#xff0c…

数据结构与算法——Java实现 33.堆排序

刻意去找的东西&#xff0c;往往是找不到的。 天下万物的来和去&#xff0c;都有它的时间。 —— 24.10.10 使用堆进行排序 算法描述 1.heapify 建立大顶堆&#xff08;所有结点的父元素大于子元素&#xff09; 2.将堆顶与堆底交换(最大元素被交换到堆底)&#xff0c;缩小并…

Python测试框架--Allure

严格意义上讲 Allure 不算是测试框架&#xff0c;但是它是生成漂亮测试报告的开源工具&#xff0c;搭配 Pytest 测试框架食用更搭。 也就是说 Allure 是在 Pytest 执行完生成的测试数据的基础上&#xff0c;对测试数据进行处理统计&#xff0c;生成格式统一、美观的测试报告。 …

java反射Class类的api

目录 Class类 1.构造器相关 1&#xff09;Constructor getConstructor(Class... parameterTypes): 2&#xff09;Constructor[] getConstructors(): 3&#xff09;Constructor getDeclaredConstructor(Class... parameterTypes): 4&#xff09;Constructor[] getDeclaredConstr…

国外火出圈儿的PM御用AI编程工具Bolt.new效果干不过国产的CodeFlying?号称全新定义全栈开发流程?

不知道大家最近有没有发现国外的很多AI都在挤破脑袋想去提升大模型的编程能力&#xff0c; 离我们最近的是上周Openai 发布的全新模型GPT-4o-Canvas&#xff0c; 拥有超强的代码编写能力。 另外还有LlamaCoder、Cursor、Claude artifacts、Replit... 光是今年一年就推出了好…

深入理解Transformer的笔记记录(精简版本)---- Transformer

自注意力机制开启大规模预训练时代 1 从机器翻译模型举例 1.1把编码器和解码器联合起来看待的话,则整个流程就是(如下图从左至右所示): 1.首先,从编码器输入的句子会先经过一个自注意力层(即self-attention),它会帮助编码器在对每个单词编码时关注输入句子中的的其他单…

xtu oj 四位数

样例输入# 2 1990 1111样例输出# 5 0 分离整数与合并 AC代码 #include<stdio.h> //判断四个数码是否相等 int Judge(int n){int flag1;int gn%10,sn/10%10,bn/100%10,qn/1000;if(gs&&gb&&gq)flag0;return flag; } int main(){int T;scanf("%d…

AI无人直播风口,云微客替你抓住了

现在很多老板都在找风口&#xff0c;其实风口就是我们大家看得见、摸得着的东西&#xff0c;就比如说近期比较火热的直播带货就属于是一个风口。可能很多老板会说直播、短视频之类的风口过于高科技&#xff0c;搞不来也搞不懂&#xff0c;跟自己好像没太大关系。 其实不然&…

嵌入式开发:STM32 硬件 CRC 使用

测试平台&#xff1a;STM32G474系列 STM32硬件的CRC不占用MCU的资源&#xff0c;计算速度快。由于硬件CRC需要配置一些选项&#xff0c;配置不对就会导致计算结果错误&#xff0c;导致使用上没有软件计算CRC方便。但硬件CRC更快的速度在一些有时间资源要求的场合还是非…