LIMO:上海交大的工作 “少即是多” LLM 推理
25年2月来自上海交大、SII 和 GAIR 的论文“LIMO: Less is More for Reasoning”。
一个挑战是在大语言模型(LLM)中的复杂推理。虽然传统观点认为复杂的推理任务需要大量的训练数据(通常超过 100,000 个示例),但本文展示只需很少的示例就可以有效地引发复杂的数学推理能力。这个不仅挑战对海量数据要求的假设,也挑战监督微调(SFT)主要造成记忆而不是泛化的普遍看法。"少即是多"推理假说(LIMO 假说):在预训练期间已全面编码域知识的基础模型中,复杂的推理能力可以通过最少但精确协调的认知过程演示显现出来。该假设认为,复杂推理的引出阈值,本质上不受目标推理任务复杂性的限制,而是由两个关键因素从根本上决定的:(1)预训练期间模型编码知识基础的完整性,以及(2)后训练示例的有效性,它们作为“认知模板”,向模型展示如何有效利用现有知识库来解决复杂的推理任务。
如图所示:LIMO 使用更少的样本实现比 NuminaMath 显著的改进,同时在各种数学和多学科基准测试中表现出色。
长期以来,复杂推理一直被认为是大语言模型 (LLM) 中最难培养的能力之一。尽管最近的研究表明,LLM 可以通过相对较少的指令数据有效地与用户偏好保持一致(Zhou,2024a),但人们普遍认为,教师模型进行推理(尤其是在数学和编程方面)需要更多的训练示例(Paster,2023;Yue,2024)。
这种传统观点源于推理任务固有的复杂性,它需要多步骤的逻辑推理、域知识应用和结构化的解决方案路径。由此产生的范式通常涉及对数万或数十万个示例进行训练(Yu,2024;Li,2024b),基于两个基本假设:首先,掌握如此复杂的认知过程需要大量监督演示;其次,监督微调主要造成记忆而不是真正的泛化(Zhang,2024;Xu,2024;Chu,2025)。
虽然这种方法已取得成功,但它带来了巨大的计算成本和数据收集负担。更重要的是,这种数据密集型范式可能不再是必要的。最近的进展从根本上改变 LLM 获取、组织和利用推理知识的方式,表明有可能采用一种更有效的方法。特别是两个关键发展从根本上为重新构想 LLM 中的推理方法创造了条件:
- 知识基础革命:现代基础模型现在在预训练期间纳入前所未有的大量数学内容(Qwen,2025;Yang,2024;Wang,2024)。例如:Llama 2 在所有域的总训练数据为 1.8T 个 token(Touvron,2023 年),而 Llama 3 仅在数学推理中就使用 3.7T 个 token(Grattafiori,2024 年)。这表明当代 LLM 可能已经在其参数空间中拥有丰富的数学知识,将挑战从知识获取转变为知识引出。
- 推理-时间计算规模化革命:规模化更长推理链技术的出现表明,有效的推理在论断过程中需要大量的计算空间。最近的研究(OpenAI,2024;Qin,2024;Huang,2024)表明,允许模型生成规模化推理链,可显著提高其推理能力。本质上,推理-时间计算提供了至关重要的认知工作空间,模型可以在其中系统地解开和应用其预先训练的知识。
LLM 中数学推理的演变。大规模训练数据一直是 LLM 推理能力发展的驱动力。在预训练阶段,相关语料库可以增强 LLM 的推理能力(Wang,2024;Azerbayev,2024;Paster,2023;Shao,2024)。这些精选语料库可以由多种来源组成,例如教科书、科学论文和数学代码,它们捕捉用于解决问题的各种人类认知模式。在后训练阶段,一系列研究专注于策划大规模指令数据以教授 LLM 推理(Yue,2023、2024;Li,2024a)。这包括规模化问题及其相应解决方案的数量。规模化方法很有前景,并且已经取得显着的性能提升。然而,通过这种方法获得的推理能力,因依赖于固定模式的记忆而不是实现真正的泛化而受到批评(Mirzadeh,2024;Zhang,2024)。例如,Mirzadeh(2024)发现,LLM 在回答同一问题的不同实例时表现出明显的差异,并且当仅改变问题中的数值时,其性能会下降。这引发人们对 SFT 方法泛化能力的怀疑(Chu,2025),以及 LLM 是否可以成为真正的推理者而不是单纯的知识检索者(Kambhampati,2024)。
测试-时间规模化和长链推理。最近的研究不再关注规模化模型参数和训练数据(Kaplan,2020),而是转向探索测试-时间规模化(OpenAI,2024;Snell,2024),即增加 token 数量以提高性能。这可以通过使用并行采样(Brown,2024;Wang,2022;Li,2022)或符号树搜索(Hao,2023;Chen,2024;Yao,2023)等方法增强 LLM 来实现,以增强推理能力。此外,OpenAI(2024);Guo(2025) 探索使用强化学习训练 LLM 以生成长 CoT,这通常包括自我反思、验证和回溯——人类在解决复杂问题时常用的过程。这种方法不仅创新 LLM 的训练范式,而且还提供一种新形式的训练数据来增强其推理能力。这种长 CoT 在引出 LLM 固有的推理能力方面表现出高质量的特征。
语言模型中的数据效率。Zhou (2024a) 证明,仅需 1,000 个策划的提示和响应,模型就可以学会遵循特定的格式并很好地推广到未见过的任务。研究结果强调在对齐过程中质量重于数量的重要性。然而,考虑到此类任务的潜在高计算复杂性,这一教训是否可以应用于推理任务仍不确定(Merrill & Sabharwal,2024;Xiang,2025)。虽然一些关于推理的研究强调在整理训练数据时质量的重要性(Zhou,2024b),但此类数据的数量与 LIMA 相比仍然大得多。
LIMO 假设
将“少即是多”推理 (LIMO) 假设形式化如下:在基础模型中,域知识在预训练期间已被全面编码,复杂的推理能力可以在最少但精确编排的认知过程演示中出现。
这一假设基于两个基本前提:(I)在模型参数空间中,先决条件知识的潜在存在(II)推理链的质量,这些推理链将复杂问题精确分解为详细的逻辑步骤,使认知过程明确且可追溯。
为了验证这一假设,本文提出一种系统的方法来构建一个高质量、最小的数据集,可以有效地抽出模型固有的推理能力。
问题定义
本文专注于具有可验证答案的推理任务。给定推理问题空间中的问题 q,目标是生成答案 a 和推理链 r。将推理链 r 定义为一系列中间步骤 {s_1, s_2, …, s_n},其中每个步骤 s_i 代表一个逻辑推理,它弥补问题和最终答案之间的差距。
正式地,可以将推理过程表示为函数 f: Q→R×A。因此,生成数据集 D 的质量,由两个基本但多方面的组成部分决定:(1) 问题 q 的质量,其中包括问题解决方法的多样性、挑战模型能力的适当难度级别、以及涵盖的知识领域广度等因素;(2) 解决方案的质量 (r, a),其中包括教学价值、逻辑连贯性和方法严谨性等方面。问题的设计应鼓励复杂的推理模式和知识整合,而解决方案应展示清晰的逻辑进展并作为有效的学习示例。
高质量数据管理
数据管理过程侧重于构建高质量数据集 D = {(q_i, r_i, a_i)},并且数据量 N 故意保持较小以验证 LIMO 假设。
问题选择。假设高质量问题 q 应该自然地引发扩展的推理过程。选择标准包括以下内容:
• 难度级别。优先考虑那些能够促进复杂推理链、多样化思维过程和知识整合的具有挑战性问题,使 LLM 能够有效地利用预训练的知识进行高质量推理。
• 泛化性。与模型的训练分布偏差更大的问题,可以更好地挑战其固定的思维模式,鼓励探索新的推理方法,从而扩大其推理搜索空间。
• 知识多样性。所选问题应涵盖各种数学领域和概念,要求模型在解决问题时整合和连接远端的知识。
为了有效地实施这些标准,首先从各种既定数据集中收集一个全面的候选问题池:NuminaMath-CoT,包含从高中到高级竞赛水平的标注问题;AIME 历史考试问题,以其极具挑战性和综合性的问题而闻名,涵盖多个数学领域;MATH(Hendrycks,2021),涵盖来自著名竞赛的各种竞争性数学问题;以及其他几个数学问题来源。
从这个丰富的初始集合中,采用系统的多阶段过滤过程。
- 从数千万个问题的初始池开始,首先使用 Qwen2.5-Math-7B-Instruct(Yang,2024)应用基线难度过滤器,消除该模型可以在几次尝试中正确解决的问题。这个过程有助于建立初步的难度阈值。
- 随后,使用最先进的推理模型,包括 R1、DeepSeek-R1-Distill-Qwen-32B(Guo,2025)和 Huang(2024)的模型,对剩余的问题进行更严格的评估,仅保留即使是这些最强大的模型在多次采样迭代后成功率也低于某个阈值的问题。
- 最后,为保持语料库的多样性,采用战略采样技术,在数学领域和复杂度级别之间平衡表示,同时避免概念冗余。这一细致的选择过程,最终从数千万个候选问题的初始池中产生817 个挑选的问题,所选问题共同满足严格的质量标准,同时涵盖丰富的数学推理挑战。
推理链构建。除了高质量的问题之外,解决方案的质量在大语言模型的训练阶段也起着关键作用。为了挑选高质量的解决方案,采用全面的选择策略。首先收集问题的官方解决方案(如果可用),并辅以人类专家和 AI 专家编写的解决方案。此外,利用最先进的推理模型,包括 DeepSeek R1、DeepSeek-R1-Distill-Qwen-32B(Guo,2025)和 Qwen2.5-32b-Instruct,来生成不同的解决方案。此外,按照 O1-Journey-Part2(Huang,2024)中提出的方法,利用基于 Qwen2.5-32b-Instruct 的自我蒸馏技术来创建其他模型变型,然后使用这些变型生成补充问题响应。然后根据答案的正确性筛选这些响应,以建立有效解决方案的基线集合。随后,通过协作检查对这些筛选的解决方案进行全面分析。通过仔细观察和系统审查,确定区分高质量推理链的几个关键特征:
• 最佳结构组织:解决方案表现出清晰且组织良好的结构格式,步骤分解具有自适应粒度。特别是,它在关键的推理节点分配更多token和详细阐述,同时保持简单步骤的简洁表达。这种自适应步骤粒度方法,可确保复杂的转换得到适当的关注,同时避免在较简单的推理中出现不必要的冗长。
• 有效的认知支架:高质量的解决方案,通过精心构建的解释逐步建立理解,从而提供战略教育支持。这包括渐进的概念介绍、在关键点清晰表达关键见解以及深思熟虑地弥合概念差距,使复杂的推理过程更易于理解和学习。
• 严格的验证:高质量的解决方案,在整个推理过程中包含极其频繁的验证步骤。这包括验证中间结果、交叉检查假设以及确认每个推论的逻辑一致性,从而确保最终答案的可靠性。
基于这些确定的特征,开发一种结合基于规则的过滤和 LLM 辅助策划的混合方法,以针对上述每个问题选择高质量的解决方案。这个系统化的过程,确保每个选定的解决方案都符合既定的质量标准,同时保持整个数据集的一致性。通过专注于一组最小策划的推理链,体现“少即是多”的核心原则:高质量的演示,而不是纯粹的数据量,是解锁复杂推理能力的关键。
生成的数据集 D 由精心策划的三元组 (q, r, a) 组成,其中每个推理链 r 都满足质量标准。在限制数据集大小 |D| 的同时保持这些严格的标准,旨在证明高质量的演示,而不是大量的训练数据,对于解锁复杂的推理能力至关重要。
方法论
基于“少即是多”原则,一个模型如果在预训练中积累大量的推理知识,并且在测试-时能够执行长链推理,那么它就可以发展出强大的推理能力。在仅对几百个 SFT 数据实例进行训练后,该模型就会学会将元推理任务整合成一个有凝聚力的推理链。
训练协议
在 LIMO 数据集上使用监督微调对 Qwen2.5-32B-Instruct 进行微调。训练过程采用全参数微调,使用 DeepSpeed ZeRO-3 优化(Rajbhandari,2020)和 FlashAttention- 2(Dao,2023),序列长度限制为 16,384 个 tokens。
评估框架
域内评估。为了全面评估模型在各种推理能力方面的表现,建立了一个涵盖传统和新型基准的多样化评估框架。我们的主要评估套件包括几个成熟的数学竞赛和基准:美国数学邀请赛 (AIME24)、MATH500 (Hendrycks,2021) 和美国数学竞赛 (AMC23)。
分布外(OOD)评估。为了严格评估模型在分布外任务上的表现,选择与训练数据在各个方面不同的一些基准。这些基准可以分为三个不同的类别:
• 多样化的数学竞赛:进一步选择 OlympiadBench(He,2024),它代表数学挑战的独特分布,用于测试模型的 OOD 性能。
• 新的多语言基准:为了最大限度地减少数据污染,用最新的考试问题构建几个基准:2024 年中国高中数学联赛竞赛 CHMath、2024 年中国高考 GAOKAO、中国研究生入学考试 KAOYAN,以及新开发的用于初等数学推理 GradeSchool。值得注意的是,这些基准中的所有问题都是用中文编写的,而训练数据不包含中文问题。这引入一个额外的 OOD 维度,不仅评估模型在问题分布中泛化的能力,还评估其在面对未见过语言时的跨语言推理能力。
• 多学科基准:为了评估数学(训练领域)以外更广泛的泛化能力,结合 Miverva(Lewkowycz,2022)(其中包括本科水平的 STEM 问题)和 GPQA(Rein,2023)。这些基准评估跨多个学科和认知水平的推理能力,深入了解模型将数学推理技能转移到更广泛环境的能力。
性能指标。用 pass@1 指标评估整个基准套件的性能。所有评估均在零样本思维链 (CoT) 设置下进行,以更好地评估模型的推理能力。对于包括 MATH500、OlympiadBench、Gaokao、Kaoyan、GradeSchool、MinervaMath 和 GPQA 在内的基准,采用一种简单的方法,使用贪婪解码和一个单样本来评估正确性。但是,对于每个包含少于 50 个问题的较小基准(特别是 AIME24、AMC23 和 CHMATH),实施更全面的评估协议,生成 16 个样本,温度设置为 0.7,并计算无偏 pass@1 指标,如 Chen (2021) 中所述。对于答案是结构良好的数值问题,直接应用基于规则的评估来检查数学等价性。对于更复杂的答案格式(例如表达式、方程式或结构化解决方案),利用基于 LLM 的评估器,已经验证它的高可靠性。
在所有评估过程中,将最大输出长度保持在 32,768 个 tokens,以最大限度地减少输出截断的可能性,确保评估能够捕获完整的问题解决尝试。此外,在评估 LIMO 时,观察到推理-时间规模化偶尔会导致冗长输出末尾出现重复模式。在这种情况下,从模型的响应中提取最可能的最终答案进行评估,以确保准确评估其解决问题的能力。
现象再思考:“少即是多”和强化学习规模化
LIMO 的出现,代表在大语言模型中概念化和激活复杂推理能力的范式转变。首先,将 LIMO 与 LIMA 进行对比,了解“少即是多”原则如何从一般对齐扩展到复杂推理;其次,将 LIMO 与强化学习 (RL) 规模化方法进行比较,以突出开发推理能力的不同哲学观点。通过这些分析,旨在更深入地了解语言模型中复杂认知能力的出现方式以及有效激活的条件。
LIMO 与 LIMA
LLM 中“少即是多”现象的出现,代表对如何用最少的数据引出复杂能力的理解发生了根本性转变。虽然 LIMA(Zhou,2024a)首先在一般对齐的背景下展示了这种现象,但将这一原则扩展到复杂的数学推理提出了独特的挑战和要求。
知识基础革命。过去两年见证语言模型获取和组织数学知识的方式转变。虽然 LIMA 可以依靠一般文本语料库进行对齐,但 LIMO 的成功建立在通过专门的预训练嵌入现代基础模型的丰富数学内容之上(Wang,2024)。这种专门的知识基础是有效激活推理能力的先决条件。
计算能力革命。LIMA 和 LIMO 之间的一个关键区别在于它们的计算要求。虽然 LIMA 的对齐任务可以通过固定长度生成和单次处理来完成,但 LIMO 的推理任务需要大量的计算空间来进行多步审议。推理-时间规模化技术的出现(OpenAI,2024;Qin,2024)提供了必要的“认知工作空间”,模型可以在其中系统地解开并应用其预训练的知识。
协同合流。LIMO 的发现时间,反映了这两场革命的必要合流。 LIMA 和 LIMO 之间两年的差距,不仅代表更好的预训练模型所需时间,还代表等待推理-时间计算突破的必要时间。这种合流促成一种称为“推理抽出阈值”的现象:当模型同时拥有丰富的域知识和足够的计算空间时,可以通过最少但精确的演示激活复杂的推理能力。
对未来研究的启示。这种比较分析表明,“少即是多”不仅仅是一种使用更少数据的提倡,而且是支配模型能力有效抽出的一条基本原则。 LIMO 的成功表明,当满足基本先决条件(知识基础和计算框架)时,复杂的能力可以以显著的数据效率抽出。这一见解表明一个新的研究方向:系统地识别不同能力的先决条件和最佳激活条件。未来的工作应该探索其他高级能力(例如,规划、创造性解决问题)在建立相应的知识和计算基础后是否能达到类似的效率。因此,“少即是多”原则既是理解能力出现的理论框架,也是在各个领域追求数据高效能力发展的实用指南。
如下表比较复杂推理 LIMO 和通用对齐 LIMA:
LIMO 与 RL 规模化
在大语言模型中开发推理能力两种不同方法的出现——RL 规模化和 LIMO——代表了理解和增强模型智能的根本分歧。RL 规模化以 o1(OpenAI,2024)、DeepSeek-R1(Guo,2025)等为例,从工程优化的角度应对挑战。它假设推理能力需要通过大规模强化学习进行广泛的模型训练。虽然这种方法有效,但它本质上将 RL 视为一种广泛的搜索机制,通过大量计算资源发现有效的推理模式。
相比之下,LIMO 引入一个更基础的视角:推理能力已经潜伏在预训练模型中,嵌入在预训练阶段。关键挑战从“训练”转向“抽出”——找到能够引出这些天生能力的精确认知模板。
从这个角度来看,像 DeepSeek-R1 这样的 RL 规模化方法可以看作是这一原则的具体实现,使用强化学习作为寻找此类轨迹的机制。虽然这两种方法最终都寻求高质量的推理解决方案,但 LIMO 通过明确的轨迹设计提供一条更有原则、更直接的路径,而 RL 规模化则通过广泛的计算探索发现这些轨迹。这种重新构建表明,包括 RL、专家设计或混合方法在内的各种方法,都可以在 LIMO 的框架内被理解和评估为发现最佳推理轨迹的不同策略。
如下表比较 LIMO 和 RL 规模化:
相关文章:
LIMO:上海交大的工作 “少即是多” LLM 推理
25年2月来自上海交大、SII 和 GAIR 的论文“LIMO: Less is More for Reasoning”。 一个挑战是在大语言模型(LLM)中的复杂推理。虽然传统观点认为复杂的推理任务需要大量的训练数据(通常超过 100,000 个示例),但本文展…...
Windows逆向工程入门之汇编环境搭建
公开视频 -> 链接点击跳转公开课程博客首页 -> 链接点击跳转博客主页 Visual Studio逆向工程配置 基础环境搭建 Visual Studio 官方下载地址安装配置选项(后期可随时通过VS调整) 使用C的桌面开发 拓展可选选项 MASM汇编框架 配置MASM汇编项目 创建新项目 选择空…...
Git安全回退历史版本
Git安全回退历史版本 方法特点git revert保留所有中间提交历史,生成显式的反向提交,适合精确撤销特定提交。直接提交快速生成一个回退提交,无需处理多个撤销操作,适合简单回退到某个旧版本。 git revert 仅回退一个版本 git r…...
消费电子产品中的噪声对TPS54202的影响
本文章是笔者整理的备忘笔记。希望在帮助自己温习避免遗忘的同时,也能帮助其他需要参考的朋友。如有谬误,欢迎大家进行指正。 一、概述 在白色家电领域,降压转换器的应用非常广泛,为了实现不同的功能就需要不同的电源轨。TPS542…...
ASP.NET Core 外部向SignalR的Hub发消息
实现 Hub类中的方法只应该用于消息的发布,而不应该用来写业务逻辑,SignalR中客户端给服务器端传递消息的超时时间为30s,如果对Hub类中的方法的调用执行时间超过30s,程序就会报错。可以在MVC控制器、托管服务等外部向客户端推送消…...
Ubuntu 多版本 gcc 配置常用命令备忘
用的频率不高,总忘记具体参数 1,安装多版本 gcc 以 gcc-11 和12 为例: sudo apt-get install gcc-11 gcc-12 sudo apt-get install gcc-11 gcc-12 2,配置多版本 gcc gcc 与 g 一起配置进数据库中: sudo update-a…...
树形表查询方法
树形数据表在开发中会经常遇到,parentid字段为父结点ID,它是树型结构的标志字段。 查询方法: 1.自连接查询 如果树的层级固定可以使用表的自链接去查询,比如:我们只查询两级课程分类,可以用下边的SQL selectone.id …...
OpenStack-Train版-Allinone自动化部署脚本
一、环境准备 操作系统:CentOS 7 或以上版本 建议配置: CPU:8 核或以上 内存:16 GB 或以上 磁盘:500 GB 或以上 网络配置: 确保虚拟机已配置静态 IP 地址 确保虚拟机可以正常访问外部网络 二、自动…...
[笔记] 汇编杂记(持续更新)
文章目录 前言举例解释函数的序言函数的调用栈数据的传递 总结 前言 举例解释 // Type your code here, or load an example. int square(int num) {return num * num; }int sub(int num1, int num2) {return num1 - num2; }int add(int num1, int num2) {return num1 num2;…...
Hono.js入门指南_从零开始构建Web应用
1. 引言 项目背景与动机 随着现代Web开发的快速发展,构建高效、轻量且易于维护的Web应用变得越来越重要。Hono.js作为一个轻量级的Node.js框架,以其简洁的API和高效的性能吸引了众多开发者。本文将带你从零开始,逐步构建一个功能齐全的Web应用,帮助你快速上手Hono.js。 …...
后盾人JS -- 模块化开发
开发模块管理引擎 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</title> </he…...
python-leetcode 23.回文链表
题目: 给定单链表的头节点head,判断该链表是否为回文链表,如果是,返回True,否则,返回False 输入:head[1,2,2,1] 输出:true 方法一:将值复制到数组中后用双指针法 有两种常用的列表实现&#…...
echarts 3d中国地图飞行线
一、3D中国地图 1. 一定要使用 echarts 5.0及以上的版本; 2. echarts 5.0没有内置中国地图了。点击下载 china.json; 3. 一共使用了四层地图。 (1)第一层是中国地图各省细边框和展示南海诸岛; (2)第二层是…...
Vivado IP之浮点数Floating-point
在Vivado的IP Catalog中搜索Floating-point即可找到该IP Operation Selection界面 1.绝对值,即result|A| 2.累加 3.两个浮点数的加法或者减法 4.两个浮点数进行比较 5.两个浮点数的除法 6.求指数,即e^A 7.定点数到浮点数的转化 8.浮点数转化为定…...
只需三步!5分钟本地部署deep seek——MAC环境
MAC本地部署deep seek 第一步:下载Ollama第二步:下载deepseek-r1模型第三步:安装谷歌浏览器插件 第一步:下载Ollama 打开此网址:https://ollama.com/,点击下载即可,如果网络比较慢可使用文末百度网盘链接 注:Ollama是…...
DeepSeek和ChatGPT的优劣或者区别(答案来DeepSeek和ChatGPT)
DeepSeek的答案 DeepSeek与ChatGPT作为当前两大主流AI模型,在架构设计、性能表现、应用场景等方面存在显著差异,以下从多个维度进行对比分析: 一、架构与训练效率 架构设计 DeepSeek:采用混合专家(MoE)框架…...
1 推荐系统概述
推荐系统概述 1 推荐系统的意义平台方信息生产者(物品)信息消费者(用户)推荐和搜索的区别 2 推荐系统架构系统架构算法架构 3 推荐系统技术栈算法画像层召回/粗排精排重排序 工程 1 推荐系统的意义 信息生产者(平台方…...
JavaEE架构
一.架构选型 1.VM架构 VM架构通常指的是虚拟机(Virtual Machine)的架构。虚拟机是一种软件实现的计算机系统,它模拟了物理计算机的功能,允许在单一物理硬件上运行多个操作系统实例。虚拟机架构主要包括以下几个关键组件ÿ…...
C++ labmbd表达式
文章目录 C++ Lambda 表达式详解1. Lambda 表达式的组成部分:2. Lambda 语法示例(1) 最简单的 Lambda(2) 带参数的 Lambda(3) 指定返回类型的 Lambda3. 捕获外部变量(1) 值捕获(复制)(2) 引用捕获(3) 捕获所有变量4. Lambda 在 STL 中的应用5. Lambda 作为 `std::function`6…...
当Axure遇见DeepSeek:设计工具的革命性进化
从传统的平面设计软件到如今的交互原型工具,设计工具经历了多次革命性的进化。然而,随着人工智能技术的不断发展,设计工具正面临又一次重大的变革。Axure,作为设计界知名的原型设计工具,以其强大的功能和灵活的操作性&…...
[LeetCode] day19 454. 四数相加 II
题目链接 题目描述 给你四个整数数组 nums1、nums2、nums3 和 nums4 ,数组长度都是 n ,请你计算有多少个元组 (i, j, k, l) 能满足: 0 < i, j, k, l < n nums1[i] nums2[j] nums3[k] nums4[l] 0 示例 1: 输入&…...
FPGA开发技能(10)热电偶测温ADS1118方案
文章目录 1.热电偶原理2.ADS1118方案2.1ADS介绍2.2原理设计2.3实物连接图2.4测温原理 3.误差校准3.1查表法3.2冷端补偿法 4.SPI操作时序5.传送门 1.热电偶原理 两个不同材料的金属线一端在同一结点连接,另一端放在被测温点,则二者会产生一定的压差&…...
CNN-day5-经典神经网络LeNets5
经典神经网络-LeNets5 1998年Yann LeCun等提出的第一个用于手写数字识别问题并产生实际商业(邮政行业)价值的卷积神经网络 参考:论文笔记:Gradient-Based Learning Applied to Document Recognition-CSDN博客 1 网络模型结构 …...
【DeepSeek学Cuda】NVidia GPU指令集架构-Load和Cache
https://zhuanlan.zhihu.com/p/692445145 当warp内的线程访问同一个constant位置时,其是确定的latency的(和访问寄存器一样) latency 什么意思 当 warp 内的线程访问同一个 constant 位置时,其是确定的 latency 的(和…...
[免费]Springboot+Vue(带推荐算法)网上购物商城系统【论文+源码+SQL脚本】
大家好,我是java1234_小锋老师,看到一个不错的SpringbootVue(带推荐算法)网上购物商城系统,分享下哈。 项目视频演示 【免费】SpringbootVue(带推荐算法)网上购物商城系统 Java毕业设计_哔哩哔哩_bilibili 项目介绍 根据需求分析文档确定的…...
车载测试工具 --- CANoe VH6501 进行Not Acknowledge (NAck) 测试
我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 简单,单纯,喜欢独处,独来独往,不易合同频过着接地气的生活,除了生存温饱问题之外,没有什么过多的欲望,表面看起来很高冷,内心热情,如果你身…...
JVM调优参数分类
JVM调优参数分类 一、内存管理参数(堆/非堆) 1. 堆内存设置 参数格式功能说明典型场景值记忆口诀-Xms初始堆大小-Xms4gXms起始大小-Xmx最大堆大小-Xmx8gXmx最大上限-Xmn年轻代大小-Xmn2gXmn年轻代-XX:NewRatio老年代与年轻代比例-XX:NewRatio2比例老/新…...
高阶C语言|枚举与联合
💬 欢迎讨论:在阅读过程中有任何疑问,欢迎在评论区留言,我们一起交流学习! 👍 点赞、收藏与分享:如果你觉得这篇文章对你有帮助,记得点赞、收藏,并分享给更多对C语言感兴…...
通过魔搭社区本地下载大语言模型及API接口调用模型实现
一、背景 在之前的博文:CSDN中,我们已经详细介绍了如何安装Python环境和一些必要的库和访问Transformers库的大模型。然而,在实际操作过程中,我们发现模型的下载或者调用需要访问Hugging Face上的Transformers库,这是一个国外的网…...
2022java面试总结,1000道(集合+JVM+并发编程+Spring+Mybatis)的Java高频面试题
1、面试题模块汇总 面试题包括以下十九个模块: Java 基础、容器、多线程、反射、对象拷贝、Java Web 模块、异常、网络、设计模式、Spring/Spring MVC、Spring Boot/Spring Cloud、Hibernate、Mybatis、RabbitMQ、Kafka、Zookeeper、MySql、Redis、JVM 。如下图所示…...
【CubeMX+STM32】SD卡 文件系统读写 FatFs+SDIO+DMA
本篇,将使用CubeMXKeil,创建一个SD卡的 FatFSSDIODMA 文件系统读写工程。 目录 一、简述 二、CubeMX 配置 FatFSSDIO DMA 三、Keil 编辑代码 四、实验效果 实现效果,如下图: 一、简述 上两篇,已循序渐进讲解了SD、…...
GenAI + 电商:从单张图片生成可动态模拟的3D服装
在当今数字化时代,电子商务和虚拟现实技术的结合正在改变人们的购物体验。特别是在服装行业,消费者越来越期待能够通过虚拟试衣来预览衣服的效果,而无需实际穿戴。Dress-1-to-3 技术框架正是为此而生,它利用生成式AI模型(GenAI)和物理模拟技术,将一张普通的穿衣照片转化…...
1.1 Spring Security 概述
Spring Security 概述 1. 什么是 Spring Security? Spring Security 是 Spring 生态中专注于应用安全的核心框架,为 Java 企业应用提供认证(Authentication)、授权(Authorization)以及安全攻击防护&#x…...
新站如何快速被搜索引擎收录?
本文转自:百万收录网 原文链接:https://www.baiwanshoulu.com/106.html 新站快速被搜索引擎收录是一个综合性的任务,涉及多个方面的优化工作。以下是一些关键步骤和策略,有助于新站快速被搜索引擎收录: 一、提交网站…...
<论文>DeepSeek-R1:通过强化学习激励大语言模型的推理能力(深度思考)
一、摘要 本文跟大家来一起阅读DeepSeek团队发表于2025年1月的一篇论文《DeepSeek-R1: Incentivizing Reasoning Capability in LLMs via Reinforcement Learning | Papers With Code》,新鲜的DeepSeek-R1推理模型,作者规模属实庞大。如果你正在使用Deep…...
DatePicker 实现:日期范围截止时间为23:59:59
文章目录 需求描述实现逻辑 需求描述 在使用 Element Plus 的 el-date-picker 组件进行日期范围选择时,如果你希望选择的日期范围截止时间为所选时间的23:59:59,你可以通过设置 type 属性为 daterange,并结合使用 value-format 属性来控制时间…...
登录功能login.html
文章目录 前言一、login.html二、getVerify()controllerlogin() 登录功能encodePwd(pwd,key)login.do验证是否异地登录找回账号verifySubmit() 前言 登录login.html,验证码获取verifycode,登陆函数login() 一、login.html <!DOCTYPE html> <h…...
将 AMD Zynq™ RFSoC 扩展到毫米波领域
目录 将 AMD Zynq™ RFSoC 扩展到毫米波领域Avnet XRF RFSoC 系统级模块适用于 MATLAB 的 Avnet RFSoC Explorer 工具箱5G mmWave PAAM 开发平台突破性的宽带毫米波波束成形特征:OTBF103 Mathworks Simulink 模型优化毫米波应用中的射频信号路径 用于宽带毫米波上/下…...
2.10..
#include "widget.h" #include "ui_widget.h" #include <QFontDialog> #include <QFont> #include <QMessageBox> #include <QColorDialog> #include <QColor> // #include <QFileDialog> //文件对话框…...
Struts2 命令执行漏洞 S2-045 复现:深入剖析与实战演练
前言 在当今网络安全形势日益严峻的大环境下,Web 应用框架的安全问题始终是信息安全领域关注的焦点。Struts2 作为一款广泛应用于 Java Web 开发的开源框架,其安全性直接关系到众多 Web 应用的稳定运行。今天,我们将深入探讨并实战复现 Stru…...
Spark 源码 | 脚本分析总结
前言 最初是想学习一下Spark提交流程的源码,比如 Spark On Yarn 、Standalone。之前只是通过网上总结的文章大概了解整体的提交流程,但是每个文章描述的又不太一样,弄不清楚到底哪个说的准确,比如Client 和 CLuster 模式的区别&a…...
2025.2.9 每日学习记录2:技术报告写了一半+一点点读后感
0.近期主任务线 1.完成小论文准备 目标是3月份完成实验点1的全部实验和论文。 2.准备教资笔试 打算留个十多天左右,一次性备考笔试的三个科目 1.实习申请技术准备:微调、Agent、RAG 1.今日完成任务 1.电子斗蛐蛐(文本书写领域&am…...
6、使用one-api管理统一管理大模型,并开始使用本地大模型
文章目录 本节内容介绍集中接入:将大模型统一管理起来当使用了大模型代理大模型代理示例 开源模型:如何使用Hugging Face上的模型modelscope使用 pipeline 调用模型用底层实现调用模型流式输出 如何在项目中使用开源模型使用 LangChain使用集中接入开始使…...
DFS+回溯+剪枝(深度优先搜索)——搜索算法
DFS也就是深度优先搜索,比如二叉树的前,中,后序遍历都属于DFS。其本质是递归,要学好DFS首先需要掌握递归。接下来咱们就一起来学习DFS涉及的算法。 一、递归 1.什么是递归? 递归可以这样理解把它拆分出来࿰…...
【数据结构】_堆的实现
目录 1. 堆的实现 1.1 Heap.h 1.2 Heap.c 1.3 Test_Heap.c 专栏前文中,已经介绍了入堆及向上调整算法,出堆及向下调整算法,详情见下文: 【数据结构】_堆的结构及向上、向下调整算法-CSDN博客文章浏览阅读352次,点…...
读书笔记《左耳听风》
读书笔记《左耳听风》 从今年开始,打算给自己定一下在看完书后整理成博客的计划。以往很多看完的书仅仅停留在看完,再回顾的时候总感觉已经不甚清晰了,希望能坚持下去。 《左耳听风》是今年我看完的第一本书,内容针对的是程序员…...
Axure原型图怎么通过链接共享
一、进入Axure 二、点击共享 三、弹出下面弹框,点击发布就可以了 发布成功后,会展示链接,复制即可共享给他人 四、发布失败可能的原因 Axure未更新,首页菜单栏点击帮助选择Axure更新,完成更新重复以上步骤即可...
本地部署DeepSeek,并使用UI界面进行快速交互
一.需要本地部署的原因 1.我们在deepseek的官网界面进行交互时,经常会出现如下问题,不能正常交互,很是困扰: 2.本地部署的好处 就是能够很流畅的与deepseek进行交互;也有缺点,现在官网交互的版本更高一点…...
ESP32S3读取数字麦克风INMP441的音频数据
ESP32S3 与 INMP441 麦克风模块的集成通常涉及使用 I2S 接口进行数字音频数据的传输。INMP441 是一款高性能的数字麦克风,它通过 I2S 接口输出音频数据。在 Arduino 环境中,ESP32S3 的开发通常使用 ESP-IDF(Espressif IoT Development Framew…...
移动(新)魔百盒刷机教程[M301A_YS]
刚刚成功刷了一个坏的魔百盒,简单记录一下。 刷电视盒子有两种:卡刷和线刷。 线刷 一、线刷准备 1.刷机工具 Amlogic USB Burning Tool 晶晨线刷烧录工具 2.固件 根据盒子的型号、代工等找到对应的固件 二、线刷步骤 电脑打开下好的 Amlogic US…...