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

【字节跳动AI论文】海姆达尔:生成验证的测试时间扩展

摘要:人工智能系统只能在能够验证知识本身的范围内创建和维护知识。 最近关于长链推理的研究表明,LLM在解决竞争问题方面具有巨大的潜力,但它们的验证能力仍然很弱,而且没有得到充分的研究。 在本文中,我们提出了Heimdall,这是一个长CoT验证LLM,可以准确地判断解决方案的正确性。 通过纯强化学习,我们将竞争性数学问题的验证准确率从62.5%提高到94.5%。 通过重复采样进行缩放,准确率进一步提高到97.5%。 通过人工评估,海姆达尔展示了令人印象深刻的泛化能力,成功检测到具有挑战性的数学证明中的大多数问题,而这类问题在训练过程中是不包括在内的。 此外,我们提出悲观验证,以扩展Heimdall的功能,从而扩大问题解决的范围。 它调用海姆达尔(Heimdall)从求解器模型中判断解决方案,并根据悲观原则,选择不确定性最小、最有可能正确的解决方案。 以DeepSeek-R1-Distill-Qwen-32B为求解器模型,悲观验证将AIME2025的求解精度从54.2%提高到70.0%(计算预算为16倍),并在更多计算预算的情况下提高到83.3%。 使用更强大的求解器Gemini 2.5 Pro,得分达到93.0%。 最后,我们原型化了一个自动知识发现系统,这是一个三元系统,其中一个提出问题,另一个提供解决方案,第三个验证解决方案。 使用数据合成工作NuminaMath的前两个组件,Heimdall有效地识别了数据集中有问题的记录,并揭示出近一半的数据是有缺陷的,这有趣地与NuminaMath最近的消融研究相一致。Huggingface链接:Paper page,论文链接:2504.10337

研究背景与目的

研究背景

在人工智能和机器学习领域,大型语言模型(LLMs)已经展示了强大的问题解决能力,尤其是在复杂和竞争性的数学和代码问题上。随着长链推理(Chain-of-Thought, CoT)方法的发展,LLMs在逐步推理和生成解决方案方面取得了显著进步。然而,尽管LLMs在解决问题方面表现出色,但它们的验证能力却相对较弱,且尚未得到充分的研究。验证能力对于人工智能系统至关重要,因为它直接关系到系统生成知识的准确性和可靠性。特别是在科学发现和知识探索的过程中,验证和确认新知识的正确性是不可或缺的环节。

现有的验证方法主要依赖于规则基程序或专门的验证模型,但这些方法存在局限性。规则基程序往往难以处理复杂和多样化的验证任务,而专门的验证模型则受限于高质量验证数据的稀缺性。此外,直接利用LLMs进行验证也面临挑战,因为通用LLMs在验证复杂问题时表现不佳。

针对这些问题,本文提出了Heimdall,一个专注于长链推理验证的大型语言模型。Heimdall旨在通过强化学习训练,提高其在竞争性数学问题上的验证准确率,并探索其在更广泛问题上的泛化能力。同时,本文还提出了悲观验证方法,以扩展Heimdall在问题解决中的应用,特别是在计算资源有限的情况下,通过选择最可能正确的解决方案来提高问题解决的准确性和效率。

研究目的

本文的研究目的主要包括以下几个方面:

  1. 提出并训练Heimdall模型:开发一个专门用于长链推理验证的大型语言模型,通过强化学习提高其在竞争性数学问题上的验证准确率。

  2. 探索验证能力的测试时间扩展:研究如何通过重复采样和悲观验证等方法,在测试时间扩展Heimdall的验证能力,以处理更复杂和多样化的问题。

  3. 评估Heimdall的泛化能力:通过人工评估和在不同数据集上的测试,验证Heimdall在未经训练的问题类型(如数学证明)上的泛化能力。

  4. 原型化自动知识发现系统:利用Heimdall的验证能力,原型化一个自动知识发现系统,该系统能够提出问题、生成解决方案并验证解决方案的正确性。

研究方法

