论文翻译 | Evaluating the Robustness of Discrete Prompts

news2024/11/25 18:42:26

摘要

        离散提示已被用于调整预训练语言模型,以适应不同的NLP任务。特别是,从一小组训练实例中生成离散提示的自动方法已经报告了优越的性能。然而,仔细观察习得的提示会发现,它们包含嘈杂和反直觉的词汇结构,而这些在手工写的提示中是不会遇到的。这提出了一个重要但尚未充分研究的问题,即自动学习离散提示在下游任务中使用时的鲁棒性。为了解决这个问题,我们对离散提示的鲁棒性进行了系统研究,通过使用AutoPrompt将精心设计的扰动应用到应用程序中,然后在两个自然语言推理(NLI)数据集中测量它们的性能。我们的实验结果表明,尽管基于离散提示的方法对NLI输入的扰动仍然相对稳健,但它们对其他类型的扰动(如提示符号的洗牌和删除)高度敏感。此外,它们在不同的NLI数据集上泛化得很差。我们希望我们的发现将激发未来在稳健离散提示学习方面的工作。

1 引言

        预训练语言模型(PLMs)已成功适应于广泛的自然语言处理(NLP)任务,这些任务使用了基于提示的学习(Radford等,2018,2019;Brown等,2020;Petroni等,2019),例如情感分类(Gao等,2021)、自然语言推理(NLI)(Schick和Schütze,2021,2022)、关系提取(Shin等,2020)、跨语言推理(Qi等,2022)。然而,由于以下几个原因,如(a)不一定总能招募到领域专家的人类标注者,(b)人类标注者可能无法通过编写提示覆盖所有边缘情况,以及(c)人类标注者对于特定提示的覆盖范围可能会有分歧,因此手动编写具有良好泛化性的提示是非常具有挑战性的。
        为了解决这些挑战,提出了自动学习离散提示的方法,如AdvTrigger(Wallace等,2019)、AutoPrompt(AP;Shin等,2020)、WARP(Hambardzumyan等,2021)和RLPrompt(Deng等,2022)。
        尽管离散提示学习方法通过自动学习的提示在许多下游任务中取得了良好的性能,但这样的自动提示似乎与手动编写的提示有显著不同。例如,表1显示了用于事实检索(Petroni等,2019)的手动编写和AP学习的提示。我们看到,对于BERT(Devlin等,2019)和RoBERTa(Liu等,2019)的AP学习提示在precision1(P@1)分数上超过了手动提示。然而,AP学习的提示包含了各种违反直觉的语言结构,例如标点符号(例如‘(’,‘?’,‘!’,‘)’),拼写错误(例如commuenrug)等,这些似乎与目标关系无关。对于其他任务的AP学习提示也可以观察到类似的情况(见Shin等(2020)的附录)。即使自动方法使用的训练实例相同,人类标注者编写这样的提示也是不切实际的。
        考虑到离散提示学习方法是在少量样本设置中训练的,它们只使用少量的训练实例,自动方法学习的离散提示的看似违反直觉的性质引发了对其鲁棒性的担忧。例如,如果我们对AP学习的提示添加小的随机扰动,目标任务的性能将如何变化?以及AP学习的提示是否能够泛化到领域外的数据?为了研究这些问题,在本文中,我们评估了自动提示学习方法学习的离散提示的鲁棒性,并将其与手动编写的提示和PLMs的直接微调进行了比较。
        评估离散提示的鲁棒性有两个主要的重要性。首先,由于离散提示学习方法是从一组少量的训练实例中学习这些提示的,因此它们需要涵盖泛化到目标任务的核心模式,而不仅仅是捕捉训练样本中的一些随机伪迹。其次,与基于嵌入的连续提示(Li和Liang,2021;Lester等,2021)不同,离散提示(Wallace等,2019;Shin等,2020;Deng等,2022)用自然语言表示,并应该具有可解释性。然而,如果一个离散提示学习方法不够鲁棒,一个看似无害的扰动,比如删除一个标点字符,可能会显著改变下游任务的性能。
        与大量使用提示来微调PLMs的工作相比,据我们所知,离散提示对随机或对抗性扰动的鲁棒性尚未被系统研究。为了填补这一空白,我们使用AP作为一个广泛使用方法的具体示例,并在不同类型的精心设计的扰动下评估其鲁棒性。然而,我们注意到我们的扰动技术不仅限于AP,可以用于任何离散提示学习方法。我们将AP学到的提示的性能与使用手动编写提示(MP)和基于头的微调(HFT)进行微调的性能进行了比较,其中我们微调了分类器头和PLM参数。
        从我们的评估中,我们发现了关于离散提示鲁棒性的几个有趣的事实,总结如下。

  • 总的来说,当训练实例数量增加时,MP在CB(De Marneffe等,2019)和MNLI(Williams等,2018)上的表现优于AP和HFT,这两个是独立的NLI(§ 3.1)基准数据集。特别是,AP在MNLI上的表现比在CB上要差得多。这与Shin等(2020)报告的AP在另一个NLI数据集SICK-E(Marelli等,2014)上的优越性能形成了对比。
  • 此外,当我们使用从CB学到的离散提示用于MNLI,反之亦然时(§ 3.4),我们看到了性能的下降。这些结果表明,由AP学到的离散提示对数据集的依赖性很强,这样的离散提示在数据集之间的泛化性不好。
  • 与MP相比,AP学到的离散提示对提示令牌的排序非常敏感(§3.2)。
  • 随机删除提示令牌会降低AP和MP的性能(§3.3) 

