MiniMax-M1: Scaling Test-TimeCompute Efficiently with I Lightning Attention

我们推出了MiniMax-M1,这是全球首个开源权重、大规模混合注意力推理模型。MiniMax-M1采用了混合专家系统(Mixture-of-Experts,简称MoE)架构,并结合了闪电注意力机制。该模型是在我们之前的MiniMax-Text-01模型(MiniMax等人,2025年)基础上开发而来的,该模型总共有4560亿个参数,每个标记激活459亿个参数。M1模型原生支持高达100万个标记的上下文长度,是DeepSeek R1上下文大小的8倍。此外,MiniMax-M1中的闪电注意力机制使得测试时计算能够高效扩展——例如,与DeepSeek R1相比,在生成长度为100K个标记时,M1仅消耗25%的浮点运算次数(FLOPs)。这些特性使得M1特别适合处理需要处理长输入和进行广泛思考的复杂任务。MiniMax-M1是在涵盖从传统数学推理到基于沙盒的真实世界软件工程环境等各种问题上,利用大规模强化学习(RL)进行训练的。除了闪电注意力在RL训练中固有的效率优势外,我们还提出了一种新颖的RL算法——CISPO,以进一步提高RL效率。CISPO通过裁剪重要性采样权重而非标记更新,表现优于其他竞争性的RL变体。结合混合注意力机制和CISPO,使得MiniMax-M1在512块H800 GPU上完成完整的RL训练仅需三周时间,租赁成本仅为534,700美元。我们发布了两个版本的MiniMax-M1模型,分别具有40K和80K的思考预算,其中40K模型代表了80K训练过程中的一个中间阶段。在标准基准测试上的实验表明,我们的模型与强大的开源权重模型(如原始的DeepSeek-R1和Qwen3-235B)相比具有可比性或更优的性能,特别是在复杂的软件工程、工具利用和长上下文任务方面表现出色。通过高效扩展测试时计算,MiniMax-M1为下一代语言模型智能体推理和解决现实世界挑战奠定了坚实基础。我们在https://github.com/MiniMax-AI/MiniMax-M1上公开发布了MiniMax-M1。

Image
图1 | 左图:领先商业模型和开源权重模型在竞赛级数学、编程、软件工程、智能体工具使用和长上下文理解任务上的基准性能比较。此处我们使用MiniMax-M1-80k模型代表MiniMax-M1。右图:理论推理浮点运算次数(FLOPs)随生成长度(标记数)的扩展情况。

1. 引言

大型推理模型(LRMs),如OpenAI o1(OpenAI,2024a)和DeepSeek-R1(DeepSeek-AI等人,2025年),通过大规模强化学习(RL)扩展推理长度,取得了显著成功。近几个月来,开源社区和商业组织都纷纷效仿这一趋势,在奥林匹克数学竞赛和竞争性编程等复杂任务上取得了重大进展(Anthropic,2025年;Google DeepMind,2025年;Hu等人,2025年;Kimi Team,2025年;Seed等人,2025年;Yu等人,2025年;Zeng等人,2025年)。LRMs的成功主要归功于测试时计算的一个新扩展维度——在生成过程中,随着更多浮点运算次数(FLOPs)被投入到扩展推理过程中,模型性能表现出持续改进,特别是在复杂的现实世界应用中(Jimenez等人,2024年;OpenAI,2025年)。

然而,在传统的Transformer架构(Vaswani等人,2017年)内持续扩展推理过程具有挑战性,因为softmax注意力机制具有固有的二次计算复杂度。尽管先前的工作提出了各种技术来缓解这一问题——如稀疏注意力(Beltagy等人,2020年;Lu等人,2025年;Yuan等人,2025年;Zaheer等人,2020年)、线性注意力(Arora等人,2024年;Choromanski等人,2021年;Du等人,2025年;He等人,2024年;Katharopoulos等人,2020年;Peng等人,2024b,2021年;Qin等人,2021年,2022a,b,2024a,c年;Shen等人,2024年;Sun等人,2025年,2023年;Zhang等人,2024年)、带有delta衰减的线性注意力(Peng等人,2025年;Yang等人,2024a,b年)、状态空间模型(Dao和Gu,2024年;Glorioso等人,2024年;Gu和Dao,2024年;Gu等人,2020年,2022年,2023年;Gupta等人,2022年;Jamba Team,2024年;Ren等人,2024年)和线性循环神经网络(RNNs)(Behrouz等人,2024年;Chou等人,2024年;Chung和Ç,2014年;Hochreiter和Schmidhuber,1997年;Martin和Cundy,2018年;Peng等人,2023年,2024a年;Qin等人,2023年,2024d年;Siems等人,2025年;Sun等人,2024年;von Oswald等人,2025年)——但这些方法尚未在大规模推理模型中得到充分验证,而且迄今为止,几乎所有具有竞争力的LRMs仍然依赖于传统的注意力设计。一个例外是采用了Mamba架构(Dao和Gu,2024年;Gu和Dao,2024年)的Hunyuan-T1模型(腾讯AI实验室,2025年)。然而,该模型并未开源,且披露的细节很少。在这项工作中,我们的目标是构建并开源一个能够高效扩展测试时计算并与最先进的推理模型相竞争的大型推理模型。

我们推出了MiniMax-M1,这是一个采用混合专家系统(MoE)架构和闪电注意力机制(Qin等人,2024b年)的推理模型,闪电注意力是线性注意力变体(Qin等人,2022a年)的一种输入输出感知实现。MiniMax-M1是在我们之前的MiniMax-Text-01(MiniMax等人,2025年)模型基础上开发而来的,总共包含4560亿个参数,激活459亿个参数,并拥有32个专家。在我们的注意力设计中,每七个带有闪电注意力的transnormer块(Qin等人,2022a年)后跟一个带有softmax注意力的Transformer块。这种设计理论上使得推理长度能够高效扩展到数十万个标记,如图1(右图)所示。例如,与DeepSeek R1相比,在生成长度为64K个标记时,M1消耗的浮点运算次数(FLOPs)不到50%,而在长度为100K个标记时,这一比例约为25%。这种计算成本的显著降低使得M1在推理和大规模RL训练过程中都显著提高了效率。此外,由于其闪电注意力机制以及与MiniMax-Text-01的一致性,我们的M1模型原生支持高达100万个标记的上下文长度——是DeepSeek R1上下文大小的8倍,比迄今为止所有可用的开源权重LRMs都要大一个数量级。这些特性使得M1特别适合处理需要处理长输入和生成扩展思考的复杂现实世界任务。M1与其他领先模型的最大输入和输出长度的比较如表1所示。

为了开发我们的M1模型,我们首先在精心策划的、推理密集型语料库上的7.5T个标记上继续对MiniMax-Text-01进行预训练。随后,我们进行了监督微调(SFT)

表1 | 不同推理模型的最大支持输入长度和输出长度(标记数)。对于Claude-4,我们指的是Claude-4-Opus模型。“DS-R1”代表最新的DeepSeek-R1-0528模型。
o3Gemini 2.5 ProClaude 4DS-R1Qwen3-235BMiniMax-M1-80k
最大输入200K1M200K128K128K1M
最大输出100K64K32K64K32K80K

