当前位置: 首页 > news >正文

从上下文学习和微调看语言模型的泛化:一项对照研究

        大型语言模型表现出令人兴奋的能力,但也可以从微调中表现出令人惊讶的狭窄泛化。例如,他们可能无法概括为简单的关系反转,或者无法根据训练信息进行简单的逻辑推理。这些未能从微调中概括出来的失败可能会阻碍这些模型的实际应用。另一方面,语言模型的语境学习表现出不同的归纳偏差,在某些情况下可以更好地概括。在这里,我们将探讨基于上下文和基于微调的学习之间在泛化方面的差异。为此,我们构建了几个新的数据集,以评估和提高模型从微调数据中概括的能力。这些数据集旨在通过将数据集中的知识与预训练中的知识隔离开来,来创建干净的泛化测试。我们将预训练的大型模型暴露给这些数据集中的受控信息子集-无论是在上下文中,还是通过微调-并评估它们在需要各种类型泛化的测试集上的性能。总体而言,我们发现在数据匹配的环境中,情境学习可以比微调更灵活地推广(尽管我们也发现了先前发现的一些限制,例如微调可以推广到嵌入在更大知识结构中的逆转)。基于这些发现,我们提出了一种方法,使改进的泛化从微调:添加上下文推理微调数据。我们表明,这种方法提高了我们的数据集和其他基准的各种分裂的泛化。我们的研究结果对于理解语言模型中不同学习模式的归纳偏差,并实际提高其性能具有重要意义。

简介

        在庞大的互联网文本语料库上预先训练的语言模型(LM)成为高效的上下文学习器;它们可以从一个任务的几个例子中归纳出答案来回答新的例子(Brown等人,2020年;双子座团队Google,2023年)。预训练的LM还可以使用相对较少的示例针对下游任务进行微调--尽管通过微调实现良好的泛化通常需要数百到数千个示例(例如Kirstain等人,2022年;维埃拉等人,2024年)的报告。事实上,对一个特定例子进行微调所得到的概括是非常有限的;例如,对“B的母亲是A”这样的陈述进行微调的学习模型,就不能概括出“谁是A的儿子”这样的答案。(Berglund等人,2024年;参见Allen Zhu和Li,2025)。然而,LM可以很容易地回答关于这些类型的反向响应的问题。在上下文中的引用(例如Lampinen等人,第2024段b)。此外,当从权重和从上下文进行归纳时,transformers显示出不同的归纳偏差(参见Chan等人,2022 b; Russin等人;Shen等,2023年)的报告。情境学习和微调之间的概括模式有何不同?对于我们应该如何适应新任务或新信息的模型,有什么启示?本文就这些问题进行了探讨。

        为此,我们构建了事实知识的受控合成数据集。我们将这些数据集设计为具有复杂和自洽的结构,同时避免与预训练语料库中可能存在的知识重叠。我们创建这些数据集的训练和测试分割,这些数据集涉及不同类型的泛化:反转或将多个逻辑推理链接到三段论中。然后,我们评估大的预训练的语言模型通过微调或通过在上下文中学习(通过将整个训练集(或其大子集)置于上下文中)来推广到这些测试集。我们还探索了各种改进泛化的方法,例如数据增强。总的来说,我们发现在各种数据集中,上下文学习(ICL)比微调更好地推广。然而,通过使用上下文推理花费更多的训练时间计算来增强训练数据集,可以改进微调泛化,实际上甚至可以超过ICL泛化。

        我们的贡献如下:

  •  我们研究了预先训练的LM从上下文学习和微调中表现出的不同的泛化模式。
  • 我们发现,在整个训练数据集上的上下文学习通常比微调更好地概括,当对逆转,三段论推理,合成等系统性顽固进行评估时。
  • 我们建议通过数据集增强来弥合这一差距-促使LM在上下文中生成数据集的增强,然后将这些增强的数据添加到训练集中。
  • 我们表明,数据集增强可以弥合差距,从而通过微调来提高泛化能力。
  • 我们还提出了一种微调方法,打破了句子之间的相关性,放大了增强的好处。

