论文翻译 | (TAKE A STEP BACK) 后退一步:在大型语言模型中通过抽象来调用推理

摘要

        我们介绍了STEP-BACK提示,这是一种简单的提示技术,使LLM能够进行抽象,从而从包含特定细节的实例中派生高级概念和第一原则。使用概念和原则来指导推理,LLM显着提高了他们遵循正确推理路径的能力。我们使用PaLM-2L、GPT-4和Llama2-70B模型进行了STEP-BACK提示的实验,并在各种具有挑战性的推理密集型任务(包括STEM、Knowledge QA和Multi-Hop Reasoning)上观察到显著的性能提升。例如,STEP-BACK prompt将PaLM-2L在MMLU(物理和化学)上的性能分别提高了7%和11%,TimeQA提高了27%,MuSiQue提高了7%。

1 引言

        自然语言处理(NLP)领域正在经历一场突破性的革命,因为基于transformer (Vaswani等人,2017)的大型语言模型(LLM) (Devlin等人,2018;拉斐尔等人,2020;Brown et al, 2020;Anil et al, 2023)。扩大模型大小和预训练语料库(Hoffmann et al, 2022;Chowdhery等人,2022)通过对标度定律的见解,显著提高了模型能力和样本效率(Kaplan等人,2020;Hoffmann等人,2022),以及多步推理(Wei等人,2022a)等应急能力(Wei等人,2022b;Zhou et al ., 2022)和指令遵循(Mishra et al ., 2022b;Wei et al, 2021)。

        尽管取得了巨大的进步,复杂的多步骤推理仍然是一个挑战,即使是最先进的大语言模型。Lightman等人(2023)表明,逐步验证的过程监督是提高中间推理步骤正确性的一种有希望的补救措施。引入了思维链(Chain-of-Thought, Wei et al, 2022b)等技术来产生一系列连贯的中间推理步骤,以提高遵循正确解码路径的成功率。当面对具有挑战性的任务时,人们经常后退一步,进行抽象,以达到指导过程的高级原则,这一事实启发了我们,我们提出了step - back提示,以抽象为基础进行推理,以减少在中间推理步骤中犯错误的机会。

        在许多认知技能中,抽象(Lachmy et al, 2022)对于人类处理大量信息和得出一般原则的能力是无处不在的。例如,开普勒将数千个测量结果压缩成开普勒的行星运动三定律,该定律精确地描述了行星围绕太阳的轨道(罗素,1964)。在关键的决策中,人类发现抽象是有帮助的,因为它提供了一个更广泛的环境视图。这项工作探讨了LLM如何通过抽象和推理两步过程来处理涉及许多低级细节的复杂任务。第一步是向LLM展示如何通过上下文学习退后一步,促使他们为特定示例导出高级抽象,如概念和原则。第二步是利用推理能力在高级概念和原则之上进行推理。我们使用几个示例演示来执行LLM上的STEP-BACK提示。

        我们进行了一系列实验,涉及特定领域的推理任务,如物理和化学,需要事实性知识的知识密集型问答,以及多跳常识推理。我们观察到在PaLM-2L(Anil等人,2023年)上性能显著提升(高达27%),这证明了STEP-BACK PROMPTING在处理复杂任务方面的有效性,这些任务由于推理所需的细节量而具有挑战性。图1展示了本文呈现的所有关键结果的总结。其中一些任务非常具有挑战性:PaLM-2L和GPT-4在TimeQA和MuSiQue上的准确率仅达到约40%。Chain-of-Thought提示在少数任务上略有改进,而STEP-BACK PROMPTING则全面提升了PaLM-2L的性能:在MMLU物理和化学上分别提高了7%和11%,在TimeQA上提高了27%,在MuSiQue上提高了7%。

图1:退步提示的强大性能:我们提出的抽象和推理方案在STEM、知识QA和需要复杂(通常是多跳)推理的多跳推理中具有广泛挑战性的任务有了实质性的改进

        我们进行了各种分析,发现退后步提示比思维链(CoT)提示(Wei et al ., 2022b)和“深呼吸”(TDB)提示(Yang et al ., 2023)能带来更大的绩效提升(高达36%)。我们进行了定性评估,发现Step-Back修复了大部分基本模型的错误(最多~ 40%),同时引入了一小部分新错误(最大~ 12%)。我们还进行了错误分析,发现STEP-BACK prompt产生的大多数错误归因于LLM推理能力的内在局限性,而抽象技能相对容易向LLM演示,这为类似STEP-BACK prompt的方法的未来改进指明了方向。