2  相关工作

        提示方法:提示或上下文学习作为一种从PLMs中提取知识的有效方法受到了广泛关注(Brown等,2020;Petroni等,2019;Cui等,2021)。然而,要手动编写提示,必须具备特定任务的领域知识。作为一种替代方案,已经提出了可以从训练数据中自动学习提示的方法。先前的工作中学习了两种不同类型的提示:离散提示(学习词汇序列)和连续提示(学习嵌入)。连续提示(Li和Liang,2021;Lester等,2021)由于学习到了可泛化的特定任务嵌入,因此参数效率高,其性能与PLM微调相当。然而,当PLM公开不可用时,且只能通过API访问时(Brown等,2020),无法学习连续提示。此外,与离散提示相比,连续提示难以解释。学习离散提示(Wallace等,2019;Shin等,2020;Deng等,2022)不会受到连续提示的这些限制,并且可以用于多样化的NLP任务。特别是,微调大规模PLMs在计算上变得昂贵,这使得离散提示学习成为一个有吸引力的替代方案。
        提示方法的分析:先前的工作从不同的角度分析了提示。Scao和Rush(2021)研究了训练数据集大小对固定提示PLM微调和基于头的微调的影响,并发现提示平均来说在分类任务上相当于100多个实例。Kavumba等(2022)展示了基于提示的模型的性能在句子中的表面线索上存在显著差异。Lu等(2022)发现任务输入的排序显著影响性能。Utama等(2021)专注于句子对分类中对词汇重叠的依赖,并展示了基于提示的模型未能根据词汇重叠做出预测。据我们所知,先前的工作尚未研究在不同类型扰动下离散提示的鲁棒性,这是本文的主要关注点。

