【AI论文】Sigma:对查询、键和值进行差分缩放,以实现高效语言模型
摘要:我们推出了Sigma,这是一个专为系统领域设计的高效大型语言模型,其独特之处在于采用了包括DiffQKV注意力机制在内的新型架构,并在我们精心收集的系统领域数据上进行了预训练。DiffQKV注意力机制通过根据查询(Q)、键(K)和值(V)组件对模型性能和效率指标的不同影响,对它们进行差异化优化,从而显著提升了Sigma的推理效率。具体来说,我们(1)进行了大量实验,展示了模型对K和V组件压缩的不同敏感性,进而开发出了差异化压缩的KV方法;(2)提出了增强型Q,通过扩展Q头的维度,在几乎不影响推理速度的情况下,增强了模型的表示能力。严格的理论和实证分析表明,DiffQKV注意力机制显著提高了效率,在长上下文场景中,与传统分组查询注意力(GQA)相比,推理速度提升了高达33.36%。我们在6T个token上对Sigma进行了预训练,这些数据来自多个来源,包括我们精心收集的195亿个系统领域数据,以及1T个合成和重写数据。在通用领域,Sigma的表现与其他最先进的模型相当。在系统领域,我们引入了首个全面的基准测试AIMicius,Sigma在所有任务中均表现出色,显著优于GPT-4,绝对提升幅度高达52.5%。Huggingface链接:Paper page,论文链接:2501.13629
1. 引言
近年来,大型语言模型(LLMs)在各个领域取得了显著进展,展现了强大的性能。然而,随着模型规模的扩大,其计算复杂度和内存需求也随之增加,给实际应用带来了挑战。特别是在系统领域,即利用AI模型自动验证、评估、诊断和优化AI基础设施(如硬件、配置、云服务、数据库和工作负载)的领域,尽管具有巨大潜力,但尚未得到足够的重视。本文介绍了Sigma,一个专为系统领域设计的高效大型语言模型,通过采用包括DiffQKV注意力机制在内的新型架构,显著提高了推理效率。
2. Sigma模型概述
2.1 DiffQKV注意力机制
DiffQKV注意力机制是Sigma模型的核心创新点。在标准的多头注意力机制(MHA)中,查询(Q)、键(K)和值(V)通常使用相同数量的头和相同维度的头。然而,DiffQKV注意力机制打破了这一传统做法,允许Q、K、V组件具有不同数量的头和不同维度的头。此外,在推理过程中,K和V缓存的检索策略也各不相同。
2.1.1 差分压缩的KV
实验发现,模型性能对V向量的压缩比K向量更为敏感。因此,DiffQKV注意力机制对K向量采用更激进的压缩算法,而对V向量则采用较轻的压缩形式。尽管V向量的压缩程度相对较低,但在推理过程中可以通过仅加载与最高注意力分数对应的V向量来进一步优化,从而在保持模型性能的同时大幅减少内存使用。
2.1.2 增强的Q
增强的Q涉及采用比KV头更高的维度来扩展Q头维度,从而增强模型的表示能力,同时对推理速度的影响最小。实验表明,向Q头组件引入额外参数可以有效提升模型性能。
2.2 Sigma模型架构
Sigma模型基于DiffQKV注意力机制构建,并采用了两种模型规模:15亿参数和100亿参数,分别称为Sigma-1.5B和Sigma-10B。在训练过程中,为了平衡模型性能和KV缓存成本,对Sigma-1.5B和Sigma-10B的K头维度不进行压缩,仅减少K头的数量。具体来说,K头设置为4,而V头的数量是Q头数量的一半,设置为16。对于Sigma-1.5B,Q头维度设置为3072,对于Sigma-10B,则设置为6144,相当于隐藏状态的1.5倍,以扩展Q的表示空间。
3. DiffQKV注意力机制的理论与实证分析
3.1 理论分析
KV缓存和注意力计算是注意力层中的两个关键组件。通过减少K头的数量,Sigma模型能够显著降低KV缓存操作的成本。与标准的分组查询注意力(GQA)设计相比,Sigma模型在KV缓存操作上的成本降低率理论上可达到37.5%。尽管注意力计算是计算密集型的,但由于KV缓存操作是I/O密集型的,因此KV缓存成本的降低对整体推理效率的提升具有显著影响。
3.2 实现
尽管减少K头数量在理论上能够显著提高推理效率,但在实际部署中却面临挑战。为了解决这个问题,本文提出了几种临时解决方案,并强调了需要更广泛的支持来部署DiffQKV。其中,包括KV缓存的加载和存储策略以及灵活的注意力计算方法。
3.3 实证分析
通过一系列实验,验证了Sigma模型在推理效率上的显著提升。实验结果表明,与标准模型相比,Sigma模型在内核执行时间(KET)和CUDA事件经过时间(CEET)上均表现出显著优势。特别是在处理长上下文场景时,Sigma模型能够实现高达33.36%的推理速度提升。
4. 系统领域预训练与AIM ICIUS基准
4.1 系统领域数据收集
为了训练Sigma-System模型,本文精心收集了系统领域数据。通过识别来自120多个系统相关网站的15个主要源类别,收集了约195亿个令牌的数据。这些数据涵盖了学术论文、技术博客、开发者论坛、Stack Overflow等多个来源,确保了系统领域知识的全面性和多样性。
4.2 AIM ICIUS基准
为了评估系统领域任务的性能,本文构建了AIM ICIUS基准,包括CMDGen、Infrawise、Optiflow和NL2KQL四个主要任务。这些任务分别评估了模型在GPU相关命令生成、基准测试结果检索、网络拓扑优化和基础设施问题分析等方面的能力。实验结果表明,Sigma-System模型在AIM ICIUS基准上的性能显著优于其他基线模型,包括GPT-4等最先进的模型。
5. 性能评估
5.1 预训练设置
Sigma模型的预训练数据包括通用领域数据和系统领域特定属性数据,总计约6万亿个令牌。预训练过程分为多个阶段,逐步引入不同领域的数据,并采用退火策略进行微调。实验结果表明,经过充分预训练的Sigma模型在通用领域任务上也表现出色,与其他最先进的模型相比具有可比的性能。
5.2 系统领域性能
在AIM ICIUS基准上的实验结果表明,Sigma-System模型在所有任务上均表现出色,显著优于其他基线模型。特别是在CMDGen和Optiflow任务上,Sigma-System模型的优势更为明显,这得益于其在系统领域数据上的充分预训练和针对系统任务的微调。
5.3 通用领域性能
除了系统领域任务外,本文还对Sigma模型在通用领域任务上的性能进行了评估。实验结果表明,Sigma模型在常识推理、阅读理解、文本理解、语言熟练度、一般知识、编码和数学问题解决等方面均表现出色,与其他最先进的模型相比具有可比的性能。
6. 相关工作
近年来,为了提高LLMs的推理效率,研究人员探索了多种方法。其中,针对KV缓存优化的研究尤为突出。然而,大多数先前的研究倾向于对K和V向量进行均匀压缩,并且很少考虑对Q的优化。相比之下,DiffQKV注意力机制通过差分缩放Q、K、V组件,为提高LLMs的推理效率提供了新的思路。
7. 结论与未来工作
本文介绍了Sigma模型,一个专为系统领域设计的高效大型语言模型。通过采用DiffQKV注意力机制,Sigma模型在推理效率上实现了显著提升。实验结果表明,Sigma模型在处理长上下文场景时能够显著优于其他基线模型。尽管Sigma模型已经取得了显著进展,但仍然存在许多改进空间。未来的工作将集中在进一步优化Sigma模型的架构、扩展AIM ICIUS基准的任务范围以及提高预训练数据的质量等方面。
8. 具体实验细节与案例分析
8.1 实验细节
在实验过程中,本文采用了多种基准和评估指标来全面评估Sigma模型的性能。例如,在CMDGen任务上,采用了CMD分数、输出分数、校准分数、精确匹配、成功率和准确率等多个指标来衡量模型的性能。此外,为了验证DiffQKV注意力机制的有效性,本文还进行了大量消融实验,通过逐步引入差分压缩的KV和增强的Q等策略,分析了它们对模型性能的影响。
8.2 案例分析
以CMDGen任务为例,本文详细分析了Sigma模型在处理GPU相关命令生成任务时的表现。实验结果表明,Sigma模型能够准确生成符合要求的GPU命令,并且在执行结果上与真实命令高度相似。此外,Sigma模型在处理不同平台和不同类型的GPU命令时也表现出良好的泛化能力。这些实验结果充分证明了Sigma模型在系统领域任务上的有效性和实用性。
9. Sigma模型的应用前景与挑战
9.1 应用前景
Sigma模型在系统领域具有广泛的应用前景。例如,在AI基础设施的自动化优化方面,Sigma模型可以自动诊断和优化硬件、配置、云服务、数据库和工作负载等方面的问题,从而提高AI系统的效率和性能。此外,Sigma模型还可以应用于自然语言处理、知识图谱构建、智能问答等多个领域,为人工智能技术的发展提供有力支持。
9.2 挑战
尽管Sigma模型已经取得了显著进展,但在实际应用中仍然面临许多挑战。例如,如何进一步提高模型的推理效率以满足实时性要求?如何扩展模型的应用范围以覆盖更多领域和任务?如何提高模型的鲁棒性和可解释性以增强用户的信任感?这些问题都是未来研究需要重点关注的方向。
综上所述,Sigma模型是一个专为系统领域设计的高效大型语言模型,通过采用DiffQKV注意力机制显著提高了推理效率。实验结果表明,Sigma模型在处理系统领域任务时表现出色,并且在通用领域任务上也具有可比的性能。未来的工作将集中在进一步优化Sigma模型的架构、扩展AIM ICIUS基准的任务范围以及提高预训练数据的质量等方面,以推动Sigma模型在实际应用中的广泛部署和应用。
相关文章:
【AI论文】Sigma:对查询、键和值进行差分缩放,以实现高效语言模型
摘要:我们推出了Sigma,这是一个专为系统领域设计的高效大型语言模型,其独特之处在于采用了包括DiffQKV注意力机制在内的新型架构,并在我们精心收集的系统领域数据上进行了预训练。DiffQKV注意力机制通过根据查询(Q&…...
ThinkPHP 8请求处理-获取请求对象与请求上下文
【图书介绍】《ThinkPHP 8高效构建Web应用》-CSDN博客 《2025新书 ThinkPHP 8高效构建Web应用 编程与应用开发丛书 夏磊 清华大学出版社教材书籍 9787302678236 ThinkPHP 8高效构建Web应用》【摘要 书评 试读】- 京东图书 使用Composer初始化ThinkPHP 8应用_thinkphp8 compos…...
【设计模式】JAVA 策略 工厂 模式 彻底告别switch if 等
【设计模式】JAVA 策略 工厂 模式 彻底告别switch if 等 目录 【设计模式】JAVA 策略 工厂 模式 彻底告别switch if 等 优势 适用场景 项目结构 关键代码 优势 消除 switch:将分支逻辑分散到独立的策略类中。 开闭原则:新增类型只需添加新的 TypeHa…...
Pyecharts之词云图、面积图与堆叠面积图
在数据可视化的精彩世界里,我们可以运用各种各样的图表来展现数据的魅力,帮助我们更好地理解和分析数据。Pyecharts 作为一款功能强大的数据可视化工具,为我们提供了丰富的图表类型,今天我们将深入探讨词云图、面积图和堆叠面积图…...
SpringBoot3+Vue3开发学生选课管理系统
功能介绍 分三个角色登录:学生登录,老师登录,教务管理员登录,不同用户功能不同! 1.学生用户功能 选课记录,查看选课记录,退选。选课管理,进行选课。通知管理,查看通知消…...
71.在 Vue 3 中使用 OpenLayers 实现按住 Shift 拖拽、旋转和缩放效果
前言 在前端开发中,地图功能是一个常见的需求。OpenLayers 是一个强大的开源地图库,支持多种地图源和交互操作。本文将介绍如何在 Vue 3 中集成 OpenLayers,并实现按住 Shift 键拖拽、旋转和缩放地图的效果。 实现效果 按住 Shift 键&#…...
Mybatis——sql映射文件中的增删查改
映射文件内的增删查改 准备工作 准备一张数据表,用于进行数据库的相关操作。新建maven工程, 导入mysql-connector-java和mybatis依赖。新建一个实体类,类的字段要和数据表的数据对应编写接口编写mybatis主配置文件 public class User {priva…...
Git进阶笔记系列(01)Git核心架构原理 | 常用命令实战集合
读书笔记:卓越强迫症强大恐惧症,在亲子家庭、职场关系里尤其是纵向关系模型里,这两种状态很容易无缝衔接。尤其父母对子女、领导对下属,都有望子成龙、强将无弱兵的期望,然而在你的面前,他们才是永远强大的…...
立创开发板入门ESP32C3第八课 修改AI大模型接口为deepseek3接口
#原代码用的AI模型是minimax的API接口,现在试着改成最热门的deepseek3接口。# 首先按理解所得,在main文件夹下,有minimax.c和minimax.h, 它们是这个API接口的头文件和实现文件,然后在main.c中被调用。所以我们一步步更改。 申请…...
【云安全】云原生-Docker(五)容器逃逸之漏洞利用
漏洞利用逃逸 通过漏洞利用实现逃逸,主要分为以下两种方式: 1、操作系统层面的内核漏洞 这是利用宿主机操作系统内核中的安全漏洞,直接突破容器的隔离机制,获得宿主机的权限。 攻击原理:容器本质上是通过 Linux 的…...
为什么IDEA提示不推荐@Autowired❓️如果使用@Resource呢❓️
前言 在使用 Spring 框架时,依赖注入(DI)是一个非常重要的概念。通过注解,我们可以方便地将类的实例注入到其他类中,提升开发效率。Autowired又是被大家最为熟知的方式,但很多开发者在使用 IntelliJ IDEA …...
PHP:动态网站开发的强大引擎
在互联网技术日新月异的今天,PHP(Hypertext Preprocessor,超文本预处理器)作为一种开源的服务器端脚本语言,凭借其灵活性和易用性,依然是构建动态网站和Web应用程序的首选之一。从简单的个人博客到复杂的企…...
Linux 目录操作详解
Linux目录操作详解 1. 获取当前工作目录1.1 getcwd()1.2 get_current_dir_name() 2. 切换工作目录2.1 chdir() 3. 创建和删除目录3.1 mkdir()3.2 rmdir() 4. 获取目录中的文件列表4.1 opendir() 打开目录4.2 readdir() 读取目录内容4.3 closedir() 关闭目录 5. dirent 结构体6.…...
IMX6ull项目环境配置
文件解压缩: .tar.gz 格式解压为 tar -zxvf .tar.bz2 格式解压为 tar -jxvf 2.4版本后的U-boot.bin移植进SD卡后,通过串口启动配置开发板和虚拟机网络。 setenv ipaddr 192.168.2.230 setenv ethaddr 00:04:9f:…...
redis实现lamp架构缓存
redis服务器环境下mysql实现lamp架构缓存 ip角色环境192.168.242.49缓存服务器Redis2.2.7192.168.242.50mysql服务器mysql192.168.242.51web端php ***默认已安装好redis,mysql 三台服务器时间同步(非常重要) # 下载ntpdate yum -y install…...
与机器学习相关的概率论重要概念的介绍和说明
概率论一些重要概念的介绍和说明 1、 试验 (1)试验是指在特定条件下,对某种方法、技术、设备或产品(即,事物)进行测试或验证的过程。 (2)易混淆的概念是,实验。实验&…...
深度学习 Pytorch 单层神经网络
神经网络是模仿人类大脑结构所构建的算法,在人脑里,我们有轴突连接神经元,在算法中,我们用圆表示神经元,用线表示神经元之间的连接,数据从神经网络的左侧输入,让神经元处理之后,从右…...
常用集合-数据结构-MySql
目录 java核心: 常用集合与数据结构: 单例集合: 双列集合: 线程安全的集合: ConcurrentHashMap集合: HashTable集合: CopyOnWriteArrayList集合: CopyOnWriteArraySet集合: ConcurrentLinkedQueue队列: ConcurrentSkipListMap和ConcurrentSkipListSet&…...
策略模式 - 策略模式的使用
引言 在软件开发中,设计模式是解决常见问题的经典解决方案。策略模式(Strategy Pattern)是行为型设计模式之一,它允许在运行时选择算法的行为。通过将算法封装在独立的类中,策略模式使得算法可以独立于使用它的客户端…...
【贪心算法】在有盾牌的情况下能通过每轮伤害的最小值(亚马逊笔试题)
思路: 采用贪心算法,先计算出来所有的伤害值,然后再计算每轮在使用盾牌的情况下能减少伤害的最大值,最后用总的伤害值减去能减少的最大值就是最少的总伤害值 public static long getMinimumValue(List<Integer> power, int…...
零基础Vue学习1——Vue学习前环境准备
目录 环境准备 创建Vue项目 项目目录说明 后续开发过程中常用命令 环境准备 安装开发工具:vscode、webstorm、idea都可以安装node:V22以上版本即可安装pnpm 不知道怎么安装的可以私信我教你方法 创建Vue项目 本地新建一个文件夹,之后在文件夹下打开…...
小游戏源码开发搭建技术栈和服务器配置流程
近些年各种场景小游戏开发搭建版本层出不穷,山东布谷科技拥有多年海内外小游戏源码开发经验,现为从事小游戏源码开发或游戏运营的朋友们详细介绍小游戏开发及服务器配置流程。 一、可以对接到app的小游戏是如何开发的 1、小游戏源码开发的需求分析: 明…...
【Rust自学】15.3. Deref trait Pt.2:隐式解引用转化与可变性
喜欢的话别忘了点赞、收藏加关注哦(加关注即可阅读全文),对接下来的教程有兴趣的可以关注专栏。谢谢喵!(・ω・) 15.3.1. 函数和方法的隐式解引用转化(Deref Coercion) 隐式解引用转化(Deref Coercion)是为…...
SQL-leetcode—1174. 即时食物配送 II
1174. 即时食物配送 II 配送表: Delivery ------------------------------------ | Column Name | Type | ------------------------------------ | delivery_id | int | | customer_id | int | | order_date | date | | customer_pref_delivery_date | date | -------------…...
css3 svg制作404页面动画效果HTML源码
源码介绍 css3 svg制作404页面动画效果HTML源码,源码由HTMLCSSJS组成,记事本打开源码文件可以进行内容文字之类的修改,双击html文件可以本地运行效果 效果预览 源码如下 <!doctype html> <html> <head> <meta charse…...
MATLAB提供的颜色映射表colormap——伪彩色
图像处理领域的一个习惯:不是真实的颜色,一般用伪彩色。一是说明不是物体本身的颜色,二是彩色更容易分辨。 MATLAB陆续提供了16种颜色映射表colormap。 之前的都很丑,近5年新增的4种还可以。总的说来还是丑。 这是一种鸟的名字。…...
2013年蓝桥杯第四届CC++大学B组真题及代码
目录 1A:高斯日记(日期计算) 2B:马虎的算式(暴力模拟) 3C:第39级台阶(dfs或dp) 4D:黄金连分数(递推大数运算) 5E:前缀…...
我的创作纪念日——1/23
机缘 想起写博客,其实是当时看鹏哥C语言时,他说通过写博客的方式来记录自己学习过程,有利于提升自己。尽管我只看了几集就没怎么看,但是写博客的习惯保留下来。 至于为什么,一方面单纯当作单个代码库,把自…...
C# Interlocked 类使用详解
总目录 前言 在多线程编程中,确保多个线程对共享资源的安全访问是一个关键挑战。C# 提供了多种同步机制来处理并发问题,其中 System.Threading.Interlocked 类提供了一种轻量级的方法来进行原子操作。它允许您执行一些常见的增量、减量、交换等操作&…...
SYN Flooding的攻击原理
SYN Flooding是一种常见的网络攻击方式,属于拒绝服务攻击(DoS)的一种,其攻击原理主要是利用了TCP协议的三次握手过程,以下是具体介绍: TCP三次握手正常流程 第一次握手:客户端向服务器发送一个…...
Mono里运行C#脚本35—加载C#语言基类的过程
前面大体地分析了整个Mono运行过程,主要从文件的加载,再到EXE文件的入口点, 然后到方法的编译,机器代码的生成,再到函数调用的跳板转换,进而解析递归地实现JIT。 但是还有很多功能没有解析的,就是C#语言相关最多的,就是类的加载,以及类语言设计的实现属性, 比如类的…...
类包含类 三角分形 面向对象
Cad c# Sj类的构造函数,直接包含电线和三个分形三角形。...
Flutter:搜索页,搜索bar封装
view 使用内置的Chip简化布局 import package:chenyanzhenxuan/common/index.dart; import package:ducafe_ui_core/ducafe_ui_core.dart; import package:flutter/material.dart; import package:get/get.dart; import package:tdesign_flutter/tdesign_flutter.dart;import i…...
chrome插件:网页图片高清下载
前置条件: 安装有chrome谷歌浏览器的电脑 使用步骤: 1.打开chrome扩展插件 2.点击管理扩展程序 3.加载已解压的扩展程序 4.选择对应文件夹 5.成功后会出现一个扩展小程序 6.点击对应小程序 7.输入需要访问的网址,点击扩展插件即可进行图片…...
docker 简要笔记
文章目录 一、前提内容1、docker 环境准备2、docker-compose 环境准备3、流程说明 二、打包 docker 镜像1、基础镜像2、国内镜像源3、基础的dockerfile4、打包镜像 四、构建运行1、docker 部分2、docker-compose 部分2.1、构建docker-compose.yml2.1.1、同目录构建2.1.2、利用镜…...
Java I/O 流介绍
Java学习资料 Java学习资料 Java学习资料 一、引言 在 Java 编程中,I/O(Input/Output)流是处理输入和输出操作的核心机制。它允许程序与外部设备(如文件、网络连接、键盘、显示器等)进行数据交互。通过使用 I/O 流&…...
C# OpenCV机器视觉:利用CNN实现快速模板匹配
在一个阳光灿烂的周末,阿强正瘫在沙发上,百无聊赖地换着电视频道。突然,一则新闻吸引了他的注意:某博物馆里一幅珍贵的古画离奇失踪,警方怀疑是被一伙狡猾的盗贼偷走了,现场只留下一些模糊不清的监控画面&a…...
数据结构——实验七·排序
欢迎各位大佬们来到Tubishu的博客🌟 Tubishu是一名计算机本科生,不定期发送一些在学校的成果供佬们消遣~希望能为佬的编程之路添砖加瓦⭐🔥 求各位大佬们垂怜🔥点赞评论一下呗🔥🔥 本文专栏 ➡️ 数据结构 …...
Flutter_学习记录_Tab的简单Demo~真的很简单
1. Tab的简单使用了解 要实现tab(选项卡或者标签视图)需要用到三个组件: TabBarTabBarViewTabController 这一块,我也不知道怎么整理了,直接提供代码吧: import package:flutter/material.dart;void main() {runApp(MyApp());…...
const的用法
文章目录 一、C和C中const修饰变量的区别二、const和一级指针的结合const修饰的量常出现的错误是:const和一级指针的结合总结:const和指针的类型转换公式 三、const和二级指针的结合 一、C和C中const修饰变量的区别 C中:const必须初始化,叫常…...
分布式微服务系统简述
distributed microservice 分布式与微服务的定义及关系;分布式微服务架构里的各组件,如:配置中心、服务注册/发现、服务网关、负载均衡器、限流降级、断路器、服务调用、分布式事务等;spring cloud 介绍及实现案例,如…...
Uniapp开发总结
一、tabBar 如果应用是一个多 tab 应用,可以通过 tabBar 配置项指定一级导航栏,以及 tab 切换时显示的对应页。 pages.json 页面路由 | uni-app官网 pages.json基本配置: "tabBar": {"color": "#000",&quo…...
uniapp APP端页面触发调用webview(页面为uniapp开发的H5)里的方法
原理: 使用 getCurrentInstance() 获取当前组件的 Vue 实例,通过 instance.proxy.$scope.$getAppWebview() 获取 Uniapp 的原生 WebView 对象。 使用 WebView 提供的 evalJS 方法,执行嵌入 H5 页面内的 JavaScript 代码 <template>&l…...
Qt 5.14.2 学习记录 —— 이십 QFile和多线程
文章目录 1、QFile1、打开2、读写3、关闭4、程序5、其它功能 2、多线程1、演示2、锁 3、条件变量和信号量 1、QFile Qt有自己的一套文件体系,不过Qt也可以使用C,C,Linux的文件操作。使用Qt的文件体系和Qt自己的一些类型更好配合。 管理写入读…...
未初始化数据恢复全攻略
没有初始化概述 在日常使用电脑、硬盘、U盘等存储设备时,我们可能会遇到“没有初始化”的提示。这一情况通常发生在存储设备突然无法被系统正常识别或访问时,系统往往要求我们先进行初始化操作。然而,初始化操作意味着对存储设备进行格式化&…...
自动驾驶中的多传感器时间同步
目录 前言 1.多传感器时间特点 2.统一时钟源 2.1 时钟源 2.2 PPSGPRMC 2.3 PTP 2.4 全域架构时间同步方案 3.时间戳误差 3.1 硬件同步 3.2 软件同步 3.2.3 其他方式 ① ROS 中的 message_filters 包 ② 双端队列 std::deque 参考: 前言 对多传感器数据…...
三元组抽取在实际应用中如何处理语义模糊性?
在实际应用中,三元组抽取面临语义模糊性的问题,这主要体现在输入文本的非规范描述、复杂句式以及多义性等方面。为了有效处理这种模糊性,研究者们提出了多种方法和技术,以下是一些关键策略: 基于深度学习的方法 深度学…...
代码随想录刷题day16|(哈希表篇)349.两个数组的交集
目录 一、哈希表理论基础 二、集合set在哈希法中的应用 三、相关算法题目 四、相关知识点 1.set集合特点和常用方法 1.1 set集合概述 1.2 set集合特点 1.3 常用方法 2.set集合转换成数组 法1:另新建一个数组 法2:将结果集合转为数组 ▲ 3.数组…...
浅谈Redis
2007 年,一位程序员和朋友一起创建了一个网站。为了解决这个网站的负载问题,他自己定制了一个数据库。于2009 年开发,称之为Redis。这位意大利程序员是萨尔瓦托勒桑菲利波(Salvatore Sanfilippo),他被称为Redis之父,更…...
整数的个数(信息学奥赛一本通-1067)
【题目描述】 给定k(1<k<100)个正整数,其中每个数都是大于等于1,小于等于10的数。写程序计算给定的k个正整数中,1,5和10出现的次数。 【输入】 输入有两行:第一行包含一个正整数k,第二行包含k个正整数…...