2 STEP-BACK PROMPTING

        STEP-BACK prompt的动机是观察到许多任务包含大量细节,LLM很难检索相关事实来处理任务。如图2中的第一个例子(顶部)所示,对于“如果温度增加2倍,体积增加8倍,理想气体的压力P会发生什么变化?”的物理问题,LLM在直接对问题进行推理时可能会偏离理想气体定律的第一原理。类似地,“Estella Leopold在1954年8月至1954年11月期间就读于哪所学校?”的问题很难直接解决,因为具体的时间范围有限。在这两种情况下,提出退步问题有助于模型有效地解决问题。
        我们将退步问题定义为在更高抽象层次上从原始问题派生出来的问题。例如,不是直接问“Estella Leopold在特定时期上过哪所学校”,而是问“教育史”(图2底部),这是一个高层次的概念,包含了原来的问题。在本案例中回答“Estella Leopold的教育史”的退步问题,将为推理“Estella Leopold在特定时期就读于哪所学校”提供所有必要的信息。前提是,退后一步的问题通常要容易得多。将推理建立在这样的抽象之上,有助于避免中间步骤中的推理错误,例如图2(左)中来自Chain-of-Thought的示例。简而言之,退步提示包括两个简单的步骤:

  • 抽象:我们不是直接解决问题,而是首先提示LLM询问有关更高级别概念或原则的一般退步问题,并检索有关高级概念或原则的相关事实。为了检索最相关的事实,每个任务的退步问题都是唯一的。
  • 推理:基于有关高级概念或原则的事实,LLM可以对原始问题的解决方案进行推理。我们称之为基于抽象的推理。

图2:由概念和原则指导的抽象和推理两个步骤的STEP-BACK提示说明。上图:MMLU高中物理的一个例子(Hendrycks等人,2020),其中通过抽象检索理想气体定律的第一原理。下图:来自TimeQA的一个例子(Chen et al, 2021),其中教育史的高级概念是抽象的结果。左:PaLM-2L (Anil et al, 2023)未能回答原始问题。思维链提示(Wei et al ., 2022b;Kojima等人,2022)在中间推理步骤(以红色突出显示)中遇到错误。右图:PaLM-2L (Anil et al, 2023)通过STEP-BACK提示成功回答了问题。

        在接下来的章节中,我们将对一系列具有挑战性的任务进行退步提示的实证研究,这些任务包括STEM、知识QA和涉及复杂推理的多跳推理。

3 实验设置

        在这里,我们定义了要进行实验的任务和模型。我们还描述了我们的评估指标和我们考虑的基线。

3.1 任务

        我们实验了以下不同的任务:(a) STEM, (b)知识QA, (c)多跳推理。我们在下面描述了我们考虑的数据集(详见附录B)。

  • STEM:我们评估MMLU和GSM8K用于STEM任务。MMLU (Hendrycks等人,2020)包含一系列跨不同领域的基准,以评估模型的语言理解能力。我们考虑了MMLU的高中物理和化学部分,因为其中涉及到深刻的推理。
  • 知识QA:我们考虑TimeQA (Chen等人,2021),因为它包含复杂的查询,需要具有挑战性的时间敏感知识。我们还对情境QA进行了实验(Zhang & Choi, 2021),这是另一个具有挑战性的开放检索QA数据集,要求模型回答给定时间或地理背景的问题。
  • 多跳推理:我们对MuSiQue (Trivedi等人,2022)和StrategyQA (Geva等人,2021)进行了实验,MuSiQue (Trivedi等人,2022)是一个通过可组合的单跳问题对创建的硬多跳推理数据集,而StrategyQA (Geva等人,2021)具有需要一些策略来解决的开放域问题。

3.2 模型

        我们使用以下最先进的LLM:指令调优的PaLM-2L (Anil等人,2023),GPT4 (OpenAI, 2023)和Llama2-70B (Touvron等人,2023)。

3.3 评估

        传统的评估指标,如准确性、F1分数,对于评估几代最先进的LLM有一定的局限性,因为这些模型通常会生成难以捕捉的长格式答案。相反,我们使用PaLM-2L模型进行评估,其中我们很少提示模型识别目标答案和模型预测之间的等效性。在附录C中有一些例子、提示和其他用于评估的细节。