1. Heimdall模型的训练

  • 数据集构建:从AoPS网站和官方数学竞赛主页收集数学问题,并利用DeepSeek-R1-Distill-Qwen-32B模型生成解决方案。通过规则基程序检查解决方案的正确性,并构建验证数据集。

  • 强化学习设置:使用近端策略优化(PPO)算法训练Heimdall模型。在训练过程中,过滤掉极端困难或容易的问题,以避免模型学习到问题难度而非验证能力。

  • 验证提示模板:设计验证提示模板,要求模型逐步推理并验证解决方案的正确性,并在响应的最后一行给出结论。

2. 悲观验证方法

  • 问题定义:将解决方案选择过程概念化为多臂老虎机问题,其中每个解决方案对应一个臂,每次验证构成一次访问。

  • 选择算法:基于悲观原则,提出悲观验证算法,该算法在选择解决方案时考虑验证结果的不确定性,并倾向于选择验证次数多且结果一致的解决方案。

3. 实验评估

  • 验证能力评估:在AIME2024和AIME2025数据集上评估Heimdall的验证准确率,并通过重复采样进一步提高准确率。

  • 问题解决能力评估:结合不同求解器模型和验证算法,评估Heimdall在问题解决中的准确性和效率。

  • 泛化能力评估:通过人工评估,验证Heimdall在未经训练的数学证明问题上的泛化能力。

  • 自动知识发现系统原型:利用NuminaMath合成的数学问题和解决方案,原型化自动知识发现系统,并评估Heimdall在识别数据集中问题记录方面的有效性。

研究结果

1. 验证能力显著提升

  • 通过强化学习,Heimdall在竞争性数学问题上的验证准确率从62.5%提高到94.5%。通过重复采样,准确率进一步提高到97.5%。

  • 在未经训练的数学证明问题上,Heimdall也展示了令人印象深刻的泛化能力,成功检测到大多数问题。

2. 悲观验证的有效性

  • 悲观验证算法在选择解决方案时优于多数投票和基于奖励模型的最佳N选择算法,特别是在计算资源有限的情况下。

  • 以DeepSeek-R1-Distill-Qwen-32B为求解器模型,悲观验证将AIME2025的求解精度从54.2%提高到70.0%(计算预算为16倍),并在更多计算预算的情况下提高到83.3%。使用更强大的求解器Gemini 2.5 Pro,得分达到93.0%。

3. 自动知识发现系统的有效性

  • 在自动知识发现系统原型中,Heimdall有效地识别了数据集中有问题的记录,并揭示出近一半的数据是有缺陷的,这与NuminaMath最近的消融研究相一致。

研究局限

1. 数据集的局限性

  • 当前验证数据集主要基于竞争性数学问题,缺乏其他类型问题的验证数据,这可能限制Heimdall在更广泛问题上的泛化能力。

  • 数据集中解决方案的详细性和完整性可能影响Heimdall的验证性能,特别是当解决方案过于简洁或缺少关键步骤时。

2. 模型能力的局限性

  • 尽管Heimdall在竞争性数学问题上表现出色,但在处理更复杂和抽象的问题(如涉及高级数学或逻辑的问题)时,其性能可能下降。

  • 当前Heimdall模型主要依赖于单一变换器架构,可能无法充分利用多模态信息来提高验证性能。

3. 验证方法的局限性

  • 悲观验证方法在处理极端不确定性的情况下可能表现不佳,因为它倾向于选择验证次数多且结果一致的解决方案,而忽略了可能的罕见正确解决方案。

  • 验证过程可能受到求解器模型偏差的影响,导致在某些情况下选择错误的解决方案。

未来研究方向

1. 扩展数据集和验证任务

  • 收集更多类型和难度的验证数据,以训练更具泛化能力的Heimdall模型。

  • 探索在其他领域(如科学发现、编程任务等)中的验证任务,以评估Heimdall的通用性。

2. 提升模型架构和训练方法

  • 研究结合多模态信息的模型架构,以提高Heimdall在复杂问题上的验证性能。

  • 探索更先进的强化学习算法和训练策略,以进一步提高Heimdall的验证准确率和效率。