数据集

        我们评估了几个数据集的学习和泛化能力,这些数据集是为了隔离泛化的不同方面,或者在更广泛的学习挑战中进行泛化。我们还利用了以前工作中的数据集。

简单的反转和三段论

        首先,我们用两个简单的数组1测试我们的方法,这些数组包含以下独立的示例:逆向推理和三段论推理。

简单的反转:

        每个训练示例都由一个前序(例如“你知道吗”)和一个比较两个实体的语句组成,例如“femp比glon更危险”。提供了一百个这样的比较(其中比较词从28个的集合中采样,例如“更亮”、“更重”)。每个比较在10个不同的训练示例中重复,每次与随机采样的前导码配对。测试集由正确的反转和矛盾关系之间的强制选择组成,例如:“glon比femp危险性小/大。”

简单的三段论:

        有69个训练案例。每一个例子都由一个序言(它规定了所讨论的实体),后面跟着两个形成三段论的陈述组成。例如:“glon、troff和yomp之间的关系是:所有glon都是yomp。所有的troff是glon。”测试示例评估模型是否从该三段论形式做出正确的推断。它们提供了一个指定来自训练示例的两个实体的前序,然后对关于这两个实体之间的关系的所有可能的语句进行评分,这些语句涉及数据集中的量词和关系。根据Lampinen等人(2024 b),我们省略了部分否定形式(有些X不是Y);因此,有6个这样的可能陈述(“all”、“some”和“no”的乘积,以及这些关系中的每一个可能采取的两个方向)。例如,对应于上述三段论的测试示例的序言将是“The relationships between yomp and troff are:“,而正确答案将是“All troff are yomp.”。

反转诅咒报纸

        我们使用Berglund et al.(2024)提出的反转数据集,其中包含对虚构名人的一句话描述。数据集示例可以在描述之前具有名人姓名(例如,“Daphne Barrington”)(例如,“A Journey Through Time的导演”)。”')反之亦然。在微调过程中,训练数据集以一种顺序呈现,例如名称在描述之前,然后以相反的顺序进行测试,其中名称在描述之后。

        根据Berglund等人(2024),我们使用两组独立的名人- 'A'和'B'。在微调期间,我们呈现来自集合“A”的名人,其中名称在描述之前,并且来自集合“B”,其中名称和描述以两种顺序出现,但是在单独的示例中。总的来说,训练集由3600个示例组成。测试集评估模型是否可以从仅给出其描述的集合“A”中推断出名人姓名。为了在测试示例中添加干扰项,我们在选项列表中随机选择三个不正确的名人名字进行评分。

语义结构基准