3.4 基线模型

  • PaLM-2L, PaLM-2L 1-shot: PaLM-2L要么直接与问题一起查询,要么在提示符中包含一个问答演示范例。
  • PaLM-2L + CoT, PaLM-2L + CoT 1-shot:查询PaLM-2L模型时使用零shot CoT提示(Kojima et al ., 2022):问题后附加“Let 's think step by step”。 对于1-shot,提示中提供了一个问答对的演示示例,其中答案采用CoT格式(Wei et al, 2022b)。
  • PaLM-2L + TDB:零射击提示“深呼吸,一步一步地解决这个问题。”(Yang et al ., 2023)为这个问题做了铺垫。
  • PaLM-2L + RAG:对于第5节和第6节,我们使用检索增强生成(RAG),其中检索的段落被LLM用作上下文。
  • GPT-4和Llama2-70B:我们在所有方法的MMLU任务上运行GPT-4和Llama2-70B。此外,我们还在所有任务的所有基线上运行GPT-4。

        我们不将RAG用于STEM任务,因为与其他事实寻求数据集相反,这些任务具有固有的推理性质。所有的推理都是使用贪婪解码完成的。

4 STEM

        我们评估了STEM任务上的退步提示(Hendrycks等人,2020),以衡量我们的方法在高度专业化领域的推理效果。我们将在下面解释在MMLU高中物理和化学以及GSM8K基准测试中应用STEP-BACK提示的实验设置、结果和分析。

4.1 STEP-BACK PROMPTING

        MMLU基准测试中的问题需要更深入的推理。此外,它们还需要理解和应用公式,这些公式通常是物理和化学原理和概念。在这种情况下,我们首先以概念和第一原理的形式向模型展示抽象技巧,如牛顿第一运动定律,多普勒效应,吉布斯自由能等。

4.2 RESULTS

        表1说明了三个模型家族(PaLM-2L、GPT-4和Llama2-70B)的不同设置下的模型性能。报告了5次评估运行的平均精度以及标准偏差(在括号中)。
        PaLM-2L在物理和化学方面的基准性能分别为66.4%和70.9%。
        我们发现,CoT和TDB零样本提示并没有显著提高模型性能,这可能是由于与这些任务相关的固有难度和深度推理。PaLM-2L 1-shot和PaLM-2L + CoT 1-shot也没有比基线提高多少,这突出了向模型演示推理步骤的挑战。相比之下,STEP-BACK提示显著提高了模型性能:与PaLM-2L相比,分别提高了7%和11%。同样,对于GPT4和Llama2-70B模型,STEP-BACK提示在我们测试的所有基线方法中非常具有竞争力,这表明STEP-BACK提示与模型无关。我们在附录A.1中给出了GSM8K的结果。

表1:跨三个模型族的MMLU任务上的STEP-BACK提示的强大性能。CoT:零点思维链提示(Kojima等人,2022),TDB:深呼吸提示(Yang等人,2023)。

这里隐含的问题是“解决这个任务所涉及的物理或化学原理和概念是什么?”我们为模型提供演示,以背诵其自身知识解决任务的相关原则(见附录D.1中的几个示例)。

4.3 消融与分析

少量样本消融研究:首先,在图3中,我们观察到STEP-BACK PROMPTING对于用作演示的(问题,原理)对的少量样本示例的数量是鲁棒的。在单个示例之外增加更多的演示示例并不会带来进一步的改进。这表明通过上下文学习和单个演示就相对容易地检索到相关原理和概念。因此,在整篇论文中,除了消融研究之外,我们使用单个示例进行少量样本提示。

图3:在MMLU高中物理中使用PaLM-2L对少量射击样本进行退步提示精度的消退研究:相对于不同的样本数,性能稳健

        误差分析:将STEP-BACK提示与基线PaLM-2L模型对MMLU高中物理的预测进行比较:我们发现STEP-BACK提示从基线修正了20.5%的错误,同时引入了11.9%的错误。

        为了进一步理解STEP-BACK prompt的错误来源,我们对测试集中所有STEP-BACK prompt的错误预测进行注释,并将其分为5类(每类示例参见附录E.1):

  • 原则错误:错误发生在抽象的步骤中,由模型生成的第一原则是错误的或不完整的。
  • 事实错误:当模型背诵自己的事实知识时,至少有一个事实错误
  • 数学错误:当数学计算涉及推导最终答案时,中间步骤中至少有一个数学错误。
  • 上下文丢失:至少有一个错误,模型回答失去了问题的上下文,偏离了对原始问题的解决。
  • 推理错误:我们将推理错误定义为模型在到达最终答案之前在中间推理步骤中至少犯一个错误。

        所有五种类型的错误都发生在推理步骤中,除了原则错误,它指向抽象步骤的失败。如图4(右)所示,原理误差仅占模型所犯错误的一小部分:90%以上的错误发生在推理步骤。在推理过程中的四种错误类型中,推理错误和数学错误是主要的错误类别。