3. 改进验证方法

  • 开发更复杂的验证算法,以处理极端不确定性和求解器模型偏差的问题。

  • 结合人类反馈和解释性方法,提高Heimdall验证结果的可信度和可理解性。

4. 应用和集成

  • 将Heimdall集成到自动知识发现系统中,以提高系统生成知识的准确性和可靠性。

  • 探索Heimdall在其他人工智能应用中的潜力,如智能教育、自动编程和科学计算等。

通过上述研究方向的探索和实践,有望进一步提升Heimdall模型的验证能力和泛化能力,推动人工智能系统在知识发现和问题解决方面的应用和发展。

相关文章:

【字节跳动AI论文】海姆达尔:生成验证的测试时间扩展

摘要:人工智能系统只能在能够验证知识本身的范围内创建和维护知识。 最近关于长链推理的研究表明,LLM在解决竞争问题方面具有巨大的潜力,但它们的验证能力仍然很弱,而且没有得到充分的研究。 在本文中,我们提出了Heimd…...

【Datawhale Al春训营】气象预测(AI+航空安全)竞赛笔记

这里写自定义目录标题 欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants 创建一个自定义列表如何创建一个…...

大模型应用开发实战:AI Agent与智能体开发技术解析

更多AI大模型应用开发学习内容,尽在聚客AI学院 一、AI Agent的核心概念 AI Agent(智能体)是基于大模型构建的自主任务执行系统,能够根据用户指令拆解目标、调用工具、完成复杂任务(如数据分析、自动化办公&#xff09…...

《Learning Langchain》阅读笔记3-基于 Gemini 的 Langchain如何从LLMs中获取特定格式

纯文本输出是有用的,但在某些情况下,我们需要 LLM 生成结构化输出,即以机器可读格式(如 JSON、XML 或 CSV)或甚至以编程语言(如 Python 或 JavaScript)生成的输出。当我们打算将该输出传递给其他…...

Mac mini 安装mysql数据库以及出现的一些问题的解决方案

首先先去官网安装一下mysql数据库,基本上都是傻瓜式安装的流程,我也就不详细说了。 接下来就是最新版的mysql安装的时候,他就会直接让你设置一个新的密码。 打开设置,拉到最下面就会看到一个mysql的图标: 我设置的就是…...

智能体时代的产业范式确立,中国企业以探索者姿态走出自己的路

作者 | 曾响铃 文 | 响铃说 当前,一个新的20年的产业升级期已经开启,系统性的发展路径也正在形成。 前不久,以“共建智能体时代“为主题的超聚变探索者大会2025在河南郑州举办。超聚变变数字技术有限公司(以下简称:…...

电路安全智控系统与主机安全防护系统主要功能是什么

电路安全智控系统被称为电路安全用电控制系统。电路安全智控系统具备一系列强大且实用的功能。电路安全智控系统能够对总电压、总电流、总功率、总电能,以及各分路的电压、电流、功率、电能和功率因素等进行全方位的监控。在大型工厂的电力分配中,通过对…...

MCP Server驱动传统SaaS智能化转型:从工具堆叠到AI Agent生态重构,基于2025年技术演进与产业实践

MCP Server驱动传统SaaS智能化转型:从工具堆叠到AI Agent生态重构 (基于2025年技术演进与产业实践) MCP模型上下文协议 一、技术底座革新:MCP协议重构AI时代的"数字接口" 传统SaaS软件向大模型AI应用转型的核心矛盾…...

【工具变量】地市农业播种面积及粮食产量等21个相关指标(2013-2022年)

粮食产量、粮食播种面积及农作物播种面积等,是衡量农业发展水平和粮食安全的重要指标。随着全球粮食需求的持续增长,准确掌握这些数据对制定农业政策、优化生产结构和提高农业生产效率至关重要。因此,缤本次分享数据包括《中国统计NJ》、《中…...

使用 PySpark 批量清理 Hive 表历史分区

使用 PySpark 批量清理 Hive 表历史分区 在大数据平台中,Hive 表通常采用分区方式存储数据,以提升查询效率和数据管理的灵活性。随着数据的不断积累,历史分区会越来越多,既占用存储空间,也影响元数据管理性能。因此&a…...

A. k-th equality(1700)

Problem - 1835A - Codeforces Daily_CF_Problems/daily_problems/2025/04/0417/solution/cf1835a.md at main Yawn-Sean/Daily_CF_Problems 考虑所有形式为 abc 的等式,其中 a有 A 位数, b 有 B 位数, c 有 C 位数。所有数字都是正整数,求…...

深度学习-torch,全连接神经网路

3. 数据集加载案例 通过一些数据集的加载案例,真正了解数据类及数据加载器。 3.1 加载csv数据集 代码参考如下 import torch from torch.utils.data import Dataset, DataLoader import pandas as pd ​ ​ class MyCsvDataset(Dataset):def __init__(self, fil…...

echarts饼图中心呈现一张图片,并且能动态旋转的效果react组件

实现效果&#xff1a; 父组件&#xff1a; import React from react import styles from ./style.less import GaugeChart from ./GaugeChart;export default function index() {return (<div><div className{styles.bg} ></div><div style{{ width: 500…...

使用Docker搭建开源Email服务器

使用Docker搭建开源Email服务器 1 介绍 开源的Email服务器比较多&#xff0c;例如&#xff1a;poste.io、MailCatcher、Postal、mailcow等。由于poste.io支持docker安装&#xff0c;页面比较美观&#xff0c;使用简单&#xff0c;支持SMTP IMAP POP3等协议&#xff0c;安全…...

css图片设为灰色

使用filter方式将图片设置为灰色 普通图片使用&#xff1a;filter: saturate(0); 纯白图片使用&#xff1a; <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"width…...

2025 年第十五届 MathorCup竞赛赛题浅析-助攻快速选题

本届妈杯竞赛各赛题难度均已经达到了国赛难度&#xff0c;也更好的回应了大家更为关心的&#xff0c;在当前AI环境下&#xff0c;似乎“数学建模变成了AI使用竞赛一样”。但是国委会一直以来都是一个态度&#xff1a;AI现在是无法直接解决任何一个国赛赛题的。对应的如今这句话…...

【android bluetooth 案例分析 03】【PTS 测试 1】【pts基本介绍】

Bluetooth SIG&#xff08;Special Interest Group&#xff09;提供的 PTS&#xff08;Profile Tuning Suite&#xff09;测试 是蓝牙认证过程中一项极为关键的步骤。它主要用于验证设备是否符合 Bluetooth SIG 制定的各项 蓝牙规范&#xff08;Bluetooth Specification&#x…...

Java集合框架深度解析:HashMap、HashSet、TreeMap、TreeSet与哈希表原理详解

一、核心数据结构总览 1. 核心类继承体系 graph TDMap接口 --> HashMapMap接口 --> TreeMapSet接口 --> HashSetSet接口 --> TreeSetHashMap --> LinkedHashMapHashSet --> LinkedHashSetTreeMap --> NavigableMapTreeSet --> NavigableSet 2. 核心…...

【深度学习】张量计算:爱因斯坦求和约定|tensor系列03

博主简介&#xff1a;努力学习的22级计算机科学与技术本科生一枚&#x1f338;博主主页&#xff1a; Yaoyao2024往期回顾&#xff1a;【深度学习】详解矩阵乘法、点积&#xff0c;内积&#xff0c;外积、哈达玛积极其应用|tensor系列02每日一言&#x1f33c;: “岱宗夫如何&…...

OpenHarmony-Risc-V上运行openBLAS中的benchmark

OpenHarmony-Risc-V上运行openBLAS中的benchmark 文章目录 OpenHarmony-Risc-V上运行openBLAS中的benchmark前言一、编译openBLAS1.源码下载2.工具链下载3.编译并安装openBLAS 二、编译open BLAS中的benchmark三、上设备运行总结 前言 参考https://zhuanlan.zhihu.com/p/18825…...

CCF CSP 第36次(2024.12)(2_梦境巡查_C++)

CCF CSP 第36次&#xff08;2024.12&#xff09;&#xff08;2_梦境巡查_C&#xff09; 解题思路&#xff1a;思路一&#xff1a; 代码实现代码实现&#xff08;思路一&#xff09;&#xff1a; 时间限制&#xff1a; 1.0 秒 空间限制&#xff1a; 512 MiB 原题链接 解题思路…...

windows下安装mcp servers

以sequential-thinking为例 macos下安装就像github readme中那样安装即可&#xff1a; {"mcpServers": {"sequential-thinking": {"command": "npx","args": ["-y","modelcontextprotocol/server-sequenti…...

OpenGauss 数据库介绍

OpenGauss 数据库介绍 OpenGauss 是华为基于 PostgreSQL 开发的企业级开源关系型数据库&#xff0c;现已成为开放原子开源基金会的项目。以下是 OpenGauss 的详细介绍&#xff1a; 一 核心特性 1.1 架构设计亮点 特性说明优势多核并行NUMA感知架构充分利用现代CPU多核性能行…...

Web3区块链网络中数据隐私安全性探讨

在这个信息爆炸的时代&#xff0c;Web3 的概念如同一股清流&#xff0c;以其去中心化、透明性和安全性的特点&#xff0c;为数据隐私保护提供了新的解决方案。本文将探讨 Web3 区块链网络中数据隐私的安全性问题&#xff0c;并探索如何通过技术手段提高数据隐私的保护。 Web3 …...

linux驱动之poll

驱动中 poll 实现 在用户空间实现事件操作的一个主要实现是调用 select/poll/epoll 函数。那么在驱动中怎么来实现 poll 的底层呢&#xff1f; 其实在内核的 struct file_operations 结构体中有一个 poll 成员&#xff0c;其就是底层实现的接口函数。 驱动中 poll 函数实现原…...

【最后203篇系列】028 FastAPI的后台任务处理

说明 今天偶然在别的文章里看到这个功能&#xff0c;突然觉得正好。 CeleryWorker已经搭好了&#xff0c;但是我一直想在用户请求时进行额外的处理会比较影响处理时间&#xff0c;用这个正好可以搭配上。 我设想的一个场景&#xff1a; 1 用户发起请求2 接口中进行关键信息…...

微信小程序中,将搜索组件获取的值传递给父页面(如 index 页面)可以通过 自定义事件 或 页面引用 实现

将搜索组件获取的值传递给父页面&#xff08;如 index 页面&#xff09;可以通过 自定义事件 或 页面引用 实现 方法 1&#xff1a;自定义事件&#xff08;推荐&#xff09; 步骤 1&#xff1a;搜索组件内触发事件 在搜索组件的 JS 中&#xff0c;当获取到搜索值时&#xff0c…...

深入理解分布式缓存 以及Redis 实现缓存更新通知方案

一、分布式缓存简介 1. 什么是分布式缓存 分布式缓存&#xff1a;指将应用系统和缓存组件进行分离的缓存机制&#xff0c;这样多个应用系统就可以共享一套缓存数据了&#xff0c;它的特点是共享缓存服务和可集群部署&#xff0c;为缓存系统提供了高可用的运行环境&#xff0c…...

C#核心笔记——(六)框架基础

我们在编程时所需的许多核心功能并不是由C#语言提供的,而是由.NET Framework中的类型提供的。本节我们将介绍Framework在基础编程任务(例如虚的等值比较、顺序比较以及类型转换)中的作用。我们还会介绍Framework中的基本类型,例如String、DateTime和Enum. 本章中的绝大部分…...

C# 点击导入,将需要的参数传递到弹窗的页面

点击导入按钮&#xff0c;获取本页面的datagridview标题的结构&#xff0c;并传递到导入界面。 新增一个datatable用于存储datagridview的caption和name&#xff0c;这里用的是devexpress组件中的gridview。 DataTable dt new DataTable(); DataColumn CAPTION …...

java面向对象编程【基础篇】之基础概念

目录 &#x1f680;前言&#x1f914;面向过程VS面向对象&#x1f4af;面向过程编程&#xff08;POP&#xff09;&#x1f4af;面向对象编程&#xff08;OOP&#xff09;&#x1f4af;两者对比 &#x1f31f;三大特性&#x1f4af;封装性&#x1f4af;继承性&#x1f4af;多态性…...

Oceanbase单机版上手示例

本月初Oceanbase单机版发布&#xff0c;作为一个以分布式起家的数据库&#xff0c;原来一个集群动辄小十台机器&#xff0c;多着十几台几十台甚至更多&#xff0c;Oceanbase单机版的发布确实大大降低了硬件部署的门槛。 1.下载安装介质 https://www.oceanbase.com/softwarece…...

深度学习基础--CNN经典网络之InceptionV3详解与复现(pytorch)

&#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客&#x1f356; 原作者&#xff1a;K同学啊 前言 InceptionV3是InceptionV1的升级版&#xff0c;虽然加大了计算量&#xff0c;但是当时效果是比VGG效果要好的。本次任务是探究InceptionV3结构并进行复…...

VOIP通信中的错误码

cancle报文 Reason: SIP;cause200;text"Call completed elsewhere" Reason: Q.850;cause26表示取消的原因是呼叫在其他地方已经完成表示Q.850标准中的原因码26&#xff0c;通常对应于“呼叫被取消”&#xff08;Call Cancelled&#xff09;487 Request Terminated Re…...

C++ STL编程-vector概念、对象创建

vector 概念&#xff1a;是常见的一种容器&#xff0c;被称为“柔性数组”。 在vector中&#xff0c;front()是数组中的第一个元素&#xff0c;back()是数组的最后一个元素。begin()是是指向第一个元素&#xff0c;end()是指向back()的后一个元素 vector的对象创建&#xff0…...

easyexcel使用模板填充excel坑点总结

1.单层map设置值是{属性}&#xff0c;那使用两层map进行设置值&#xff0c;是不是可以使用{属性.属性}&#xff0c;以为取出map里字段只用{属性}就可以设置值&#xff0c;那再加个.就可以从里边map取出对应属性&#xff0c;没有两层map写法 填充得到的文件打开报错 was empty (…...

C#学习第16天:聊聊反射

什么是反射&#xff1f; 定义&#xff1a;反射是一种机制&#xff0c;允许程序在运行时获取关于自身的信息&#xff0c;并且可以动态调用方法、访问属性或创建实例。用途&#xff1a;常用于框架设计、工具开发、序列化、代码分析和测试等场景 反射的核心概念 1. 获取类型信息…...

【Unity】使用Cinemachine+CharacterController实现第三人称视角下的角色视角、移动和跳跃控制

1.初始配置 安装Cinemachine插件给角色添加CharacterConroller创建Cinemachine-->Free Look Camera在Free Look Camera中调整参数&#xff0c;Y Axis勾选Inver&#xff0c;X Axis取消勾选InverFree Look Camera要看向角色 跟随角色&#xff08;自行设置&#xff0c;我就不…...

如何通俗的理解transformer架构编码器和解码器干的活

我们可以用生活中的比喻来理解Transformer的编码器和解码器&#xff0c;以及解码器中两种注意力的作用&#xff1a; 一、编码器&#xff08;Encoder&#xff09;&#xff1a;理解信息的「分析师团队」 想象你要翻译一句话&#xff0c;比如把中文“今天天气很好”翻译成英文。编…...

React 受控表单绑定基础

React 中最常见的几个需求是&#xff1a; 渲染一组列表绑定点击事件表单数据与组件状态之间的绑定 受控表单绑定是理解表单交互的关键之一。 &#x1f4cd;什么是受控组件&#xff1f; 在 React 中&#xff0c;所谓“受控组件”&#xff0c;指的是表单元素&#xff08;如 &l…...

UMG:ListView

1.创建WEB_ListView,添加Border和ListView。 2.创建Object,命名为Item(数据载体&#xff0c;可以是其他类型)。新增变量name。 3.创建User Widget&#xff0c;命名为Entry(循环使用的UI载体).添加Border和Text。 4.设置Entry继承UserObjectListEntry接口。 5.Entry中对象生成时…...

实验五 内存管理实验

实验五 内存管理实验 一、实验目的 1、了解操作系统动态分区存储管理过程和方法。 2、掌握动态分区存储管理的主要数据结构--空闲表区。 3、加深理解动态分区存储管理中内存的分配和回收。 4、掌握空闲区表中空闲区3种不同放置策略的基本思想和实现过程。 5、通过模拟程…...

初识 Firebase 与 FPM

Firebase 是什么 ? Firebase 是 Google 旗下面向 iOS、Android、Web 与多端框架&#xff08;Flutter、Unity 等&#xff09;的应用开发平台&#xff0c;提供从「构建 → 发布与运维 → 增长」全生命周期的一站式后端即服务&#xff08;BaaS&#xff09;。它把实时数据库、托管…...

探索C++中的数据结构:栈(Stack)的奥秘

引言 栈是计算机科学中最基础且重要的数据结构之一&#xff0c;它像一摞盘子一样遵循"后进先出"&#xff08;LIFO&#xff09;的原则。无论是函数调用、表达式求值&#xff0c;还是浏览器前进后退功能&#xff0c;栈都扮演着关键角色。本文将深入解析栈的C实现及其应…...

vue3 nprogress 使用

nprogress 介绍与作用 1.nprogress 是一个轻量级的进度条组件&#xff0c;主要用于在页面加载或路由切换时显示一个进度条&#xff0c;提升用户体验。它的原理是通过在页面顶部创建一个 div&#xff0c;并使用 fixed 定位来实现进度条的效果 2.在 Vite Vue 3 项目中&#xf…...

MCP(Model Context Protocol 模型上下文协议)科普

MCP&#xff08;Model Context Protocol&#xff0c;模型上下文协议&#xff09;是由人工智能公司 Anthropic 于 2024年11月 推出的开放标准协议&#xff0c;旨在为大型语言模型&#xff08;LLM&#xff09;与外部数据源、工具及服务提供标准化连接&#xff0c;从而提升AI在实际…...

韩媒专访CertiK创始人顾荣辉:黑客攻击激增300%,安全优先的破局之路

4月17日&#xff0c;韩国知名科技媒体《韩国IT时报》(Korea IT Times)发布了对CertiK联合创始人兼CEO顾荣辉教授的专访。双方围绕CertiK一季度《HACK3D》安全报告&#xff0c;就黑客攻击手法的迭代和安全防御技术的创新路径等&#xff0c;展开深度对话。 顾荣辉认为&#xff0…...

华为openEuler操作系统全解析:起源、特性与生态对比

华为openEuler操作系统全解析&#xff1a;起源、特性与生态对比 一、起源与发展历程 openEuler&#xff08;欧拉操作系统&#xff09;是华为于2019年开源的Linux发行版&#xff0c;其前身为华为内部研发的服务器操作系统EulerOS。EulerOS自2010年起逐步发展&#xff0c;支持华…...

从零实现Git安装、使用

一、git安装 Git官方下载 1.下载exe程序 2.双击安装&#xff0c;一直点击next&#xff0c;默认安装 安装完成后&#xff0c;在任意文件夹右键&#xff0c;出现下图所示&#xff0c;即为安装成功。 3.【Git Bash Here】调出命令窗口&#xff0c;设置用户名和 email 地址。 gi…...

leetcode刷题日记——单词规律

[ 题目描述 ]&#xff1a; [ 思路 ]&#xff1a; 题目要求判断字符串 s 中的单词是否按照 pattern 这种模式排列具体思路和 205. 同构字符串基本一致&#xff0c;可以通过 hash 存储来实现思路二&#xff0c;通过字符串反推 pattern&#xff0c;如果一致&#xff0c;则遵循相…...