图1|具有属性和关系层次结构的语义结构。(经Rogers和McClelland(2008)许可转载。

        基准测试是围绕一个关系语义层次结构,允许演绎推理和抽象。这种层次结构是基于现实世界的范畴和关系,并从认知科学中研究丰富语义层次结构学习的先前工作中汲取灵感(参见图1,其中有一个直观的例子,构成了现实世界结构的一部分)。我们同样创建了一个分层的知识结构,涉及110个动物和物体的类别,以及属性(每个类别1-6个,加上继承的)和关系。这个基础结构是从真实的世界中衍生出来的。

        为了使结构对于预训练的模型来说是新颖的,我们用无意义的术语替换所有的名词、形容词和动词。这消除了与预训练数据的潜在重叠,从而确保数据属性遵循某些真实世界的分布特征,但不会受到污染。

        无意义术语的使用可能会带来标记化的挑战;然而,我们通过使用英语音素的合理组合生成4-5个字母的短无意义词来改善这些挑战(通过Gao等人,2023年)的报告。此外,我们将在接下来的章节中说明,在实践中,模型可以很容易地对上下文中这些无意义的实体进行推断,因此使用不熟悉的单词并不是模型性能的主要瓶颈。

训练集

        为了进行训练,我们将有关此语义层次结构的训练集事实组装成简短的、模糊的、类似维基百科的合成文章,具有不同的格式和风格,以及一些QA示例(以确保对数据的微调不会降低问题回答能力)。我们确保测试问题(以下)所需的所有事实都在至少一个训练文档中列出。但是,某些事实将在多个文档中冗余地呈现。我们总共创建了2200个长度为4-20句的训练文档。

测试集

        在语义结构中,我们的测试集容纳了关系的反转(gruds [狗]是abmes [哺乳动物]的一种=> abmes包括gruds; cf.Berglund等人,2024),三段论式演绎推理(例如,gruds [狗]是abmes [哺乳动物]; abmes是rony [温血动物] => gruds是rony),以及更长的演绎。具体来说,我们专注于以下分组(以粗略的难度顺序):

  • 对训练过的事实的重述,但不改变措辞的方向:用于验证材料是否已学习。
  • 训练事实的反转,即两个实体处于相反的顺序,并且相应地调整关系词。
  • 对训练过的事实的三段论。
  • 类别拒不接受:在训练中,关于一个类别只有一个事实:它的父类别是什么。所有可能的推论来自检验过的事实。这与三段论分组的某些方面重叠,除了关于目标类别的信息受到更严格的限制,从而限制了其他有助于概括的线索。

        在创建评估问题时,我们通过选择与数据集中的不同实体具有目标关系的实体或属性,为不正确的答案选择困难的干扰项。例如,如果正确答案是“gruds are rony”,则其中一个干扰项可能是“gruds are zept”,其中数据集中存在其他有效语句,例如“telk are zept”。因此,不可能简单地通过单词的局部上下文来猜测哪个答案是正确的。

方法

评估

        我们使用多项选择似然评分进行评估。我们不提供上下文中的答案选项。

微调

        我们的微调实验主要涉及在我们的数据集上调整Gemini 1.5 Flash(Gemini Team Google,2024)。我们通常使用批量大小为8或16,学习率为3 · 10−4,进行200-1000步的微调(取决于数据集大小和损失)。

情境评价

        为了执行完整的数据集上下文评估,我们将训练数据集中的文档连接起来,并将它们作为上下文提供给(预调)模型。然后,我们提示模型使用该上下文来回答问题。当在最大的数据集上评估模型时,我们将文档随机子采样8倍,因为数据集中存在一些冗余,并且我们发现模型会随着上下文长度的变化而受到干扰。

数据集增强

        我们的数据集增强的关键方法是利用模型的上下文泛化,以提高微调数据集的覆盖率。我们通过几种方法来实现这一点,但所有方法都主要针对花费训练时间计算上下文推理以创建更多微调数据的目标,以便改善上下文外的泛化(即,而训练的时候不需要上下文中的附加信息)。

        具体地说,我们考虑两种类型的增强:一种是试图增加特定信息使用灵活性的局部策略,另一种是试图在不同信息之间建立联系的全局策略。这些策略中的每一个都使用不同的上下文和提示(附录A.第1段)。

局部(句子)扩增:

        我们提示LM增强每个训练数据点(例如句子),以增强模型编码的灵活性。我们的提示包括改写和反转的示例。

全局(文档)增强:

        我们将完整的训练数据集作为上下文连接起来,然后提供一个特定的文档,并提示模型通过链接该文档和上下文中的其余文档来生成推理。这导致相关推论的推理痕迹更长

句子分割

        一些数据集,例如Berglund等人(2024)的虚构名人数据集和我们的语义结构数据集,包含包含逻辑或语义链接的多个句子的文档。我们发现,在文档级别将这些文档拆分为多个微调示例,可以大大提高微调性能-即使在考虑了总数据集大小和梯度步长之后。我们探索了两种分割文档的方法:1)独立分割:其中文档的所有重复句子被独立地分割成两个独立的训练示例,2)累积拆分:其中,将多句文档拆分为𝑛示例,其中第个示例包含到第i个句子的所有句子。我们在附录B.1中分析了句子分裂对模型泛化的影响。在下面的章节中,我们假设独立的句子分割,除非另有说明。