图4:MMLU高中物理中STEP-BACK提示的错误分析:STEP-BACK提示的五类错误,以Reasoning为主导类。

        这与上面消融研究中的发现相印证,即向LLM展示抽象技能只需要很少的例子。推理步骤仍然是step - back提示执行需要复杂推理的MMLU等任务的瓶颈。特别是对于MMLU物理,推理和数学技能对于成功解决问题至关重要:即使正确检索了第一原理,也涉及深度推理和数学,通过典型的多步骤推理过程推导出正确的最终答案。

5 KNOWLEDGE QA

        我们在需要大量事实知识的问答基准上评估退步提示。知识质量保证对LLM来说是一个挑战。在本节中,我们首先描述了实验设置,然后是STEP-BACK提示的结果和分析。

5.1 STEP-BACK PROMPTING

        我们评估了知识QA类别中TimeQA (Chen et al ., 2021)和情境QA (Zhang & Choi, 2021)上的STEP-BACK提示。我们首先通过上下文演示向法学硕士展示如何进行抽象。图2中的退步问题“Estella Leopold的教育史是什么”是LLM通过几个镜头演示生成的(详见附录D.2)。

        考虑到这些查询的知识密集型性质,我们将检索增强(RAG)与STEP-BACK提示结合使用。退步问题用于检索相关事实,这些事实作为附加上下文(参见表14中的提示),为最后的推理步骤奠定基础。

5.2 结果

        我们在TimeQA的测试集上对模型进行评估。如表2所示,GPT-4和PaLM-2L的基线模型分别达到45.6%和41.5%,凸显了任务的难度。对基线模型应用CoT或TDB零次(和一次)提示没有任何改善。

        相比之下,通过常规检索增强(RAG)增强基线模型将准确率提高到57.4%,突出了任务的事实密集型性质。Step-Back + RAG的结果显示了返回到高级概念的有效性,它支持更可靠的检索增强:TimeQA上的准确性达到了68.7%。

        接下来,我们将TimeQA划分为原始数据集中提供的简单和困难难度级别。正如预期的那样,所有方法在Hard子集上的表现都更差。虽然RAG可以将Easy精度从42.6%提高到67.8%,但对Hard精度的提高要小得多,从40.4%提高到46.8%。这就是STEP-BACK提示通过检索有关高级概念的事实来为最终推理奠定基础的地方:STEP-BACK + RAG进一步将Hard准确率提高到62.3%,优于GPT-4的42.6%。我们假设有关高级概念(如教育历史)的事实比低级细节更容易理解。

        在sitatedqa基准测试中,我们观察到从54.3%到最佳的Step-Back + RAG方法(61%)的中等质量增益,与GPT-4的63.2%有很小的差距。与TimeQA类似,诸如CoT和TDB之类的提示技术对情境qa没有多大帮助。

表2:退步提示在知识QA任务上的强大表现。CoT:思维链提示,TDB:深呼吸提示,RAG:检索增强生成。退步提示可以显著提高性能。

5.3 消融与分析

        少样本消融: 我们在图5(左)中观察到,TimeQA上的STEP-BACK提示的性能对演示中使用的示例数量是稳健的,再次强调了PaLM-2L等模型的上下文学习抽象技能的示例效率。

图5:TimeQA上STEP-BACK提示的消融和误差分析。左:消融相对于少量样本的数量。右图:以推理和RAG为主要错误来源的四类错误。

        错误分析: 图5(右)显示了TimeQA上的STEPBACK提示所产生的所有剩余错误的细分。与第4.3节类似,我们将错误分为:

  • 退步:产生的退步问题对解决任务没有帮助。
  • RAG:尽管退步问题是针对目标的,但RAG无法检索相关信息。
  • 打分错误:裁判模型的评价出现了错误。
  • 推理错误:检索到的上下文是相关的,但是模型仍然无法通过上下文进行推理以得到正确的答案。

        我们发现StepBack很少失败。相比之下,我们发现超过一半的错误是由于推理错误。此外,45%的错误是由于检索正确信息的失败造成的,尽管后退提供的抽象使检索变得容易得多。这反映了TimeQA任务的难度级别。TimeQA的附加误差分析见附录A。