以注入特定的思维链(CoT)(Wei等人,2022年)模式,为M1开发的核心阶段——强化学习奠定了坚实基础。值得注意的是,我们通过两个关键视角的创新提高了M1的RL扩展效率:(1)我们提出了一种新颖的RL算法——CISPO,它放弃了信任区域约束,而是裁剪重要性采样权重以稳定训练。这种方法始终利用所有标记进行梯度计算,与GRPO(Shao等人,2024年)和DAPO(Yu等人,2025年)相比,在经验上实现了更高的效率——例如,在基于Qwen2.5-32B模型(Qwen等人,2025年)的对照研究中,CISPO的速度比DAPO快2倍;(2)尽管M1中的混合注意力设计自然允许高效的RL扩展,但使用这种架构扩展RL时会出现独特的挑战。例如,我们发现架构的训练和推理内核之间存在精度不匹配问题,这阻碍了RL训练过程中的奖励增长。我们开发了针对性的解决方案来解决这些挑战,并成功地使用这种混合架构扩展了RL。最终,我们高效的RL框架使得我们能够在512块H800 GPU上在3周内完成MiniMax-M1的完整RL运行——相当于大约53万美元的租赁成本。

除了方法论上的创新外,我们还为RL训练策划了一套多样化的问题和环境。我们的数据涵盖了可验证和不可验证的问题。对于通常被认为对推理学习至关重要的可验证问题,我们不仅包含了相关工作中常用的数学推理和竞争性编程问题,还利用了我们之前的数据合成框架SynLogic(Liu等人,2025a年)生成了涵盖41个不同任务的多样化逻辑推理问题。此外,我们还根据SWE-bench(Jimenez等人,2024年)构建了复杂软件工程(SE)环境的沙盒,并在基于执行的真实世界SE问题上进行了RL训练,以提高M1在具有挑战性的SE场景中的性能。我们的不可验证问题涵盖了问答和创意写作等广泛领域,我们使用生成式奖励模型来提供反馈。

我们训练了两个版本的MiniMax-M1模型,分别具有40K和80K个标记的最大生成长度,从而得到了两个模型——MiniMax-M1-40k和MiniMax-M1-80k。MiniMax-M1-80k在复杂的数学和编码任务上优于MiniMax-M1-40k,进一步证明了扩展测试时计算的好处。如图1(左图)所示,MiniMax-M1总体上超越了之前的领先开源权重模型,如原始的DeepSeek-R1和Qwen-235B,特别是在复杂的软件工程、工具使用和长上下文任务方面具有优势。与最新的DeepSeek-R1-0528模型相比,MiniMax-M1在数学和编码竞赛中稍逊一筹,但在更现实的工具使用和长上下文场景中实现了可比或更优的性能。值得注意的是,MiniMax-M1在智能体工具使用基准测试TAU-Bench(Yao等人,2025年)上超越了Gemini 2.5 Pro,并在长上下文理解基准测试上超越了OpenAI o3和Claude 4 Opus。凭借高效的测试时扩展能力,我们认为MiniMax-M1为下一代语言模型智能体解决现实世界挑战奠定了坚实基础。

为了促进该领域的合作与进步,我们已在GitHub和Hugging Face上公开了我们的模型。它们现在得到了vLLM和Transformers框架的支持,并分别在vLLM和Transformers上提供了详细的部署指南。这使得MiniMax-M1能够轻松集成到现代推理管道中。我们还在minimax.io上提供了商业标准API。

2. 可扩展强化学习(RL)的准备工作:持续预训练与监督微调(SFT)

在本工作中,我们聚焦于扩展强化学习以增强 Minimax-Text-01 的推理能力。为促进可扩展的 RL 训练,我们首先对基础模型进行持续预训练,以增强其内在推理能力。随后,我们执行冷启动监督微调(SFT)阶段,将特定的推理模式注入模型,从而为后续的 RL 阶段提供更坚实的基础。

2.1. 持续预训练:RL 扩展的基础

为增强基础模型的推理和长上下文能力,同时确保多样性,我们使用优化后的数据质量和混合方式,用额外的 7.5 万亿个 token 继续训练 MiniMax-Text-01 模型。

训练数据:我们改进了预训练的网页和 PDF 解析机制,并增强了启发式清洗规则,以确保数学和代码相关数据的高召回率。我们优先从网页、论坛和教科书等多种来源提取自然问答(QA)对,同时严格避免使用合成数据。此外,我们对 QA 数据进行语义去重,以保持其多样性和独特性。进一步地,我们将科学、技术、工程和数学(STEM)、代码、书籍以及推理相关数据的比例提高到 70%。这显著增强了基础模型处理复杂任务的能力,同时不影响其其他通用能力。

训练方案:我们降低了混合专家(MoE)辅助损失的系数,并调整了并行训练策略,以支持更大的训练微批次大小,从而减轻辅助损失对整体模型性能的不利影响。基于 MiniMax-Text-01,我们以 8e-5 的恒定学习率继续训练 2.5 万亿个 token,随后在 5 万亿个 token 上采用衰减计划,将学习率降至 8e-6。

长上下文扩展:对于具有更高收敛复杂性的混合闪电架构模型,我们观察到训练长度过度激进的扩展可能导致训练过程中突然出现梯度爆炸,这使得优化过程极具挑战性。我们认为这是由于早期层的参数优化跟不上后期层的变化——对于闪电注意力机制,早期层和后期层具有不同的衰减率,这使得早期层更关注局部信息。我们通过在四个阶段中采用更平滑的上下文长度扩展方式来缓解这一问题,从 32K 的上下文窗口长度开始,最终将训练上下文扩展到 100 万个 token。

2.2. 监督微调:高效 RL 的聚焦对齐

在持续预训练之后,我们进行监督微调(SFT),使用高质量示例灌输期望的行为,如基于反思的思维链(CoT)推理,为下一阶段更高效、更稳定的 RL 创造一个强大的起点。具体来说,我们精心挑选了具有长 CoT 响应的数据样本。这些数据样本涵盖了数学、编码、STEM、写作、QA 以及多轮对话等多个领域。数学和编码样本约占所有数据的 60%。

3. 高效 RL 扩展:算法与闪电注意力

如图 1(右)所示,M1 架构在推理过程中展现出明显的效率优势。这自然促进了高效 RL 扩展,能够生成越来越长的响应。然而,作为使用这种混合架构扩展 RL 的先驱,我们在过程中遇到了独特的挑战,RL 过程可能因各种问题而变得不稳定甚至失败。为解决这些困难,我们开发了针对性的解决方案,使我们能够成功扩展 M1 的 RL 训练。此外,我们提出了一种新的 RL 算法,与现有方法相比,实现了更高的 RL 效率。这两项贡献共同为训练 M1 提供了一个高效且可扩展的 RL 框架,完整的训练周期在 512 个 H800 GPU 上需要 3 周时间——相当于约 53 万美元的租赁成本。在本节中,我们首先介绍 RL 的一般背景,并介绍我们的新型 RL 算法,然后描述我们在混合架构中面临的具体挑战,以及我们为克服这些挑战而设计的解决方案。

3.1. 使用 CISPO 进行高效 RL 扩展

背景:对于来自数据集 D D D 的问题 q q q,我们用 π \pi π 表示由参数 θ \theta θ 参数化的策略模型,用 o o o 表示策略生成的响应。近端策略优化(PPO)(Schulman 等人,2017)采用以下目标函数来优化策略,以最大化预期回报,并应用了裁剪操作以稳定训练:

J P P O ( θ ) = E q ∼ D , o i ∼ π θ o l d ( ⋅ ∣ q ) [ 1 ∣ o i ∣ ∑ t = 1 ∣ o i ∣ min ⁡ ( r i , t ( θ ) A ^ i , t , c l i p ( r i , t ( θ ) , 1 − ϵ , 1 + ϵ ) A ^ i , t ) − β D K L ( π θ ∣ ∣ π r e f ) ] , \begin{aligned}\mathcal{J}_{\mathrm{PPO}}(\theta)&=\mathbb{E}_{q\sim\mathcal{D},o_i\sim\pi_{\theta_{\mathrm{old}}}(\cdot|q)}\\&\left[\frac{1}{|o_i|}\sum_{t=1}^{|o_i|}\min\Big(r_{i,t}(\theta)\hat{A}_{i,t},\mathrm{clip}\big(r_{i,t}(\theta),1-\epsilon,1+\epsilon\big)\hat{A}_{i,t}\Big)-\beta D_{KL}(\pi_{\theta}||\pi_{\mathrm{ref}})\right],\end{aligned} JPPO(θ)=EqD,oiπθold(q) oi1t=1oimin(ri,t(θ)A^i,t,clip(ri,t(θ),1ϵ,1+ϵ)A^i,t)βDKL(πθ∣∣πref) ,

其中 r i , t ( θ ) = π θ ( o i , t ∣ q , o i , < t ) π θ o l d ( o i , t ∣ q , o i , < t ) \begin{array}{r}{r_{i,t}(\theta)=\frac{\pi_{\theta}(o_{i,t}|q,o_{i,<t})}{\pi_{\theta_{\mathrm{o l d}}}(o_{i,t}|q,o_{i,<t})}}\end{array} ri,t(θ)=πθold(oi,tq,oi,<t)πθ(oi,tq,oi,<t) 是重要性采样(IS)权重,用于在离策略更新期间校正分布,因为我们使用 π θ o l d \pi_{\theta_{\mathrm{o l d}}} πθold 来收集轨迹,并通过小批量方式多步更新策略。虽然 PPO 需要一个单独的价值模型来计算优势 A ^ i , t \hat{A}_{i,t} A^i,t,但广义近端策略优化(GRPO)(Shao 等人,2024)消除了价值模型,并将优势定义为相对于组内其他响应的输出奖励:

A ^ i , t = R i − m e a n ( { R j } j = 1 G ) s t d ( { R j } j = 1 G ) , \hat{A}_{i,t}=\frac{R_{i}-\mathrm{m e a n}(\big\{R_{j}\big\}_{j=1}^{G})}{\mathrm{s t d}(\big\{R_{j}\big\}_{j=1}^{G})}, A^i,t=std({Rj}j=1G)Rimean({Rj}j=1G),

其中 R i R_{i} Ri 是响应的奖励, G G G 个响应 { o i } i = 1 G \left\{o_{i}\right\}_{i=1}^{G} {oi}i=1G 是针对每个问题采样的。奖励要么来自基于规则的验证器(如在数学问题求解中),要么来自奖励模型。

令牌裁剪的问题:在我们最初使用混合架构在零 RL 设置下的实验中,我们观察到 GRPO 算法对训练性能产生了不利影响,并且未能有效促进长 CoT 推理行为的出现。通过一系列受控的消融研究,我们最终确定原始 PPO/GRPO 损失中的不良裁剪操作是导致学习性能下降的主要因素。具体来说,我们发现与反思行为相关的令牌(例如,However、Recheck、Wait、Aha),这些令牌通常在推理路径中充当“分叉点”,往往很少见,并且被我们的基础模型赋予了较低的概率。在策略更新期间,这些令牌很可能表现出较高的 r i , t r_{i,t} ri,t 值。因此,这些令牌在第一次同策略更新后就被裁剪掉了,无法为后续的离策略梯度更新做出贡献。这一问题在我们的混合架构模型中尤为突出,并进一步阻碍了强化学习的可扩展性。然而,这些低概率令牌

Image
图 2 | 基于 Qwen2.32B-base,在 AIME 2024 上 GRPO、DAPO 和我们提出的 CISPO 的比较。CISPO 在相同训练步数下的性能优于 GRPO 和 DAPO,并且使用 50% 的训练步数即可达到与 DAPO 相当的性能。

通常对于稳定熵(Cui 等人,2025)和促进可扩展 RL(Wang 等人,2025)至关重要。尽管 DAPO 试图通过增加上裁剪边界来缓解这一问题(Yu 等人,2025),但我们发现这种方法在我们的设置中效果不佳,该设置涉及每个生成批次 16 轮离策略更新。

CISPO 算法:作为回应,我们提出了一种新算法,该算法明确避免了丢弃令牌,即使是那些与大更新相关的令牌,同时内在地保持熵在合理范围内,以确保稳定的探索。首先,回顾一下用于离线更新的具有校正分布的朴素 REINFORCE 目标函数:

J R E I N F O R C E ( θ ) = E ( q , a ) ∼ D , o i ∼ π θ o l d ( ⋅ ∣ q ) [ 1 ∣ o i ∣ ∑ t = 1 ∣ o i ∣ s g ( r i , t ( θ ) ) A ^ i , t log ⁡ π θ ( o i , t ∣ q , o i , < t ) ] , \begin{aligned}\mathcal{J}_{REINFORCE}(\theta)&=\mathbb{E}_{(q,a)\sim\mathcal{D},o_i\sim\pi_{\theta_{old}}(\cdot\mid q)}\\&\left[\frac{1}{\left|o_i\right|}\sum_{t=1}^{\left|o_i\right|}\mathtt{sg}(r_{i,t}(\theta))\hat{A}_{i,t}\log\pi_{\theta}(o_{i,t}\mid q,o_{i,<t})\right],\end{aligned} JREINFORCE(θ)=E(q,a)D,oiπθold(q) oi1t=1oisg(ri,t(θ))A^i,tlogπθ(oi,tq,oi,<t) ,

其中 sg ( ⋅ ) \text{sg}(\cdot) sg() 表示停止梯度操作。与 PPO/GRPO 中裁剪令牌更新不同,我们转而裁剪方程 3 中的重要性采样权重以稳定训练。我们将我们的方法称为 CISPO(裁剪 IS 权重策略优化)。采用 GRPO 的组相对优势和令牌级损失(Liu 等人,2025b;Yu 等人,2025),CISPO 优化以下目标函数:

J C I S P O ( θ ) = E ( q , a ) ∼ D , { o i } i = 1 G ∼ π θ o l d ( ⋅ ∣ q ) [ 1 ∑ i = 1 G ∣ o i ∣ ∑ i = 1 G ∑ t = 1 ∣ o i ∣ s g ( r ^ i , t ( θ ) ) A ^ i , t log ⁡ π θ ( o i , t ∣ q , o i , < t ) ] , \begin{align*}\mathcal{J}_{\mathrm{CISPO}}(\theta)&=\mathbb{E}_{(q,a)\sim\mathcal{D},\{o_i\}_{i=1}^G\sim\pi_{\theta_{\mathrm{old}}}(\cdot|q)}\\&\left[\frac{1}{\sum_{i=1}^G|o_i|}\sum_{i=1}^G\sum_{t=1}^{|o_i|}\mathtt{sg}(\hat{r}_{i,t}(\theta))\hat{A}_{i,t}\log\pi_{\theta}(o_{i,t}\mid q,o_{i,<t})\right],\end{align*} JCISPO(θ)=E(q,a)D,{oi}i=1Gπθold(q) i=1Goi1i=1Gt=1oisg(r^i,t(θ))A^i,tlogπθ(oi,tq,oi,<t) ,