3 实验 

        让我们首先描述所有实验共有的实验设置。
        提示和微调方法:我们比较了以下方法。

  • AutoPrompt (AP;Shin等,2020) 是离散提示学习的代表方法。其学习策略基于填空任务(Devlin等,2019)。首先,给出了一个手动创建的提示模板(例如,[X] <MASK> <T> ... <T> [Y]),然后通过替换<T>学习提示令牌(称为触发令牌),<T>是一个代表触发令牌的特殊令牌。在搜索触发令牌时,将<MASK>的概率转换为类概率,使用标签令牌(例如,对于矛盾关系使用{'nobody', 'nor'}(Shin等,2020)),并通过梯度引导搜索(Wallace等,2019)从语言模型的词汇表中搜索触发令牌,以找到由触发令牌组成的候选集。对于NLI,我们使用了Shin等(2020)给出的模板,并从训练数据集中学习提示令牌。在我们的实验中,我们使用了官方实现。2
  • 手动编写的提示(MP;Schick和Schütze,2021)是一种使用手动编写的提示作为输入,并预测标签的<MASK>令牌(例如,对于蕴涵关系使用'yes')来微调整个掩码语言模型的方法。我们遵循先前的工作(Schick和Schütze,2021;Scao和Rush,2021)使用了模板{hypothesis}? | <MASK>, {premise}和verbalizer(蕴涵关系使用'yes',矛盾关系使用'no',中性使用'maybe')。Schick和Schütze(2021)提出了一种基于集成的方法,使用不同的模板进行多轮微调。然而,因为AP使用的是单个模板,为了在我们的实验中进行公平比较,我们使用一个MP模板微调了PLM。
  • 基于头的微调(HFT;Devlin等,2019)是用分类器头微调PLM。我们报告了Scao和Rush(2021)训练的基于头的结果。他们遵循先前工作(Mosbach等,2021;Zhang等,2021)的建议,使用低学习率(10^-5)和大量步骤(至少250)训练HFT。注意,HFT不是基于提示的方法,因此在一些关于离散提示鲁棒性的实验中被排除。

        数据集:我们使用NLI作为评估任务来比较离散提示方法的鲁棒性。NLI任务在多个先前的研究中被用来评估和/或提出新颖的提示学习方法,因为它与许多NLP应用相关的基本任务(Shin等,2020;Scao和Rush,2021;Webson和Pavlick,2022)。在我们的实验中使用相同的NLI任务和数据集对于进行公平比较和得出可复现的结论非常重要。我们使用了两个数据集:CommitmentBank (CB;De Marneffe等,2019)3(短文本语料库),和MultiGenre自然语言推理语料库(MNLI;Williams等,2018)4(为NLI众包的句子对集合)。每个句子对都被标记为蕴涵、中性或矛盾。
        PLM:在我们的实验中,我们使用了相同的预训练语言模型来平等地评估AP、MP和HFT。具体来说,我们使用了RoBERTa-large(355M参数)5(Liu等,2019),这在许多先前的提示学习工作中被使用(Shin等,2020;Scao和Rush,2021)。PLM在包括BookCorpus6、English Wikipedia7、CC-News8、OpenWebText9和Stories10在内的五个数据集上进行了训练。文本使用大小为50,000的字节级Byte-Pair Encoding (BPE;Sennrich等,2016)词汇进行标记化。
        评估提示的鲁棒性:我们使用退化率(RoD)(Meyers等,2020)来评估鲁棒性,定义为由于对提示添加扰动而导致目标任务准确性的降低。如果一个模型在包含扰动后RoD较小,那么该模型被认为对该扰动具有鲁棒性。具体来说,我们首先计算提示x及其扰动版本x在相同评估集上的各自准确度accx和accx。使用M个提示x1; :::; xM的平均准确度avg-accx和avg-accx*,我们计算RoD为(avg-accx − avg-accx*)/avg-accx = 1 − avg-accx*/avg-accx。 

3.1 训练数据集大小的影响 

        在继续进行鲁棒性实验之前,我们首先研究了AP和MP在多少训练实例上表现最佳,并使用了表现最佳的AP和MP来评估后续实验中的它们的鲁棒性。
        实验设置:我们按照Scao和Rush (2021)的实验设置逐渐增加了训练数据集的大小。具体来说,我们实验了从训练数据集中随机抽取的具有不同实例数量的子集,这些子集的大小分别为{10; 15; 20; 30; 50; 70; 100; 150; 200}。由于少样本学习方法的性能往往由于训练数据中的高特征方差而有所变化,我们为每个数据集大小随机抽取了四个子集,并独立使用它们来训练模型11(即对于AP的触发令牌和标签令牌,或者对于MP和HFT的微调语言模型),并报告四个模型在验证数据上的平均准确率(M = 4)。我们使用了与训练集来源相同的匹配验证集用于MNLI。对于CB,我们按照Scao和Rush (2021)的方法保留了50个训练实例用于开发,并使用原始验证集作为测试数据。