6 MULTI-HOP REASONING

        我们在具有挑战性的多跳推理基准MuSiQue (Trivedi等人,2022)和StrategyQA (Geva等人,2021)上评估了STEP-BACK提示。我们遵循与第5节相同的协议来实现STEP-BACK提示。

        表3显示了MuSiQue和StrategyQA开发集上各种基线的性能。

表3:多跳推理的退步提示结果。CoT:思维链提示,TDB:深呼吸提示,RAG:检索增强生成。平均精度超过5次评估运行,标准偏差包含在括号中。

        在MuSiQue中,PaLM-2L和GPT-4的基准性能较低(PaLM-2L和GPT-4分别为35.5%和38.5%),因为它是一个硬多跳推理基准。相比之下,StrategyQA具有更强的基线(PaLM-2L和GPT-4分别为82.8%和78.3%),可能是因为它是一个二元分类任务。在MuSiQue的情况下,CoT和TDB略微提高了模型性能(分别为~ 3%和3.5%),这可以归因于该任务的固有推理性质,其中这些方法被证明是有帮助的。在StrategyQA的案例中,CoT和TDB没有显著的性能提升,这可能是由于该任务的高基线性能,这些提示方法提高性能的范围有限。通常,one-shot的表现明显低于他们的零次射击方法,这可能归因于潜在的示例偏差(Zhao et al ., 2021;Parmar et al, 2023)。RAG提高了模型性能(MuSiQue和StrategyQA分别提高了4%和2%)。具有抽象能力的退步提示在所有方法中产生了最好的性能:MuSiQue的42.8%和StrategyQA的86.4%,在这两个任务上都明显优于GPT-4。我们在附录a .3中提供了对StrategyQA的详细错误分析。

7 讨论

        抽象帮助人类通过去除无关细节并提炼高水平概念和原理来指导问题解决过程,从而解决复杂任务。STEP-BACK PROMPTING将复杂的任务,如知识密集型问答、多跳推理和科学问题,分解为抽象和推理两个独立步骤。我们通过实证实验证明了抽象对于像PaLM-2L这样的语言模型来说是一项易于通过样本高效的上下文学习获得的技能。基于高水平概念和原理,语言模型可以利用其固有的推理能力来推导解决方案。这减少了在中间步骤推理失败的机会,并被证明可以提高广泛复杂推理任务的性能。尽管取得了成功,但通过错误分析,我们发现推理仍然是语言模型难以获得的技能之一:即使在STEP-BACK PROMPTING大幅减少了任务复杂度之后,它仍然是主要的失败模式。
        然而,抽象并非在所有场景中都是必要或可能的。例如,任务可能简单到如“2000年的美国总统是谁?”这样的问题,在这种情况下,没有必要退后一步并提出一个高水平的问题,因为这类问题的答案已经很容易获得。像“光速是多少?”这样的问题直接指向了第一原理本身。在这种情况下进行抽象并不会有所区别。

8 相关工作

8.1 提示

        few-shot提示(Brown et al ., 2020;Liu et al ., 2023;Mishra等人,2022a;Wei等人,2022b)在不需要更新任何模型参数的情况下,显著提高了模型在一系列任务中的性能。由于其简单性和普遍性,我们的工作退步提示与思维链提示(Wei等人,2022b)和 scratchpad(Nye等人,2021)属于同一类别。但是我们的方法集中在抽象的关键思想上,它的灵感来自于这样一个事实,即退后一步往往有助于人类执行复杂的任务。我们的工作也与背诵增强语言模型有关(Sun et al, 2022);然而,与他们的工作相反,我们显式地执行退步和抽象,并根据手头任务的性质选择使用检索增强。