实验

反转诅咒

图2| 反转诅咒文件的结果。

        在图2中,我们首先在Berglund等人(2024)发布的逆转诅咒现象和数据集的背景下探索概括。我们重复的发现,微调的正向方向不会产生泛化的逆转。这项工作的作者简要地指出,在上下文中,模型可以更好地执行这项任务。我们通过在上下文中呈现整个数据集来更系统地研究这一点,并发现该模型在反向上几乎达到了天花板,从而有力地证明了上下文学习优于微调的好处。用上下文推理增强的数据进行微调,也会产生类似的高测试性能。另一方面,简单的微调具有接近零的准确性,因为微调模型总是更喜欢那些在训练期间被视为目标的(不正确的)名人姓名完成,而不管上下文如何。最后,预训练的模型在测试集上的表现接近偶然,表明没有污染。

简单的无意义反转

        然后,我们相应地在反向数据集的简单无意义版本上测试模型(图3,左)。我们发现,在这种情况下,ICL比微调的好处更弱,但仍然值得注意,而增强微调的好处也更强。与上述实验相比,益处的差异可能是由于所讨论的关系的可信度的差异,例如,无意义单词在某种程度上干扰模型在较长上下文中的推理的可能性(参见附录B.第2款)。

图3|在我们的简单反转(左)和三段论(右)数据集上,上下文学习优于微调。此外,增加微调数据集会大大提高模型性能。预训练模型的表现接近偶然,表明数据集不能基于表面特征猜测。

简单三段论

        接下来我们测试简单的推论数据集(图3,右)。同样,预训练的模型表现出偶然性,表明缺乏污染。在数据集上进行微调确实会产生一些非平凡的机会上的概括;也许是因为对于某些类型的三段论,逻辑推理与更简单的语言模式兼容-例如,比如“所有X都包括Y”“所有的Y都包括Z”可能会使模型更有可能从纯关联中预测“所有X包括Z”。然而,以下简单的联想模式对大多数三段论形式都是无效的,例如,如果全称量词在上面的例子中被存在量词替换。也许正因为如此,上下文学习产生了更强的性能;使用上下文学习来增强训练数据集进一步提高了整体性能。

语义结构基准

        然后,我们测试了语义结构基准(图4),它在更丰富的学习环境中集成了多种泛化。在这种情况下,我们评估以下方面的性能:a)重新措辞的训练语句(保留关系的方向),在图中表示为“train”,B)反转,c)三段论推理,以及d)关于保持类别的命题。在这些设置中,我们发现ICL优于微调的总体好处,尽管这种好处的大小取决于分裂。我们发现在泛化方面有一些改进,甚至是从训练中重新措辞的信息,和更戏剧性的对反证法和三段论的改进。然而,类别保持分裂仍然很困难,ICL的改进微乎其微。此外,我们继续发现,用上下文推理增强微调数据可以提高微调的性能,在许多情况下甚至优于ICL。(N.B.,在此设置中,我们不对微调基线使用句子拆分,因为我们发现它会损害性能,并且我们希望与最强的基线进行比较;基线句子拆分的结果以及其他消融的结果可以在Appx中找到。沿着。B.4.)