我们搜索以下超参数的最佳值:触发令牌的数量在{3, 5, 10}中选择,标签令牌的数量在{3, 5, 10}中选择,以及候选集中的令牌数量在{10, 50}中选择。我们使用在每种数据集大小上验证数据准确性最高的超参数来评估测试准确性。在MP的训练中,我们使用了AdamW优化器(Loshchilov和Hutter,2019),初始学习率为10^-5,学习步长为1,000,遵循Mosbach等(2021)的方法。


        主要结果:图1显示了针对训练数据集大小的性能12。我们看到在CB和MNLI中,MP始终优于AP。例如,在数据集大小为200时,AP和MP在CB中达到了最佳准确率,MP的准确率为92.7%,而AP的准确率较低,为54.2%。
        我们的结果还表明,AP学到的离散提示的性能高度依赖于数据集。Shin等(2020)报告了AP和HFT在另一个NLI数据集SICK-E(Marelli等,2014)上的结果。他们得出结论,在相同的RoBERTa-large PLM上,直到训练数据集大小为1,000时,AP始终优于HFT。然而,我们的实验显示了相反的趋势(即HFT优于AP)。这表明即使AP在给定数据集上优于HFT,也不能保证在相同任务的不同数据集上也会优于HFT。这可能是因为每个数据集的领域和注释指南的差异所致。例如,MNLI上AP的准确率相当低,这与CB形成了对比。这一结果提示,领域和注释指南的差异使得AP难以持续表现良好。

         最佳提示:表2显示了在CB和MNLI中表现良好的200个实例上训练的模型的平均准确率。注意,每个数据集大小都有四个训练子集,相应地产生了四个由AP学到的提示和四个由MP微调的PLMs。13在§ 3.2至§ 3.5的鲁棒性评估中,我们使用了这些学到的APs和MPs。在本文中,(a)由AP学到的触发令牌,和(b)排除任务输入和掩码令牌的手动编写的提示统称为提示令牌。 

3.2 令牌重排序 

        从表1可以看出,与手动确定提示中令牌顺序的MP相比,AP学到的离散提示在其令牌之间似乎没有明显的顺序。为了实证研究令牌顺序在离散提示中的重要性,我们进行了一项实验,其中我们随机打乱提示令牌,并测量对下游任务性能的影响。


        实验程序:给定一个离散提示,我们首先随机重新排序其提示令牌(例如,表2中用蓝色阴影部分)。接下来,我们使用重新排序的提示与PLM一起对CB和MNLI数据集中的测试实例进行蕴涵预测。最后,计算使用重新排序的提示获得的蕴涵预测准确率(Acc)。我们对每个提示重复此评估10次,并报告平均值和相应的RoD值。


        主要结果:从表3我们可以看到,当提示令牌随机重新排序时,AP和MP的准确率都会下降。特别是,与MP相比,AP的准确率显著下降。例如,由于令牌重新排序,AP在CB上的准确率下降了大约14%,而MP的准确率只下降了大约2%。直观上,人们会期望改变MP中提示令牌的顺序会导致准确率显著下降,因为提示的含义会改变。然而,我们看到情况并非如此。这一结果表明,AP学到的离散提示强烈依赖于令牌的顺序。
        附加分析:为了进一步分析在AP中重新排序提示令牌引入的扰动水平与其对性能影响之间的关系,我们计算了每个提示与其令牌打乱版本之间的令牌级编辑距离(Levenshtein距离;Levenshtein等,1966),如图2所示。对于所有四个AP提示,我们看到当扰动噪声(即通过编辑距离测量)增加时,准确率下降。这再次确认了AP学到的离散提示对提示令牌随机打乱的缺乏鲁棒性。 