8.2 分解

        将任务分解为更简单的任务,并解决这些任务来完成原任务已经是一种有效的方法(Zhou et al ., 2022;Patel et al, 2022;Khot等,2022;Press et al, 2022),以提高模型在复杂任务上的性能。在这方面,有几种提示方法取得了成功。相反,我们的STEP-BACK提示工作是使问题更加抽象和高级,这与分解不同,分解通常是原始问题的低级分解。例如,一个常见的问题是,1990年史蒂夫·乔布斯(Steve Jobs)为哪家雇主工作?可能是史蒂夫·乔布斯的工作经历虽然分解会导致一些子问题,比如史蒂夫·乔布斯在1990年在做什么?史蒂夫·乔布斯在1990年被雇佣了吗?如果史蒂夫·乔布斯被雇佣了,他的雇主是谁?此外,抽象的问题,如史蒂夫·乔布斯的工作经历是什么?通常在本质上具有多对一映射,因为许多问题(例如,史蒂夫·乔布斯在1990年为哪家雇主工作?史蒂夫·乔布斯在2000年为哪家雇主工作?)也可以有同样的抽象问题。这与分解相反,分解通常是一对多映射,因为解决给定问题需要多个分解的子问题。

9 结论

        我们介绍了退步提示作为一种简单而通用的方法,通过抽象在大型语言模型中引出深度推理。在LLM上进行的跨事实寻找、常识推理和特定领域推理基准的实验表明,STEP-BACK prompt显著提高了模型性能。我们假设,抽象有助于模型减少幻觉,更好地推理,可能反映了模型的真实本质,而模型的真实本质往往是在回答原始问题时隐藏的。我们希望我们的工作能够激发更多人类启发的方法,以激发大型语言模型的隐藏潜力。

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

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

相关文章

3102.力扣每日一题7/9 Java(TreeMap)

博客主页:音符犹如代码系列专栏:算法练习关注博主,后期持续更新系列文章如果有错误感谢请大家批评指出,及时修改感谢大家点赞👍收藏⭐评论✍ 目录 TreeMap详解 解题思路 解题方法 时间复杂度 空间复杂度 Code T…

imx6ull/linux应用编程学习(16)emqx ,mqtt创建连接mqtt.fx

在很多项目中都需要自己的私人服务器,以保证数据的隐私性,这里我用的是emqx。 1.进入emqx官网 EMQX:用于物联网、车联网和工业物联网的企业级 MQTT 平台 点击试用cloud 申请成功后可得:(右边的忽略) 进入…

【读点论文】ASAM: Boosting Segment Anything Model with Adversarial Tuning,对抗学习提升性能

ASAM: Boosting Segment Anything Model with Adversarial Tuning Abstract 在不断发展的计算机视觉领域,基础模型已成为关键工具,对各种任务表现出卓越的适应性。其中,Meta AI 的 Segment Anything Model (SAM) 在图像分割方面表现突出。然…

国内从事人机交互的团队——浙江工业大学

一、背景 当我们选择一个新的课题后,需要清楚的了解从事该方向的团队都有哪些,这样可以及时跟踪和学习大牛团队的最新进展,以免自己认为的good idea,其实早就已经研究过了。 随着人形机器人的发展,机器人不仅需要在无…

vscode使用Git的常用操作

主打一个实用 查看此篇之前请先保证电脑安装了Git,安装教程很多,可自行搜索 一.初始化本地仓库🟢 使用vscode打开项目文件夹如图所使初始化仓库,相当于命令行的git init 二.提交到暂存区🟢 三.提交到新版本&#x1f…

python04——类(基础new)

类其实也是一种封装的思想,类就是把变量、方法等封装在一起,然后可以通过不同的实例化对其进行调用操作。 1.类的定义 class 类名: 变量a def __init__ (self,参数2,参数2...):初始化函数!!&…

Chromium编译指南2024 Linux篇-编译Chromium(五)

1.引言 在完成环境配置之后,我们需要开始实际的编译工作。编译 Chromium 是一个相对复杂且耗时的过程,尤其是第一次编译时。为了保证顺利完成,我们将使用 GN 和 Ninja 工具来生成和管理构建文件。接下来,我们会详细介绍如何生成构…

最新 Kubernetes 集群部署 + flannel 网络插件(保姆级教程,最新 K8S 版本)

资源列表 操作系统配置主机名IP所需插件CentOS 7.92C4Gk8s-master192.168.60.143flannel-cni-plugin、flannel、coredns、etcd、kube-apiserver、kube-controller-manager、kube-proxy、 kube-scheduler 、containerd、pause 、crictlCentOS 7.92C4Gk8s-node01192.168.60.144f…

【HarmonyOS】关于官方推荐的组件级路由Navigation的心得体会