其中 r ^ i , t ( θ ) \hat{r}_{i,t}(\theta) r^i,t(θ) 是裁剪后的 IS 权重:

r ^ i , t ( θ ) = c l i p ( r i , t ( θ ) , 1 − ϵ l o w I S , 1 + ϵ h i g h I S ) . \hat{r}_{i,t}(\theta)=\mathrm{c l i p}\left(r_{i,t}(\theta),1-\epsilon_{l o w}^{I S},1+\epsilon_{h i g h}^{I S}\right). r^i,t(θ)=clip(ri,t(θ),1ϵlowIS,1+ϵhighIS).

我们注意到,如果没有权重裁剪, J CISPO \mathcal{J}_{\text{CISPO}} JCISPO 就简化为标准的策略梯度目标函数。在我们的实验中,我们没有通过将 ϵ l o w I S \epsilon_{l o w}^{I S} ϵlowIS 设置为一个较大的值来对 IS 权重施加下限;相反,我们只调整了 ϵ h i g h I S \epsilon_{h i g h}^{I S} ϵhighIS。尽管由于权重裁剪,方程 4 的梯度略有偏差,但这种方法保留了所有令牌的梯度贡献,特别是在长响应中。CISPO 在我们的实验中证明是有效的,有助于减少方差并稳定 RL 训练。此外,我们利用了 Yu 等人(2025)提出的动态采样和长度惩罚技术。CISPO 中没有与其他近期工作(Hu 等人,2025;Yu 等人,2025)类似的 KL 惩罚项。

一般形式:虽然我们在实验中采用了 CISPO,但在这里我们通过将令牌级掩码引入 CISPO 目标函数,进一步提出了一种统一的形式。这允许通过超参数调整来控制是否以及在什么条件下应丢弃特定令牌的梯度:

J u n i f y ( θ ) = E ( q , a ) ∼ D , { o i } i = 1 G ∼ π θ o l d ( ⋅ ∣ q ) [ 1 ∑ i = 1 G ∣ o i ∣ ∑ i = 1 G ∑ t = 1 ∣ o i ∣ s g ( r ^ i , t ( θ ) ) A ^ i , t log ⁡ π θ ( o i , t ∣ q , o i , < t ) M i , t ] . \begin{aligned}\mathcal{J}_{\mathrm{unify}}(\theta)&=\mathbb{E}_{(q,a)\sim\mathcal{D},\{o_i\}_{i=1}^G\sim\pi_{\theta_{\mathrm{old}}}(\cdot\mid q)}\\&\left[\frac{1}{\sum_{i=1}^G|o_i|}\sum_{i=1}^G\sum_{t=1}^{|o_i|}\mathtt{sg}(\hat{r}_{i,t}(\theta))\hat{A}_{i,t}\log\pi_{\theta}(o_{i,t}\mid q,o_{i,<t})M_{i,t}\right].\end{aligned} Junify(θ)=E(q,a)D,{oi}i=1Gπθold(q) i=1Goi1i=1Gt=1oisg(r^i,t(θ))A^i,tlogπθ(oi,tq,oi,<t)Mi,t .

掩码 M i , t M_{i,t} Mi,t 等价于 PPO 信任区域中隐式定义的掩码:

M i , t = { 0 如果 A ^ i , t > 0 且 r i , t ( θ ) > 1 + ϵ h i g h , 0 如果 A ^ i , t < 0 且 r i , t ( θ ) < 1 − ϵ l o w , 1 其他情况 . M_{i,t}=\begin{cases}{0}&{\mathrm{如果}\;\hat{A}_{i,t}>0\;\mathrm{且}\;r_{i,t}(\theta)>1+\epsilon_{\mathrm{h i g h}},}\\ {0}&{\mathrm{如果}\;\hat{A}_{i,t}<0\;\mathrm{且}\;r_{i,t}(\theta)<1-\epsilon_{\mathrm{l o w}},}\\ {1}&{\mathrm{其他情况}.}\end{cases} Mi,t= 001如果A^i,t>0ri,t(θ)>1+ϵhigh,如果A^i,t<0ri,t(θ)<1ϵlow,其他情况.

这种统一的损失函数形式可以在一个共同的框架下灵活地表示不同的裁剪策略。

CISPO 的经验验证:为验证 CISPO 的有效性,我们在零 RL 训练设置中将其与 DAPO 和 GRPO 进行了经验比较。具体来说,我们将不同的 RL 算法应用于在 Yu 等人(2025)的数学推理数据集上训练 Qwen2.5-32B-base 模型,并在 AIME 2024 基准上报告性能。如图 2 所示,CISPO 在相同训练步数下显著优于 DAPO 和 GRPO。值得注意的是,CISPO 显示出比其他方法更高的训练效率;例如,它仅使用 50% 的训练步数就达到了与 DAPO 相当的性能。

3.2. 利用闪电注意力高效扩展强化学习(RL)——挑战与解决方案

如图1(右)所示,我们强调,与传统注意力设计相比,我们的混合注意力在本质上能够实现更高效的强化学习扩展,因为在强化学习训练中,展开计算和延迟往往是主要的瓶颈。然而,作为使用这种新颖架构开展大规模强化学习实验的先驱,我们遇到了独特的挑战,并制定了针对性的解决方案,具体如下所述。

生成与训练过程中的计算精度不匹配。强化学习训练对计算精度高度敏感。在我们的强化学习训练过程中,我们观察到训练模式和推理模式下展开标记(token)的概率存在显著差异,如图3(左)所示。这种差异源于训练内核和推理内核之间的精度不匹配。这一问题是有害的,在我们的实验中阻碍了奖励的增长。有趣的是,这一问题并未出现在使用softmax注意力的小型密集模型中。通过逐层分析,我们发现语言模型(LM)输出层头部的高幅度激活是误差的主要来源。为了解决这一问题,我们将LM输出头的精度提高到FP32,从而重新对齐理论上相同的两个概率,如图3(右)所示。这一调整将训练和推理概率之间的相关性从大约0.9x提高到了

Image
图3 | 训练模式代码中的标记概率与推理模式代码中的标记概率。图中的每个点代表一个单独的标记。图中标注了皮尔逊相关系数。理论上,这两个概率应该相同,所有标记都应恰好位于对角线上。左图:M1模型在修复前的相关性;右图:M1模型在采用我们对LM输出头使用FP32精度的修复后的相关性。

0.99x。值得注意的是,在整个训练过程中,这一相关性指标保持稳定,从而实现了奖励的成功增加。

优化器超参数敏感性。我们采用AdamW(Loshchilov和Hutter,2019)优化器,而 β 1 \beta_{1} β1 β 2 \beta_{2} β2 e \mathrm{e} e的不当配置可能导致训练过程中不收敛(Molybog等人,2023)。例如,使用VeRL(Sheng等人,2024)中的默认配置,其中 b e t a s = ( 0.9 , 0.999 ) \mathrm{betas}=(0.9,0.999) betas=(0.9,0.999) e p s = 1 e − 8 \mathrm{eps}=1\mathrm{e-}8 eps=1e8,就可能导致此类问题。我们观察到,在MiniMax-M1训练中,梯度幅值范围很广,从1e-18到1e-5不等,且大多数梯度小于1e-14。此外,相邻迭代之间的梯度相关性较弱。基于此,我们设置 β 1 = 0.9 \beta_{1}=0.9 β1=0.9 β 2 = 0.95 \beta_{2}=0.95 β2=0.95 e p s = 1 e − 15 \mathrm{eps}=1\mathrm{e-}15 eps=1e15

通过重复检测实现早期截断。在强化学习训练过程中,我们发现复杂的提示可能引发病态的长且重复的响应,其较大的梯度威胁着模型的稳定性。我们的目标是预先终止这些生成循环,而不是对已经重复的文本进行惩罚。由于简单的字符串匹配对各种重复模式无效,我们开发了一种基于标记概率的启发式方法。我们观察到,一旦模型进入重复循环,每个标记的概率就会飙升。因此,我们实施了一条早期截断规则:如果连续3000个标记的概率都高于0.99,则停止生成。这种方法成功地防止了模型的不稳定性,并通过消除这些病态的长尾情况提高了生成吞吐量。

4. 利用多样化数据扩展强化学习

在本节中,我们将描述在强化学习阶段采用的数据和奖励。我们在强化学习训练流程中整合了多样化的环境,包括可以通过规则验证的任务和需要通过奖励模型验证的一般任务。所有这些环境都通过精心设计的课程整合到强化学习阶段中。

4.1. 基于规则验证的推理密集型任务

下面,我们介绍可以通过确定性规则验证的数据。对于以下所有任务,我们都采用基于规则的最终正确性作为正确性奖励,并辅以格式奖励。

数学推理。我们最初的数学数据集包含数十万个高质量、竞赛级别的问题,这些问题从公共来源和官方数学竞赛中精心挑选和组织而来。这些问题涵盖了广泛的难度级别,每个问题都配有一个标准参考解决方案。我们的数据清理流程首先移除不完整的样本以及存在格式或排版错误的样本。随后,我们在强化学习数据源之间应用基于嵌入的重复数据删除,并强制与监督微调(SFT)数据集严格分离,以避免任何重叠,因为从SFT阶段泄露到强化学习阶段会阻碍探索并削弱训练效果。此外,我们还采用n-gram和基于嵌入的方法来消除可能受到常用数学基准测试集污染的数据,从而确保评估的完整性和公平性。我们过滤掉包含多个子问题、基于证明的问题以及容易随机猜测的二元问题(例如,真/假)。我们将选择题重新表述为开放式格式,以更好地与我们的强化学习框架相契合。接下来,我们使用内部模型从参考解决方案中提取最终答案,仅保留那些提取的答案能够被我们的基于规则的答案检查器正确解析的样本。最后,我们使用一个强大的推理模型来计算每个问题的pass@10(即模型在10次采样中至少有一次给出正确答案的概率),并仅保留通过率严格在0到0.9之间的样本,从而为我们的强化学习训练生成了一个包含近5万个高质量数学样本的精选数据集。

逻辑推理。对于逻辑推理数据,我们精心挑选了41个需要非平凡推理能力的逻辑推理任务,如密码和数独,然后我们实现了一个数据合成框架来合成所有数据。具体来说,我们利用我们的SynLogic框架(Liu等人,2025a)来实现数据合成流程,该流程具有特定任务的数据生成器和基于规则的特定任务验证器,从而实现了自动逻辑数据生成。我们在生成过程中精心配置难度参数,确保生成的数据具有适当的学习挑战性。具体来说,为了防止包含过于困难的实例,我们基于当前强大推理模型的求解极限设定了一个上限难度,要求它们的pass@10率大于零。同样地,我们使用MiniMax-Text-01模型达到0到0.5通过率的最低难度参数来设定下限难度。这种方法确保了数据在难度和可学习性之间保持平衡。此外,随着模型在训练过程中能力的提升,我们在后期阶段增加了数据的难度。使用这个框架,我们合成了大约5.3万个逻辑推理样本用于强化学习训练。

竞赛编程。对于竞赛编程问题,我们从在线评测平台和流行的编程网站上收集公开可用的问题。对于缺乏测试用例的问题,我们开发了一个基于大语言模型(LLM)的工作流程,并使用MiniMax-Text-01模型生成全面的测试套件。与我们对数学推理数据集的方法类似,我们根据模型采样的通过率基于质量和难度来过滤问题,保留适度具有挑战性和高质量的算法问题。通过这个过程,我们生成了3万个竞赛编程数据样本用于强化学习训练。

软件工程。在软件工程领域,受SWE-bench(Jimenez等人,2024)的启发,我们通过利用来自公共GitHub仓库的真实数据来构建可验证的强化学习环境。我们的数据集主要包括问题和拉取请求(PRs),这些请求封装了常见的软件开发挑战,包括错误定位、代码修复和测试用例合成。为了促进有效的强化学习,我们开发了一个复杂的容器化沙盒环境,该环境模拟了现实的软件开发工作流程。这个环境允许实际执行代码,为智能体提出的干预措施的正确性和有效性提供直接且可验证的反馈。预定义或新生成的测试用例的通过/失败状态作为我们强化学习框架的主要奖励信号。成功执行并通过所有相关测试用例将获得正奖励,而编译错误、运行时失败或测试用例回归将导致零或负奖励,从而为策略优化提供明确的信号。通过这个过程,我们精选了数千个高质量的数据样本。每个样本都包括一个问题描述(例如,来自问题的错误报告)、初始的错误代码以及一组相关的测试用例。这种设置允许我们的强化学习智能体学习准确地定位错误、提出正确的代码修复方案,甚至合成新的、有效的测试用例,其性能可以通过我们沙盒环境中的执行直接验证。

4.2. 基于模型反馈的一般领域任务

在本节中,我们将强化学习的范围进一步扩展到更广泛的一般领域任务。由于这些任务无法通过规则轻松验证,因此我们使用奖励模型来提供反馈。

4.2.1. 数据和奖励模型

我们的一般强化学习数据集总共包含2.5万个复杂样本。这些样本可以大致分为两类:具有真实答案但难以使用规则验证的样本,以及没有真实答案的样本。

具有真实答案的任务。这一类别主要包括STEM和其他事实性问题,其中答案是客观的,但可能有多种有效的表达方式。这种多样性往往使得基于规则的答案检查器不准确。我们的数据清理过程与数学推理中使用的类似,但我们使用生成式奖励模型(GenRM)作为验证器,而不是依赖基于规则的检查器。为了评估真实答案与模型响应之间的一致性,我们采用了一个五级奖励量表来评估这两个组成部分。首先,我们构建了一个人工标注的奖励模型基准,该基准涵盖了广泛的知识和任务领域中的一系列客观任务,特别是那些基于规则的检查器无法准确判断的模型响应-真实答案对。其次,我们通过比较GenRM选择的Best-of-N(BoN)响应与几个基准上的pass@N指标来评估GenRM的有效性。GenRM的性能通过其在人工标注基准上的准确性和BoN与pass@N之间的性能差距来评估。这些指标指导实验以优化GenRM训练期间使用的数据分布和提示设计。

没有真实答案的任务。这一类别涵盖了更广泛的任务,包括指令遵循、创意写作等。提示基于我们的内部标签系统从大型池中采样,确保在细粒度域上实现平衡的训练分布。尽管这些查询通常是开放式的,没有真实答案,但我们试图为每个查询配对一个参考答案,作为奖励模型判断的参考。为此,我们首先通过各种内部和外部模型生成响应,然后这些参考答案将接受我们的内部质量评估。在强化学习训练过程中,我们采用成对比较框架来评估模型响应。每次比较都会产生-1、0或1的分数,表示模型输出比参考答案更差、相似或更好。对于特别具有约束条件的指令遵循任务,我们同时使用基于规则的奖励来评估响应是否满足约束条件,以及基于模型的奖励来评估响应的质量。与具有真实答案的设置一样,我们首先构建一个人工标注的基准,融入来自可靠标注者的多个盲偏好判断。然后,我们优化评分标准和偏好提示以提高准确性以及潜在的偏差,这将在4.2.2中提及。

为了最小化潜在的偏差,训练数据还通过多种方法进行优化,如多重盲一致性判断、位置交换一致性判断等。一旦训练出最优的GenRM,就会在训练数据集上执行瑞士轮评分系统,以确定最适合强化学习训练的参考答案。

4.2.2. 解决长思维链生成式奖励模型的偏差问题

对于复杂的思维链(Chain of Thought,简称CoT)推理任务,有效的通用强化学习(Reinforcement Learning,简称RL)高度依赖于准确且无偏的奖励模型。评估此类思维链响应颇具挑战性,我们发现生成式奖励模型(Generative Reward Models,简称GenRMs)更倾向于较长的输出,而非可能更优的简洁替代方案,无论实际推理质量如何。这种长度偏差是一个重大问题,因为它可能会严重误导RL策略优化,鼓励冗长而无实质内容,并引发奖励黑客行为(reward hacking)。我们最初为提高GenRM保真度所做的努力包括标准的离线策略:(1)通过广泛的响应长度、来源和质量层级来丰富训练数据;(2)纳入对抗性示例以暴露漏洞;(3)优化模型架构。然而,实证分析表明,在RL训练过程中,纯粹的离线评估和预先防范GenRMs中的长度偏差,往往无法防止长度偏差的出现。

因此,我们的核心策略是在RL训练期间对长度偏差进行持续的在线监测。我们制定了特定的指标,用于检测RL策略是否不成比例地延长输出长度,以在不提高任务成功率或推理深度的情况下最大化GenRMs的奖励。一旦检测到这种有害的长度追求行为(表明利用了GenRMs的长度偏差),就会立即触发GenRMs的重新校准。这种迭代调整对于预先防范与输出长度相关的奖励黑客行为至关重要,确保策略优先提升实质性能力,而非表面上的文本膨胀。除了这种自适应方法外,我们还系统地采用了RL侧技术,包括奖励塑形(reward shaping)、值裁剪(value clipping)和归一化。这些机制使奖励信号对表面特征(如长度)的极端值不敏感,从而将策略优化引导至长思维链推理的实质性质量和正确性上。

4.3. 融入多样化数据的课程学习

鉴于我们的RL数据涵盖了广泛的类别,核心挑战在于训练一个能够在推理密集型任务和通用领域任务上都表现出色的单一策略。为了解决这一问题,我们的方法是在使用CISPO进行RL训练的过程中,对推理任务和通用领域任务采用精心管理的课程学习和动态加权策略:我们首先从仅包含基于规则奖励的推理密集型任务开始,然后逐渐融入通用领域任务。这确保了模型在不断提高其在从复杂指令遵循到开放式思维链推理等各种通用任务上的性能的同时,继续完善其可验证的技能(例如,数学和代码方面的技能)。这种混合RL训练鼓励模型学习根据上下文应用其推理能力——对可验证的问题采用严谨、逐步的推理,对一般查询则采用更灵活、自适应的生成方式——所有这些都在一个统一的策略框架内进行。这既防止了专业技能的灾难性遗忘,又促进了更广泛的泛化能力。

5. 将RL扩展到更长的思考过程

我们的首次RL训练是在输出长度限制为40K标记的情况下进行的。鉴于M1的混合架构天然支持近乎线性的长序列扩展(如图1(右)所示),我们在RL训练期间将生成长度进一步扩展到80K标记。由此产生了一个新模型,我们称之为MiniMax-M1-80k。

数据。为了高效地训练我们的RL模型以实现80K的输出长度,我们利用之前训练好的40K模型来指导数据过滤过程。首先,我们评估第4节中描述的精选数据集的通过率,并移除容易解决的样本。然后,我们调整数据分布,以更倾向于更具挑战性的示例,如困难的数学和编程问题。此外,在观察到合成推理数据会破坏长上下文RL训练的稳定性后,我们对其进行了下采样。具体而言,从这种数据类型生成的输出往往变得重复且同质化,持续接触这些模式对模型的整体性能有害。

长度扩展策略。为了逐步增加输出长度,我们采用了分阶段窗口扩展RL策略。我们从40K的输出长度开始,逐步将其扩展到48K、56K、64K、72K,最终达到80K。这种分阶段的方法确保了每一步的训练稳定性。向后续长度的过渡由一组经验指标决定。这些指标包括生成序列的困惑度收敛情况,以及输出长度的第99百分位数是否接近当前上下文窗口限制。这些信号为我们提供了模型扩展能力的宝贵见解,使我们能够在整个过程中保持稳健的训练。解决扩展过程中的训练不稳定性。在扩展过程中,我们在每个长度窗口的训练后期遇到了一个关键问题。具体而言,模型表现出模式崩溃的倾向,即生成序列的后半部分退化为不连贯或混乱的文本。这种现象与困惑度增加相一致,表明生成质量和稳定性受到损害。我们确定了根本原因:在输出长度扩展过程中,负样本的长度增加速度远远快于正样本,往往更早达到上下文窗口限制。因此,在生成序列的后半部分积累了不成比例的负梯度。这种不平衡源于GRPO的优势归一化本质上的不平等性以及我们采用的标记级损失。为了解决这一问题,我们实施了三个关键解决方案:(1)通过提前停止检测重复模式(连续的高概率标记),以防止重复响应过度消耗上下文窗口;(2)采用样本级损失和标记级归一化相结合的方法,以缓解负正样本不平衡并减轻不利影响;(3)降低梯度裁剪阈值和 ϵ h i g h I S \epsilon_{h i g h}^{I S} ϵhighIS,以进一步稳定生成。

6. 评估

6.1. 核心基准测试

我们在多个关键领域对MiniMax-M1进行了全面评估,包括数学、通用编程、软件工程、推理与知识、长上下文、智能体工具使用、事实性和通用助手能力。我们使用温度参数 1.0 1.0 1.0 t o p − p top-p topp采样 0.95 0.95 0.95来评估所有任务。

数学:为评估数学推理能力,我们使用了多个竞赛级别的数学基准测试,包括MATH-500(Hendrycks等人,2021年)、AIME 2024和AIME 2025。对于AIME评估,我们采样32次,并计算平均通过率作为最终得分。

通用编程:我们使用LiveCodeBench(Jain等人,2025年)和FullStackBench(Liu等人,2024年)来评估通用编程能力,这两个基准测试涵盖了各种编程任务的代码生成。对于这两个基准测试,我们报告的得分是16个样本的平均通过率。

推理与知识:我们通过GPQA-Diamond(Rein等人,2024年)、MMLU-Pro(Wang等人,2024年)和具有挑战性的HLE基准测试(Phan等人,2025年)来评估领域知识和推理能力。对于GPQA-Diamond,我们采样32次并报告平均通过率。对于HLE评估,我们在不使用外部工具的情况下评估模型。此外,我们还使用ZebraLogic(Lin等人,2025年)来衡量逻辑推理能力。

软件工程:我们使用SWE-bench Verified(Jimenez等人,2024年)来评估软件工程能力,该基准测试衡量解决实际GitHub问题的能力。我们报告的结果来自无智能体框架(Xia等人,2024年)。与原始流程不同,我们的方法采用两阶段定位过程(不使用任何基于嵌入的检索机制):首先是粗粒度文件定位,然后是特定文件和代码元素的细粒度定位。

长上下文:我们使用OpenAI-MRCR(OpenAI,2024b年)来评估长上下文理解能力,该测试在扩展上下文中测试多个相似项目的检索和消歧能力,以及LongBench-v2(Bai等人,2024年),这是一个具有503道选择题的具有挑战性的基准测试,上下文范围从8k到2M个单词。

智能体工具使用:我们通过TAU-bench(Yao等人,2025年)来评估工具使用能力,该基准测试模拟了智能体在遵循领域特定策略指南的同时必须使用API工具的动态对话。我们使用GPT-4.1作为用户模型、通用系统提示2且不使用任何自定义工具来评估TAU-bench。最大交互步数为40。

事实性:为衡量大型语言模型的事实性,我们使用SimpleQA(Wei等人,2024年),这是一个对抗性收集的事实性问答基准测试,包含单一且无可争议的答案。

通用助手:我们使用MultiChallenge(Sirdeshmukh等人,2025年)来评估通用助手能力,该基准测试评估大型语言模型与人类用户进行现实多轮对话的能力。我们报告的得分由GPT-4o评判。

数学、编程和其他通用任务的结果。表2展示了我们的模型与最先进的大型推理模型的性能对比。在数学推理方面,MiniMax-M1模型在多个基准测试中表现出色,取得了与近权重模型Seed-Thinking-v1.5(Seed等人,2025年)相当的结果。值得注意的是,MiniMax-M1-80k在AIME 2024上取得了86.0%的成绩,在开放权重模型中排名第二,仅次于最新的DeepSeek-R1-0528模型。在通用编程方面,MiniMax-M1-80k在LiveCodeBench上与Qwen3-235B持平,同时在FullStackBench上超越了它,展示了在领先开放权重模型中的强大能力。在推理与知识基准测试中,MiniMax-M1-80k同样落后于DeepSeek-R1-0528,但与其他顶级开放权重模型相比具有竞争力。在事实性基准测试SimpleQA上,Minimax-M1模型的表现不如DeepSeek-R1,但优于所有其他开放权重模型和Seed-Thinking-v1.5。在MultiChallenge上,两个MiniMax模型的表现与DeepSeek-R1-0528和Claude 4 Optus相当,仅次于o3和Gemini-2.5-Pro。

复杂场景中的亮点:软件工程、长上下文和工具使用。得益于我们在强化学习(RL)期间基于执行的软件工程环境,MiniMax-M1-40k和MiniMax-M1-80k在SWE-bench verified上分别取得了55.6%和56.0%的优异成绩。这些结果略低于DeepSeek-R1-0528的57.6%,但显著超过了其他开放权重模型。利用其1M上下文窗口,M1模型在长上下文理解方面显著优于所有其他开放权重模型。它们甚至超越了OpenAI o3和Claude 4Opus,在全球排名第二,仅以微小差距落后于Gemini 2.5 Pro。在智能体工具使用场景(TAU-bench)中,MiniMax-M1-40k超越了所有开放权重模型,甚至超越了Gemini-2.5Pro。此外,MiniMax-M1-80k在大多数基准测试中始终优于MiniMax-M1-40k,证实了扩展测试时计算量的好处。

6.2. 强化学习(RL)扩展的影响

为研究强化学习(RL)扩展的影响,我们在整个训练过程中跟踪性能和响应长度。图4分别展示了来自AIME 2024、AIME 2025和LiveCodeBench v5的三个代表性示例。我们观察到,在训练过程中,模型性能和响应长度均持续提高。值得注意的是,AIME和LiveCodeBench上的平均响应长度超过了20,000个标记,AIME 2024的准确率从68%大幅提高到80%。重要的是,这些可视化中准确率提高与响应长度增加之间的强相关性强调了扩展强化学习(RL)以促进更广泛推理过程的重要性。

Image
图4 | MiniMax-M1的准确率和生成长度与强化学习(RL)训练步数的关系。

7. 结论与未来工作

在本研究中,我们介绍并发布了MiniMax-M1,这是世界上第一个具有闪电注意力机制的开放权重、大规模推理模型。这种高效的注意力设计使MiniMax-M1能够原生支持长达1M个标记的输入和80K个标记的生成长度,这两项能力均显著超过了其他开放权重模型。这些能力使MiniMax-M1特别适合需要长上下文和扩展推理的复杂、现实场景,这一点在其软件工程、智能体工具使用和长上下文理解基准测试中的出色表现中得到了实证验证。除了闪电注意力在强化学习(RL)训练中的固有效率优势外,本研究还提出了一种新颖的强化学习(RL)算法CISPO来加速训练。结合架构优势和CISPO,我们高效地训练了MiniMax-M1,使用512块H800 GPU在三周内完成了完整的强化学习(RL)训练。在全面评估中,MiniMax-M1与DeepSeek-R1和Qwen3-235B一起跻身世界上最好的开放权重模型之列。

展望未来,随着测试时计算量不断增加以支持越来越复杂的场景,我们预计这种高效架构在解决现实世界挑战方面具有巨大潜力。这些挑战包括自动化公司工作流程(Xu等人,2025年)和开展科学研究(OpenAI,2025年;Si等人,2024年)。现实世界的应用特别需要能够作为智能体与环境、工具、计算机或其他智能体交互的大型语言模型,这需要在数十到数百轮对话中进行推理,同时整合来自不同来源的长上下文信息。我们设想MiniMax-M1将作为此类应用的强大基础,具有独特优势,我们将全力致力于进一步推动MiniMax-M1朝着这一目标发展。

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

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

相关文章

Appium+python自动化(二十六) -Toast提示

在日常使用App过程中&#xff0c;经常会看到App界面有一些弹窗提示&#xff08;如下图所示&#xff09;这些提示元素出现后等待3秒左右就会自动消失&#xff0c;那么我们该如何获取这些元素文字内容呢&#xff1f; Toast简介 Android中的Toast是一种简易的消息提示框。 当视图…

【信号与系统三】离散时间傅里叶变换

上一讲我们讲述了连续时间傅里叶变换&#xff0c;这一讲同理来个离散时间傅里叶变换。 和上讲模块类似 5.1离散时间傅里叶变换 这一式子就是离散时间傅里叶变换对 5.2周期信号的傅里叶变换 同理&#xff0c;由于之前第一讲讲到&#xff1a; 可以推出&#xff1a; 举个例子&am…

Python应用石头剪刀布练习初解

大家好!作为 Python 初学者&#xff0c;寻找一个既简单又有趣的项目来练习编程技能是至关重要的。今天&#xff0c;我将向大家介绍一个经典的编程练习——石头剪刀布游戏&#xff0c;它可以帮助你掌握 Python 的基本概念&#xff0c;如条件语句、随机数生成和用户输入处理等。 …

私有规则库:企业合规与安全的终极防线

2.1 为什么企业需要私有规则库?——合规与安全的最后防线 真实案例:2023年某跨境电商因员工泄露内部检测规则,导致黑产绕过风控系统,损失1200万+ 企业规则库的三大刚需: 行业合规: 金融行业需符合《个人金融信息保护技术规范》 医疗行业需满足HIPAA患者数据脱敏要求 业…

长尾关键词优化SEO核心策略

内容概要 本文旨在系统解析长尾关键词在搜索引擎优化中的核心地位&#xff0c;为读者提供从理论到实践的全面指南。文章首先探讨长尾关键词的基础作用&#xff0c;帮助理解其在提升网站流量质量中的价值。接着&#xff0c;深入介绍精准定位低搜索量、高转化率关键词的策略&…

腾讯云事件总线:构建毫秒级响应的下一代事件驱动架构

摘要 事件总线&#xff08;EventBridge&#xff09;作为云原生架构的核心枢纽&#xff0c;其性能与可靠性直接影响企业系统弹性。腾讯云事件总线基于TGW云网关底层能力重构&#xff0c;实现单节点吞吐量提升125%、故障恢复时间降至4秒级&#xff08;行业平均>30秒&#xff0…

PyTorch 中mm和bmm函数的使用详解

torch.mm 是 PyTorch 中用于 二维矩阵乘法&#xff08;matrix-matrix multiplication&#xff09; 的函数&#xff0c;等价于数学中的 A B 矩阵乘积。 一、函数定义 torch.mm(input, mat2) → Tensor执行的是两个 2D Tensor&#xff08;矩阵&#xff09;的标准矩阵乘法。 in…

Qt 解析复杂对象构成

Qt 解析复杂对象构成 dumpStructure 如 QComboBox / QCalendarWidget / QSpinBox … void Widget::Widget(QWidget* parent){auto c new QCalendarWidget(this);dumpStructure(c,4); }void Widget::dumpStructure(const QObject *obj, int spaces) {qDebug() << QString…

山姆·奥特曼:从YC到OpenAI,硅谷创新之星的崛起

名人说&#xff1a;路漫漫其修远兮&#xff0c;吾将上下而求索。—— 屈原《离骚》 创作者&#xff1a;Code_流苏(CSDN)&#xff08;一个喜欢古诗词和编程的Coder&#x1f60a;&#xff09; 山姆奥特曼&#xff1a;从YC到OpenAI&#xff0c;硅谷创新之星的崛起 在人工智能革命…

PHP语法基础篇(五):流程控制

任何 PHP 脚本都是由一系列语句构成的。一条语句可以是一个赋值语句&#xff0c;一个函数调用&#xff0c;一个循环&#xff0c;一个条件语句或者甚至是一个什么也不做的语句&#xff08;空语句&#xff09;。语句通常以分号结束。此外&#xff0c;还可以用花括号将一组语句封装…

怎么隐藏关闭或恢复显示输入法的悬浮窗

以搜狗输入法为例&#xff0c;隐藏输入法悬浮窗 悬浮窗在输入法里的官方叫法为【状态栏】。 假设目前大家的输入法相关显示呈现如下状态&#xff1a; 那我们只需在输入法悬浮窗&#xff08;状态栏&#xff09;的任意位置鼠标右键单击&#xff0c;调出输入法菜单&#xff0c;就…

Electron (02)集成 SpringBoot:服务与桌面程序协同启动方案

本篇是关于把springboot生成的jar打到electron里&#xff0c;在生成的桌面程序启动时springboot服务就会自动启动。 虽然之后并不需要这种方案&#xff0c;更好的是部署[一套服务端&#xff0c;多个客户端]...但是既然搭建成功了&#xff0c;也记录一下。 前端文件 1、main.js…

2025年计算机应用与神经网络国际会议(CANN 2025)

2025 International Conference on Computer Applications and Neural Networks &#xff08;一&#xff09;会议信息 会议简称&#xff1a;CANN 2025 大会地点&#xff1a;中国重庆 收录检索&#xff1a;提交Ei Compendex,CPCI,CNKI,Google Scholar等 &#xff08;二&#x…

振动分析中的低频噪声问题:从理论到实践的完整解决方案

前言 在振动监测和结构健康监测领域&#xff0c;我们经常需要从加速度信号计算速度和位移。然而&#xff0c;许多工程师在实际应用中都会遇到一个令人困扰的问题&#xff1a;通过积分计算得到的速度和位移频谱中低频噪声异常放大。 本文将深入分析这个问题的根本原因&#xf…

ncu学习笔记01——合并访存

全局内存通过缓存实现加载和存储过程。其中&#xff0c;L1为一级缓存&#xff0c;每个SM都有自己的L1&#xff1b;L2为二级缓存&#xff0c;L2则被所有SM共有。 数据从全局内存到SM的传输过程中&#xff0c;会去L1和L2中查询是否有缓存。对全局内存的访问将经过L1&#xff1b;…

2012 - 正方形矩阵

​​​​题目描述 晶晶同学非常喜欢方形&#xff0c;她希望打印出来的字符串也是方形的。老师给了晶晶同学一个字符串"ACM"&#xff0c;晶晶同学突发奇想&#xff0c;如果任意给定义一个整数n&#xff0c;能不能打印出由这个字符串组成的正方形字符串呢&#xff1f;…

C++中set的常见用法

在 C 里&#xff0c;std::set属于标准库容器的一种&#xff0c;其特性是按照特定顺序存储唯一的元素。下面为你详细介绍它的常见使用方法&#xff1a; 1. 头文件引入 要使用std::set&#xff0c;需要在代码中包含相应的头文件&#xff1a; #include <set> 2. 集合的定…

stm32移植freemodbus

1、设置串口 开启串口中断 2、设置定时器 已知在freemodbus中默认定义&#xff1a;当波特率大于19200时&#xff0c;判断一帧数据超时时间固定为1750us&#xff0c;当波特率小于19200时&#xff0c;超时时间为3.5个字符时间。这里移植的是115200&#xff0c;所以一帧数据超时…

鸿蒙next 使用canvas实现ecg动态波形绘制

该代码可在Arkts 与 前端使用&#xff0c;基于canvas 仓库地址&#xff1a;https://gitee.com/harmony_os_example/harmony-os-ecg-waveform.git 代码中的list数组为波形数据&#xff0c;该示例需要根据自己业务替换绘制频率&#xff0c;波形数据&#xff0c;ecg原始数据生成…

基于原生能力的键盘控制

基于原生能力的键盘控制 前言一、进入页面TextInput获焦1、方案2、核心代码 二、点击按钮或其他事件触发TextInput获焦1、方案2、核心代码 三、键盘弹出后只上抬特定的输入组件1、方案2、核心代码 四、监听键盘高度1、方案2、核心代码 五、设置窗口在键盘抬起时的页面避让模式为…