3.3 删除令牌 

        从表1可以看出,AP学到的离散提示比MP表现更好。然而,由于提示令牌缺乏可解释性(例如表1中的提示令牌'neau'),往往难以确定提示令牌对目标任务的重要性。为了理解单个提示令牌对整体离散提示的重要性,我们进行了一项实验,其中我们从给定的离散提示中系统地删除了不同位置的一个或多个提示令牌,并测量了NLI任务性能的下降(如果有的话)。
        实验程序:我们评估了两种提示删除设置:单令牌删除和多令牌删除。在单令牌删除设置中,我们在给定提示的不同位置删除了一个令牌。对于AP,我们使用表2中显示的四个离散提示重复此操作,并报告平均准确率。在多令牌删除设置中,我们根据三种策略删除n个令牌(n属于{1, 3, 5, 7}):随机删除随机删除n个提示令牌,前删除从提示的开头删除n个连续的提示令牌,后删除从提示的末尾向后计数删除n个令牌。在随机删除中,我们进行了100次试验,并报告了平均准确率。与之前的实验一样,我们使用了AP的四个提示,并报告了平均结果。


        结果:从表4我们可以看到,即使删除了特定位置的单个令牌,AP和MP的准确率也会下降。然而,CB和MNLI中观察到的趋势不同。例如,与MNLI相比,AP在CB中导致了更高的RoD值。这表明AP在单令牌删除下的鲁棒性在很大程度上取决于数据集。表5显示了多令牌删除设置的结果。我们看到,当删除更多令牌时,AP和MP的性能都会下降。有趣的是,即使删除了所有提示令牌(即仅使用任务输入和<MASK>作为输入),CB中MP的准确率下降非常小。这表明CB上的性能在MP中较少依赖于提示令牌。 

3.4 跨数据集评估  

        考虑到离散的提示学习方法(如AP)从一小组训练实例中学习提示,学习到的提示编码可泛化的任务特定特征,而不是所使用的训练样本中的随机工件,这一点很重要。为了研究学习到的离散提示从一个数据集到另一个数据集的可转移性,我们进行了跨数据集评估,如下所述。实验过程:我们使用一个NLI数据集(例如CB)来学习提示,然后使用它们在另一个NLI数据集(例如MNLI)中进行蕴涵预测。然后,我们使用RoD测量了相对于来自同一数据集的测试数据的准确性,这种跨数据集可转移性任务的准确性下降。

        结果:从表6中可以看出,基于ap的提示不能很好地泛化数据集。对于AP和MP,从CB到MNLI的转移RoD大于相反方向的转移RoD。这意味着MNLI是一个更好的数据集,可以使用离散提示来为NLI调整PLM。

3.5 对抗性扰动 

        向测试实例引入精心设计的对抗性扰动,例如可能改变或不变更原始目标标签的句子修改,已被用作探测模型鲁棒性的技术(Goodfellow等,2015)。先前的研究(Samanta和Mehta,2017;Jin等,2020)表明,预训练模型很容易被看似无害的测试实例扰动所误导,从而做出错误的预测。因此,我们评估基于离散提示的NLI模型对对抗性扰动的测试实例的鲁棒性。

         评估数据集:为此,我们请了两名注释者手动编辑NLI测试数据中的假设句子,考虑两种类型的扰动:(1) 不改变参考标签的扰动,和(2) 改变参考标签的扰动。一个例子显示在表7中。对于第一种类型的扰动,我们编辑了一个假设句子,使其与相应的前提之间的关系保持不变。对于第二种类型,我们编辑了一个假设句子,使其关系(例如,从蕴涵到矛盾)被颠倒。前提和假设对从CB(验证集)和MNLI(测试集)中抽取。因为MNLI大约有10,000个测试实例,且手动编辑句子成本高昂,所以我们使用了覆盖MNLI和CB的100个随机选择的句子对。
        实验程序:我们计算了原始和对抗性测试实例获得的平均准确率的RoD。具体来说,我们在三种设置下使用了表2中的AP提示:(a) 原始(无扰动),(b) 无标签变化的扰动,和(c) 有标签变化的扰动。然后,我们根据表8所示从(a)到(b)和(a)到(c)计算RoD。
        结果:总体来看,我们发现在两种类型的扰动下,AP的RoD在CB和MNLI中始终小于MP的RoD。然而,也明显可以看出,使用AP获得的准确率远低于使用MP获得的准确率。对于无标签变化的扰动,AP和MP的RoD值较小,与有标签变化的相比。这表明AP和MP对于不显著改变意义的假设修改相对鲁棒。然而,当引入更强的扰动,导致标签变化时,AP和MP的准确率显著下降。15这是一个值得关注的问题,因为它表明无论是AP还是MP,在测试数据中的假设句子受到对抗性修改时,都不足以足够鲁棒地正确预测目标标签。 