前言 最近因为之前的630版本有点忙,导致断更了几天,现在再补上。换换脑子。 目前内测系统的华为应用市场,各种顶级APP陆续都放出来beta版本了,大体上都完成了主流程的开发。欣欣向荣的气息。 学习思路 关于学习HarmonyOS的问题…

浅谈化工厂环保管理的痛点、智慧环保的必要性及EHS系统的实现路径

在全球环保意识日益增强的背景下,化工厂作为工业领域的重要组成部分,其环保管理显得尤为重要。然而,化工厂在追求经济效益的同时,也面临着诸多环保管理的痛点。本文将围绕化工厂环保管理的痛点、化工厂为何需要智慧环保以及如何借…

Unity【入门】场景切换和游戏退出及准备

1、必备知识点场景切换和游戏退出 文章目录 1、必备知识点场景切换和游戏退出1、场景切换2、鼠标隐藏锁定相关3、随机数和自带委托4、模型资源的导入1、模型由什么构成2、Unity支持的模型格式3、如何指导美术同学导出模型4、学习阶段在哪里获取模型资源 2、小项目准备工作需求分…

小程序内容管理系统设计

设计一个小程序内容管理系统(CMS)时,需要考虑以下几个关键方面来确保其功能完善、用户友好且高效: 1. 需求分析 目标用户:明确你的目标用户群体,比如企业、媒体、个人博主等,这将决定系统的功…

Linux基础知识(十六)shell脚本编程

一、简介 用户通过shell向计算机发送指令计算机通过shell给用户返回指令的执行结果 1.1 通过shell编程可以达到的效果 提高工作效率可以实现自动化 1.2 需要学习的内容 Linuxshell的语法规范 1.3 编写shell的流程 第一步:用vi/vim创建一个.sh的文件第二步&am…

C++ 重载运算符 addition (+), subtraction (-) and multiplication (*)

C 重载运算符 addition , subtraction - and multiplication * 1. Operator Overloading (运算符重载)2. Developing an Operator Overloading Example2.1. Adding an Addition Operator (添加加法运算符)2.2. Overloading Restrictions (重载限制)2.3. 重载运算符 - 和 * Refe…

特征融合篇 | YOLOv10改进之在Neck网络中添加加权双向特征金字塔BiFPN

前言:Hello大家好,我是小哥谈。在计算机视觉任务中,特征金字塔网络(FPN)是一种常用的方法,它通过构建不同尺度的特征图来捕获不同尺度的目标。然而,传统的FPN存在一些缺点,如特征融合…

05STM32EXIT外部中断中断系统

STM32EXIT外部中断&中断系统 中断系统中断触发条件:中断处理流程和用途: STM32中断NVIC嵌套中断向量控制器基本结构 中断系统 中断触发条件: 对外部中断来说,可以是引脚发生了电平跳变 对定时器来说,可以是定时的…

【最强八股文 -- 计算机网络】【快速版】WWW 构建技术 (3 项)

1.HTML(HyperText Markup Language):作为页面的文本标记语言 2.HTTP(HyperTextTransfer Protocol):文档传递协议 3.URL(Uniform Resource Locator):指定文档所在地址 HTTPS 和 HTTP 的区别: HTTP: 以明文的方式在网络中传输数据,HTTPS 解决了HTTP 不安全的缺陷&…

.NET周刊【7月第1期 2024-07-07】

国内文章 学习.NET 8 MiniApis入门 https://www.cnblogs.com/hejiale010426/p/18280441 MiniApis是ASP.NET Core中的轻量级框架,用最少的代码和配置创建HTTP API。其特点包括简洁明了、性能卓越、灵活多变、易于学习使用,并与ASP.NET Core生态系统完美…

matlab仿真 模拟调制(上)

(内容源自详解MATLAB/SIMULINK 通信系统建模与仿真 刘学勇编著第五章内容,有兴趣的读者请阅读原书) 1.幅度调制 clear all ts0.0025; %信号抽样时间间隔 t0:ts:10-ts;%时间矢量 fs1/ts;%抽样频率 dffs/length(t); %fft的频率分…

ApiFox或postman怎么用params类型传输json或集合+json的String类型

你是否碰见过这样的接口? post请求然后传输的参数都要和查询时一样以param形式传参数,那String什么的都好说,传就直接进后台了,那json呢,集合呢,是不是直接给你返400呢. 1.传json如何处理 那我们看看怎么实现,如果你要传json数据,那需要将特殊字符转义,也叫url转码,否则传不…