论文翻译 | (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显著提高了模型性能。我们假设,抽象有助于模型减少幻觉,更好地推理,可能反映了模型的真实本质,而模型的真实本质往往是在回答原始问题时隐藏的。我们希望我们的工作能够激发更多人类启发的方法,以激发大型语言模型的隐藏潜力。

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

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

相关文章

Redis数据结构解析-RedisObject

文章目录 ☃️概述☃️源码 ☃️概述 RedisObject 是 Redis 中表示数据对象的结构体,它是 Redis 数据库中的基本数据类型的抽象。在 Redis 中,所有的数据都被存储为 RedisObject 类型的对象。 RedisObject 结构体定义如下(简化版本&#xf…

kafka中

Kafka RocketMQ概述 RabbitMQ概述 ActiveMQ概述 ZeroMQ概述 MQ对比选型 适用场景-从公司基础建设力量角度出发 适用场景-从业务场景出发 Kafka配置介绍 运行Kafka 安装ELAK 配置EFAK EFAK界面 KAFKA常用术语 Kafka常用指令 Kafka中消息读取 单播消息 group.id 相同 多播消息 g…

MyBatis-Plus-实用的功能自动填充字段

前言: java项目用到了mybatis-plus,在一些类里面需要在更新时候,统一设置,修改人,修改ID,修改时间。新增时候设置 创建人,创建时间等 基础类: Data public abstract class BaseModel implements…

java 公共字段填充

公共字段填充 1、mybatis-plus2、mybatis 使用注解加aop2.1 自定义注解2.2 自定义切面类2.3 在mapper上添加上自定义的注解 1、mybatis-plus 通过在类上使用如下的注解 TableField(fill FieldFill.INSERT) 是 MyBatis-Plus 中的注解,用于自动填充字段的值。MyBat…

简单且循序渐进地查找软件中Bug的实用方法

“Bug”这个词常常让许多开发者感到头疼。即使是经验丰富、技术娴熟的开发人员在开发过程中也难以避免遭遇到 Bug。 软件中的故障会让程序员感到挫败。我相信在你的软件开发生涯中,也曾遇到过一些难以排查的问题。软件中的错误可能会导致项目无法按时交付。因此&…

Linux进程、线程——保姆级助理解

目录 1、进程(Process) 1.1 进程基本概念: 1.2 进程分类 1.3 进程的特征 1.4 进程和程序的区别 1.5 进程的状态 1.6 进程的创建——Fork()函数 1.6.1 简介 1.6.2 使用 1.7 进程终止 2、线程(Thread) 1.1 线…

Git管理源代码、git简介,工作区、暂存区和仓库区,git远程仓库github,创建远程仓库、配置SSH,克隆项目

学习目标 能够说出git的作用和管理源代码的特点能够如何创建git仓库并添加忽略文件能够使用add、commit、push、pull等命令实现源代码管理能够使用github远程仓库托管源代码能够说出代码冲突原因和解决办法能够说出 git 标签的作用能够使用使用git实现分支创建,合并…

排序 -- 冒泡排序和快速排序

一、 交换排序 1、基本思想 所谓交换,就是根据序列中两个记录键值的比较结果来对换这两个记录在序列中的位置,交换排序的特点是:将键值较大的记录向序列的尾部移动,键值较小的记录向序列的前部移动。 2、常见的交换排序 1、冒泡…

《征服数据结构》SparseArray

摘要: 1,SparseArray的介绍 2,SparseArray的代码实现 1,SparseArray的介绍 前面我们讲过《ArrayMap》,用它来实现哈希表,其中存放key和value的数组长度是存放散列表数组长度的二倍。 在哈希表中如果key值是…

【Python】已解决:(Python xml库 import xml.dom.minidom导包报错)‘No module named dom’

文章目录 一、分析问题背景二、可能出错的原因三、错误代码示例四、正确代码示例五、注意事项 已解决:(Python xml库 import xml.dom.minidom导包报错)‘No module named dom’ 一、分析问题背景 在使用Python处理XML文件时,xml…

中科曙光:新智生产力引擎,是一台精密的AI发动机

每一个时代的新生产力释放,都需要新的发动机来释放新动能。比如蒸汽机之于畜力、燃油机之于蒸汽机,发动机的每一次进化,都为新兴工业体系奠定了更强大的生产力底座。 如今,AI作为新质生产力的关键引擎,带来了史无前例的…

240706_昇思学习打卡-Day18-基于MindSpore的GPT2文本摘要

240706_昇思学习打卡-Day18-基于MindSpore的GPT2文本摘要 今天做一个根据一段文章提取摘要的提取器,基于nlpcc2017摘要数据,内容为新闻正文及其摘要,就是训练集及标签。 首先我们来预装以下MindSpore环境 %%capture captured_output # 实验…

LabVIEW干涉仪测向系统

开发了一套基于LabVIEW的软件系统,结合硬件设备,构建一个干涉仪测向实验教学平台。该平台应用于信号处理课程,帮助学生将理论知识与实际应用相结合,深化对信号处理核心概念的理解和应用。 项目背景: 当前信号处理教学…

昇思25天学习打卡营第十四天|Pix2Pix实现图像转换

训练营进入第十四天,今天学的内容是Pix2Pix图像转换,记录一下学习内容: Pix2Pix概述 Pix2Pix是基于条件生成对抗网络(cGAN, Condition Generative Adversarial Networks )实现的一种深度学习图像转换模型&#xff0c…

为RK3568或RK3288开发板创建交叉编译环境{采用amd64的ubuntu系统配置交叉编译arm64开发环境}(保姆级包括安装QT)超详细记录版

为RK3568或RK3288开发板创建交叉编译环境{采用amd64的ubuntu系统配置交叉编译arm64开发环境}【保姆级包括安装QT】超详细记录版 Chapter1 为RK3568或RK3288开发板创建交叉编译环境{采用amd64的ubuntu系统配置交叉编译arm64开发环境}(保姆级包括安装QT)超详细记录版一. 安装QT程…

picgo+gitee图床配置

node.js安装 刚开始顺着picgo操作,直接跳转到了node.js官网 下载的时候直接 Next,然后可以自定义安装路径,我的安装路径是C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Node.js 然后再在安装路径的根目录下新建两个文件夹,nodecache 和 nodeglobal, 如图所示:…

C++(Qt)-GIS开发-简易瓦片地图下载器

Qt-GIS开发-简易瓦片地图下载器 文章目录 Qt-GIS开发-简易瓦片地图下载器1、概述2、安装openssl3、实现效果4、主要代码4.1 算法函数4.2 瓦片地图下载url拼接4.3 多线程下载 5、源码地址6、参考 更多精彩内容👉个人内容分类汇总 👈👉GIS开发 …

全面解析 TypeScript 泛型的二三事

2024年了相信大家都已经在日常开发的过程中使用上了 TypeScript 了。TypeScript 增强了代码可靠性和可维护性,确保减少运行时错误并提高开发人员的工作效率。 TypeScript 通过类型声明 使得 javascript 拥有了强类型校验。而泛型的是类型声明中最重要的一环&#x…

06浅谈大语言模型可调节参数TopP和TopK

浅谈大模型参数TopP和TopK 大语言模型中的temperature、top_p和top_k参数是用来控制模型生成文本时的随机性和创造性的。下面分享一下topP和topK两个参数的意义及逻辑; top K(Top-K Sampling) 作用:只从模型认为最可能的k个词中选…

时间、查找、打包、行过滤与指令的运行——linux指令学习(二)

前言:本节内容标题虽然为指令,但是并不只是讲指令, 更多的是和指令相关的一些原理性的东西。 如果友友只想要查一查某个指令的用法, 很抱歉, 本节不是那种带有字典性质的文章。但是如果友友是想要来学习的,…