4 结论 

        我们研究了在不同扰动下离散提示的鲁棒性。我们发现,尽管离散提示在令牌删除方面保持相对鲁棒,但它对其他类型的扰动(如令牌打乱)非常敏感。对于输入的对抗性扰动,离散提示在无标签变化的弱扰动下是鲁棒的,但在有标签变化的扰动下,AP比MP更鲁棒。此外,它们在不同数据集上的泛化能力较差,这些数据集是为NLI注释的。我们希望我们的分析能够激发未来的工作,开发出既能学习准确又能学习鲁棒的离散提示的方法。 

5 局限性 

        本工作的可能局限性包括:

  • 我们选择了流行的AP和MP离散提示方法,并未在本工作中探究其他方法。然而,我们的分析流程仍然可以应用于其他离散提示,例如AvgTrigger(Wallace等人,2019)。
  • 我们遵循之前的高频交易研究(Scao and Rush, 2021)和AP研究(Shin等人,2020)选择了RoBERTa-large,以便与他们进行可重复和相同的比较。其他PLMs可能会得出不同的结果,但它们也可以按照本工作的方式进行调查。
  • 本工作专注于NLI,因为它是自然语言理解的基本任务,即使使用PLMs也仍然具有挑战性(Brown等人,2020)。其他复杂的下游任务也值得在未来工作中进行研究,以更深入地理解基于提示的方法。
  • 结果和结论是基于英语数据集得出的,在其他语言中可能会有所不同。然而,我们的方法并不依赖于英语,可以应用到其他语言中,这是未来研究的重要方向。
  • 由于MP/HFT与AP之间存在性能差距,扰动后的准确性可能会受到影响。然而,本工作的目的并非寻找最佳的提示学习方法,而是分析离散提示的鲁棒性,以更深入地理解它们。 

6 道德考量 

        我们的对抗性数据集来源于现有的CB和MNLI数据集。我们在数据开发过程中对实例进行了视觉检查,并未发现任何具有伦理问题的实例。人们也应该注意到PLM中的社会偏见(例如性别刻板印象)。我们实验中使用的PLM,RoBERTa,已知存在性别偏见(Sharma等人,2021年)。由于我们为了遵循先前使用RoBERTa的研究的实验条件而直接使用了它,我们当前的结果可能受到了这种偏见的影响。然而,本工作对提示鲁棒性的考虑并不会引发或放大这样的伦理问题。 

 

 
    

 

 


     

 

 

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

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

相关文章

自适应对话式团队构建,提升语言模型代理的复杂任务解决能力

人工智能咨询培训老师叶梓 转载标明出处 如何有效利用多个大模型&#xff08;LLM&#xff09;代理解决复杂任务一直是一个研究热点。由美国南加州大学、宾夕法尼亚州立大学、华盛顿大学、早稻田大学和谷歌DeepMind的研究人员联合提出了一种新的解决方案——自适应团队构建&…

linux之网络子系统- TCP连接的开销,主要是内存的开销