图4|在结构更丰富的语义数据集上,上下文学习仍然适度优于微调。此外,增强继续显示出微调对泛化的好处-即使是在关于不涉及反转的训练事实的重新措辞的问题中(左上)。然而,一些泛化分裂,如类别级别的坚持,仍然非常具有挑战性。(误差线是在具有不同类型的所讨论的推理的任务子集上计算的标准误差,例如,属性关系的反转与类别包含关系的反转。

        我们在本节中的结果也突出了与先前关于反转诅咒的结果的重要细微差别(Berglund等人,2024年)的报告。当被测试的信息构成了一个更广泛的连贯知识结构(比如我们的语义结构)的一部分时,微调本身确实会表现出某种高于偶然性的对反转的概括。这一概括可能是由于训练集中的其他信息可以支持相反的结论;例如,如果反转是从“鸟类包括鹰”到“鹰是一种鸟类”,但训练集还包括“鹰有翅膀”的陈述,则该信息可以实现推断反转的替代途径(如果不是逻辑上的,则是关联性的)。然而,上下文内学习和增强的微调继续比单独的微调表现得更好。

处理知识

        我们还进行了一些初步实验,探索过程类型(而不是语义)知识的学习和泛化,即将新程序应用于输入的能力。具体来说,我们专注于执行一个简单的伪数学过程,我们称之为“derivatoids”,它以类似于计算导数的方式转换类似数学的表达式。我们创建了一个训练-测试组合泛化分组,其中某些规则组合在训练中可见(再次,无论是在上下文中还是通过微调),但其他组合则用于测试。结果的总体格局与上述情况基本一致。ICL优于微调,特别是在低拍摄区域,并且增强提高微调性能。然而,过程知识需要不同的评估方法,与上述语义知识实验相比,效果相应地似乎由不同的因素驱动;因此,我们在附录B.5中详细介绍了实验和结果。

相关工作

上下文学习:

        各种各样的工作已经探索了上下文学习(Brown等人,2020年; Dong等人,2022年; Lampinen等人,第2024条a款)。一些研究工作已经研究了ICL的学习和概括的模式,或者是经验性的(Chan等人,2022 a; Garg等人,2022),机械地(Olsson等人,2022),或理论上(Elmoznino等人,2024; Xie等人,2023; Zhang等人,2024年)的报告。最近的几项工作已经发现即使缩放到数百或数千个上下文无关的示例也可以提高LM在具有挑战性的数据集上的性能(Agarwal等人,2024年; Anil等人,2024年; Bertsch等人,2024年)的报告。我们的工作同样依赖于模型从上下文中的许多文档中学习的能力,以便生成用于扩充的推断。

断章取义学习:

        其他几篇论文(例如Berglund等人,二零二三年; Meinke和Evans,2023)已经考虑了模型如何泛化“上下文外”-也就是说,它们如何在测试时以灵活的方式使用未直接包含在提示中的信息。我们的结果可能与这些有关,例如,即使在语义结构数据集上进行微调,也可以看到部分泛化的模式。然而,我们通常不会发现上下文外信息的可靠使用,即,情境学习往往优于微调。

事实学习和概括:

        各种各样的工作已经研究了语言模型是如何学习和概括事实信息的,无论是在预训练中(例如Allen-Zhu和Li,2024,2025; Zucchet等人,2025)和在微调期间(例如Berglund等人,2024年; Gekhman等人,2024年)的报告。这些著作中的许多集中于未能像“逆转诅咒”那样概括(Berglund等人,2024),而其他人研究了LLM经过预训练时幻觉的增加(Zucchet等人,2025)或根据新知识进行微调(Gekhman等人,2024年)的报告。然而,这些工作通常没有进行数据匹配实验,比较了在上下文学习和微调的泛化。

数据增强:

        各种各样的工作已经探索了如何使用LLM来增强数据,以改善来自小的或窄的数据集的性能,例如,改善零触发任务性能(Maini等人,2024)或改进跨语言概括(例如怀特豪斯等人,2023年)的报告。Ding等人(2024)综述了一些更广泛的文献。也已经有针对性地尝试用硬编码的增强来修复诸如反转诅咒之类的特定问题(Golovneva等人,2024年)的报告。Akyürek等人(2024年)的一项密切相关的工作提出了“演绎闭包训练”,通过促使语言模型从训练文档中生成演绎推理来提高覆盖率。Padmanabhan等人(2024)同样提出了生成延拓,然后将其提取到模型中的方法。一些同时进行的工作Chen et al.(2024); Ruan et al.(2025)提出,让学习机产生额外的推理方向,并使用这些方向来扩充他们的训练数据,可以提高推理任务的表现。Yang等人(2024)使用语言模型提取训练文档中的实体,并生成关于这些实体之间链接的合成数据推理;与我们的结果一样,他们发现这种在合成数据中“重新排列”知识的方法有助于提高下游性能。我们的实验表明,在受控环境中,在没有数据集污染的可能性的情况下,类似的方法来扩充小的微调数据集可以产生改进的泛化,并将性能与通过更基本的微调和上下文学习所实现的性能相关联。

合成数据:

        同样广泛的文献已经探索了合成数据在改善LM性能方面的其他应用;最近的调查见Liu et al.(2024)。早期的工作考虑手工设计的合成数据使用诸如语言学或数学的领域的领域知识来改进概括(例如Pratapa等人,2018年; Wu等人,2021年)的报告。最近的方法集中于直接从语言模型生成数据,或者用地面实况分数过滤(Zelikman等人,2022)或简单地通过自我一致性(Huang等人,2023; Wang等人,2023年)的报告。虽然最近的一篇著名文章认为对合成数据的训练会导致模型崩溃(Shumailov等人,2024),其它著作已经注意到在合成数据与原始数据混合的设置中性能继续提高(Gerstgrasser等人,2024年)的报告。我们相应地发现,在我们的设置中,将扩充数据与模型合成一致地提高了性能,而不是有害的(即使在来自语义结构数据集中的训练分裂的重新措辞的信息上)。这些结果有助于正在进行的关于合并合成数据如何影响模型性能的讨论。

讨论

        在本文中,我们对语言模型如何从上下文学习和微调中概括各种类型的新信息进行了对照实验。总的来说,我们发现模型平均沿着几个维度从上下文学习中推广得更好。使用上下文学习来增强微调数据集可以利用两者的互补优势来获得更好的性能。

情境学习和微调的不同归纳偏差:

        许多著作研究了情境学习中的归纳偏差。一个共同的主题是强调在上下文中的学习可以近似梯度下降(例如Von Oswald等人,2023),在该行为是最佳的设置中。然而,许多其他研究发现,情境学习的归纳偏差可能会因数据集多样性等因素而异(Raventós等人,2024)或模型比例(Wei等人,2023年)的报告。事实上,Elmoznino等人(2024)认为,在上下文学习的一些工作已经明确指出,不同的归纳偏差的上下文与权重学习(如“基于规则”对比“基于范例”概括)(Awadalla等人,2022年; Chan等人,2022 b; Shen等人,2023)-而另一些人则认为它们比看起来更相似(Mosbach等人,2023年)的报告。我们的工作有助于这一系列的发现,但超出了这些工作中考虑的典型输入-输出任务,考虑了其他类型的知识。

可获取的信息和通过思考学习:

        Lombrozo(2024)强调了“通过思考学习”如何成为认知科学和人工智能最新进展的统一主题-系统可以纯粹通过计算获得新的信息和技能,而无需进一步的输入。Lombrozo强调,虽然从表面上看,这似乎是矛盾的-信息不能被创建-这种进一步的计算可以增加信息的可访问性,从而提高实践中的性能。这一论点与Xu et al.(2020)关于计算如何增加信息可访问性的理论观点相似。我们使用上下文推理来提高微调性能,超越原始数据,遵循这种模式。例如,关于反转和三段论的信息总是隐藏在数据中,但是对上下文推理的微调使这些信息更加明确,从而在测试时更容易访问。

训练时间推断缩放:

        最近,各种工作已经开始探索测试时间推断缩放以提高性能(例如Guo等人,2025年; Jaech等人,2024年)的报告。这些发现补充了探索缩放训练计算(例如,通过更大的模型或更多的数据)如何提高性能的先前研究(例如,Hoffmann等人,2022年;卡普兰等人,2020年)的报告。我们的结果表明,通过上下文推理方法缩放训练时间计算有助于改善模型泛化的某些方面。

不足之处

        我们的工作受到几个限制。首先,我们的主要实验依赖于无意义的词语和难以置信的操作。虽然这些反事实任务使我们能够避免数据集污染的可能性,但它们可能会在一定程度上干扰模型的性能。例如,初步实验(Appx.B.2)建议如果名称被替换为无意义,则反转诅咒数据集上模型的ICL性能会降低。因此,具有更合理实体的任务可能会从ICL中获得更大的好处。有可能微调使无意义的术语更熟悉,这导致了增强微调和ICL之间的差距。然而,在这种情况下,我们可能会低估ICL和基础微调之间的差距(因为后者将有效地受益于无意义实体的增加的“熟悉度”)。第二,我们没有使用其他语言模型进行实验,这将增强我们的结果的普遍性。然而,由于我们所建立的个别现象-例如微调时的反向诅咒(Berglund等人,2024)与在上下文中进行反转的能力(例如Lampinen等人,2024 b)-已在多个模型中记录,我们认为将我们的结果外推到其他环境是合理的。然而,未来的工作应该更仔细地研究模型在这些环境中如何学习和推广的差异,包括更新的推理模型(如Guo等人,2025年)的报告。

结论:

        我们已经探讨了在上下文学习和微调时,LM暴露于各种类型的新的信息结构的泛化。我们发现显着的差异-通常与ICL更好地概括某些类型的推理-并提出了通过添加上下文推理来微调数据来实现更好性能的方法。我们希望这项工作将有助于理解基础模型中的学习和泛化的科学,以及使它们适应下游任务的实用性。

http://www.xdnf.cn/news/868861.html

相关文章:

  • 网络攻防技术十四:入侵检测与网络欺骗
  • `<CLS>` 向量是 `logits` 计算的“原材料”,`logits` 是基于 `<CLS>` 向量的下游预测结果
  • pikachu靶场通关笔记13 XSS关卡09-XSS之href输出
  • Spring 中注入 Bean 有几种方式?
  • 身体节奏失调现象探秘
  • Windows GDI 对象泄漏排查实战
  • Bootstrap 5学习教程,从入门到精通,Bootstrap 5 容器(Container)语法知识点及案例代码详解(4)
  • RAG-Gym:一个用于优化带过程监督的代理型RAG的统一框架
  • macOS 连接 Docker 运行 postgres
  • HarmonyOS 实战:给笔记应用加防截图水印
  • 【Kdump专题】kexec加载捕获内核和 makedumpfile保存Vmcore
  • GPUCUDA 发展编年史:从 3D 渲染到 AI 大模型时代(上)
  • LeetCode刷题---贪心算法---944
  • 《PyTorch:开启深度学习新世界的魔法之门》
  • 什么是分布式锁?几种分布式锁分别是怎么实现的?
  • Vue3+Vite中lodash-es安装与使用指南
  • 定制化5G专网服务,助力企业数字化转型
  • 华为OD最新机试真题-流水线-OD统一考试(B卷)
  • 在Mathematica中实现Newton-Raphson迭代的收敛时间算法
  • 【LLM大模型技术专题】「入门到精通系列教程」LangChain4j与Spring Boot集成开发实战指南
  • 学习笔记085——Spring Data JPA笔记
  • DeepSeek-R1-0528:学术写作的新纪元
  • CppCon 2015 学习:A C++14 Approach to Dates and Times
  • Vue 3 弹出式计算器组件(源码 + 教程)
  • SOC-ESP32S3部分:30-I2S音频-麦克风扬声器驱动
  • Go语言学习-->go的跨平台编译
  • 基于C++实现(WinForm) LAN 的即时通信软件
  • 【笔记】PyCharm 使用问题反馈与官方进展速览
  • 开源模型应用落地-OpenAI Agents SDK-集成Qwen3-8B-function_tool(二)
  • IDEA中微服务指定端口启动