一、相关实际问题 内核是如何管理内存的如何查看内核使用的内存信息服务器上一条ESTABLISH状态的空连接需要消耗多少内存机器上出现了3万多个TIME_WAIT&#xff0c;内存开销会不会很大 二、Linux内核如何管理内存 内核针对自己的应用场景&#xff0c;使用了一种叫做SLAB/SLU…

企业AI助理驱动的决策支持:从数据洞察到战略执行

在当今瞬息万变的商业环境中&#xff0c;企业面临着前所未有的竞争压力和不确定性。为了保持竞争力&#xff0c;企业不仅需要迅速响应市场变化&#xff0c;还需要做出基于数据的明智决策。随着人工智能技术的飞速发展&#xff0c;企业AI助理正在成为决策过程中的重要工具&#…

二、应用层,《计算机网络(自顶向下方法 第7版,James F.Kurose,Keith W.Ross)》

文章目录 零、前言一、应用层协议原理1.1 网络应用的体系结构1.1.1 客户-服务器(C/S)体系结构1.1.2 对等体&#xff08;P2P&#xff09;体系结构1.1.3 C/S 和 P2P体系结构的混合体 1.2 进程通信1.2.1 问题1&#xff1a;对进程进行编址&#xff08;addressing&#xff09;&#…

02-Dubbo特性及工作原理

02-Dubbo特性及工作原理 Dubbo 的特性 这里说一下 Dubbo 最主要的特性&#xff0c;从这些特性中&#xff0c;就可以看出来我们为什么要选用 Dubbo&#xff0c;也可以将 Dubbo 和 Spring Cloud 进行对比&#xff0c;比如我们搭建一套微服务系统&#xff0c;出于什么考虑选用 Dub…

通义灵码AI程序员你在用吗?

大家好&#xff0c;我是袁庭新。之前给大家介绍过AI编码助手——通义灵码&#xff0c;这期给大家分享通义灵码AI程序员的一些功能。 随着大模型的持续进化&#xff0c;在语义理解、代码生成、开发工作流等方面的能力也获得了持续、全面的提升。你说&#xff0c;要是有个编程小…

好难的题啊

序&#xff1a; 1.极坐标本质为变化的圆&#xff1a;动曲线---》格林公式 2.曲线积分常见的化简就是对dx&#xff0c;dy进行操作&#xff0c;这要求寻找到合适函数&#xff0c;而极坐标就是天然的函数&#xff08;参数方程&#xff09; 3.重积分--》累次积分--》单独看其中一…

大学适合学C语言还是Python?

在大学学习编程时&#xff0c;选择C语言还是Python&#xff0c;这主要取决于你的学习目标、专业需求以及个人兴趣。以下是对两种语言的详细比较&#xff0c;帮助你做出更明智的选择&#xff1a; C语言 优点&#xff1a; 底层编程&#xff1a;C语言是一种底层编程语言&#x…

开源模型应用落地-Qwen2.5-7B-Instruct与TGI实现推理加速

一、前言 目前&#xff0c;大语言模型已升级至Qwen2.5版本。无论是语言模型还是多模态模型&#xff0c;均在大规模多语言和多模态数据上进行预训练&#xff0c;并通过高质量数据进行后期微调以贴近人类偏好。在本篇学习中&#xff0c;将集成 Hugging Face的TGI框架实现模型推理…

【QT】Qt对话框

个人主页~ Qt窗口属性~ Qt窗口 五、对话框2、Qt内置对话框&#xff08;1&#xff09;Message Box&#xff08;2&#xff09;QColorDialog&#xff08;3&#xff09;QFileDialog&#xff08;4&#xff09;QFontDialog&#xff08;5&#xff09;QInputDialog 五、对话框 2、Qt内…

ubuntu交叉编译expat库给arm平台使用

1.下载expat库源码: https://github.com/libexpat/libexpat/release?page=2 wget https://github.com/libexpat/libexpat/release/download/R_2_3_0/expat-2.3.0.tar.bz2 下载成功: 2.解压expat库,并进入解压后的目录: tar xjf expat-2.3.0.tar.bz2 cd expat-2.3.0 <…

NPOI 操作详解(操作Excel)

目录 1. 安装 NPOI 2. 使用 NPOI 创建新 Excel 文件 3. 设置列宽和行高 1. 设置列宽 2. 设置行高 3. 同时设置列宽和行高 4. 设置统一的行高 5. 设置统一的列宽 6. 应用统一的行高和列宽 4. 合并单元格 5. 设置单元格样式&#xff08;字体、边框、背景色等&#xf…

【Javaee】网络原理-http协议(二)

前言 上一篇博客初步介绍了抓包工具的安装及使用&#xff0c;介绍了http请求报文与响应报文的格式。​​​​​​【Javaee】网络原理—http协议&#xff08;一&#xff09;-CSDN博客 本篇将详细介绍http的方法和http报文中请求头内部键值对的含义与作用&#xff0c;以及常见状…

大模型系列——AlphaZero/强化学习/MCTS

AlphaGo Zero无需任何人类历史棋谱&#xff0c;仅使用深度强化学习&#xff0c;从零开始训练三天的成就已远远超过了人类数千年积累的围棋知识。 1、围棋知识 &#xff08;1&#xff09;如何简单理解围棋知识 &#xff08;2&#xff09;数子法分胜负&#xff1a;https://zhu…

得物多模态大模型在重复商品识别上的应用和架构演进

重复商品治理介绍 根据得物的平台特性&#xff0c;同一个商品在平台上不能出现多个链接&#xff0c;原因是平台需要保证一品一链的特点&#xff0c;以保障商品的集中竞价&#xff0c;所以说一个商品在整个得物平台上只能有一个商详链接&#xff0c;因此我们需要对一品多链的情…

1、DevEco Studio 鸿蒙仓颉应用创建

1. 仓颉鸿蒙应用简介 因为仓颉是静态编译型语言&#xff0c;使用仓颉开发的应用执行效率更高。而且主打全场景&#xff0c;后续可并入仓颉生态&#xff0c;其和ArkTS都是基于ArkUI进行开发&#xff0c;最大的区别是typescript和仓颉语法间的差异。 2. 应用创建 前置条件&…

vue3项目中实现el-table分批渲染表格

开篇 因最近工作中遇到了无分页情景下页面因大数据量卡顿的问题&#xff0c;在分别考虑并尝试了懒加载、虚拟滚动、分批渲染等各个方法后&#xff0c;最后决定使用分批渲染来解决该问题。 代码实现 表格代码 <el-table :data"currTableData"borderstyle"wi…

LeetCode:82. 删除排序链表中的重复元素 II(重复的一个都不保留)

目录 题目描述: 代码: 第一种: 第二种: 题目描述: 给定一个已排序的链表的头 head &#xff0c; 删除原始链表中所有重复数字的节点&#xff0c;只留下不同的数字 。返回 已排序的链表 。 示例 1&#xff1a; 输入&#xff1a;head [1,2,3,3,4,4,5] 输出&#xff1a;[1,2…

偏差与方差的基本概念

在机器学习中&#xff0c;Bias-Variance Tradeoff&#xff08;偏差-方差权衡&#xff09; 是一个核心概念&#xff0c;帮助我们理解模型的误差来源以及如何调节模型复杂度以达到更好的泛化性能。在这篇博客中&#xff0c;我们将深入讨论什么是偏差和方差&#xff0c;以及如何平…

0-ARM Linux驱动开发-字符设备

一、字符设备概述 Linux 系统中&#xff0c;设备被分为字符设备、块设备和网络设备等。字符设备以字节流的方式进行数据传输&#xff0c;数据的访问是按顺序的&#xff0c;一个字节一个字节地进行读取和写入操作&#xff0c;没有缓冲区。例如&#xff0c;终端&#xff08;/dev…