VideoAgent: Long-form Video Understanding with Large Language Model as Agent

news2024/11/23 22:20:37

VideoAgent: Long-form Video Understanding with Large Language Model as Agent

基本信息

博客贡献人

燕青

作者

Xiaohan Wang, Yuhui Zhang, et al.

标签

Large Language Model Agent, Long-form Video Understanding, Vision-Language Foundation Models

摘要

长视频理解是计算机视觉中的一个重要挑战,需要一个能够在长多模态序列上进行推理的模型。受人类对长视频理解的认知过程的启发,本文强调交互推理和规划,而不是处理冗长的视觉输入的能力。本文提出了一个新颖的基于Agent的系统VideoAgent,它使用一个大型语言模型作为中心Agent,迭代地识别和编译关键信息来回答一个问题,视觉语言基础模型作为翻译和检索视觉信息的工具。在具有挑战性的Ego Schema和NExT-QA基准测试集上进行评估,VideoAgent的零样本准确率分别为54.1%和71.3 %,平均使用的帧数仅分别为8.4帧和8.2帧。这些结果证明了本文方法的有效性和效率优于当前最先进的方法,突出了基于代理的方法在推进长视频理解方面的潜力。

问题定义

理解从几分钟到几小时不等的长视频是计算机视觉领域的一个重大挑战。该任务要求模型能够处理多模态信息处理超长序列,并对这些序列进行有效的推理。尽管通过增强这三种能力能力来应对这一挑战的尝试不胜枚举,但现有的模型很难同时在这三个领域中脱颖而出。

目前的大语言模型( large language models,LLMs )擅长推理和处理长语境,但缺乏处理视觉信息的能力。相反,视觉语言模型( visual language models,VLMs )难以对冗长的视觉输入进行建模。以往的工作致力于使VLMs具有长上下文建模能力,但这些适配在视频理解benchmarks中表现不佳,并且在处理长视频内容时效率低下。

将整个长视频直接送入模型中的做法与人类实现长视频理解任务的做法存在显著差异。在理解长视频任务时,人类通常依赖以下交互过程来形成答案:该过程开始于对视频的快速概述,以了解其上下文。随后,在手边特定问题的引导下,人类迭代地选择新的帧来收集相关信息。当获得足够的信息来回答问题时,迭代过程结束,并给出答案。在整个过程中,控制这一迭代过程的推理能力比直接处理冗长视觉输入的能力更为关键

受人类如何理解长视频的启发,本文提出了VideoAgent系统,该系统通过一个基于Agent的系统来模拟这个过程。本文将视频理解过程描述为状态、动作和观察的序列,LLM作为控制这个过程的代理(如图1所示)。最初,LLM通过从视频中截取一组均匀采样的帧来熟悉视频上下文(观察)。在每次迭代过程中,LLM评估当前信息(状态)是否足以回答问题;如果不是,它确定了需要哪些额外的信息(动作)。该设计强调对长视觉输入直接处理的推理能力和迭代过程,其中VLM和CLIP作为功能性组件,使LLM具有视觉理解和长上下文检索能力。

1
图1. Videoagent的概述
给定一个长视频,VideoAgent通过迭代地搜索和聚合关键信息来回答问题。该过程以大语言模型( LLM )为主体,以视觉语言模型( VLM )和对比语言-图像模型( CLIP )为工具进行控制。

Related Work - 长视频理解

由于时空输入固有的复杂性和高维性,长视频理解是计算机视觉中一个特别具有挑战性的领域,这导致了计算需求的显著增加。长视频理解方法需要平衡计算效率和性能,大体上可以分为选择性压缩或压缩稀疏策略。

选择性压缩方法试图利用输入的问题/文本作为向导,将视频分解成更有意义的帧,实际上试图只采样与问题有关的帧。例如,R - VLM和R2A等方法利用CLIP模型在给定文本提示的情况下检索相关帧,而Q-ViD则利用问题对视频进行选择性描述。与以前的工作不同,我们允许LLM引导视频帧被描述者采样。

压缩稀疏方法,试图以尽可能小的维度将视频压缩成有意义的嵌入。例如,MovieChat采用了一种基于余弦相似度合并相似相邻帧令牌的内存合并机制,有效地减少了长视频序列中的令牌冗余。Chat-UniVi利用kNN聚类对视频令牌进行时空压缩。然而,压缩不必发生在嵌入本身,可以被压缩到空时图甚至文本中。例如,Zhang等人引入了LLoVi,并证明了在LLM之前简单地对视频进行字幕并使用这些字幕来提示LLM可以作为一个强基线。

方法

总体框架

VideoAgent的灵感来源于人类理解长视频的认知过程。给定一个带有问题的视频,人类首先会浏览若干帧以了解其上下文,然后迭代搜索额外的帧以获得足够的信息来回答问题,最后汇总所有的信息并做出预测。

本文将该过程建模为状态、动作和观测序列 { ( s t , a t , o t s_t , a_t , o_t st,at,ot) | 1 ≤ t ≤ T 1≤t≤T 1tT },其中状态为所有已见帧的现有信息,动作为是否回答问题或继续搜索新帧,观测为当前迭代中所见的新帧,T为最大迭代次数。

本文使用大型语言模型( LLM ) GPT-4作为代理来执行上述过程。

1
图2. Videoagent详细迭代过程
每一轮从状态开始,状态中包含先前观看的视频帧。然后,大语言模型通过回答预测和自我反思来决定后续的行动。如果需要额外的信息,则以视频帧的形式获取新的观测值。

获取初始状态

为了开始迭代过程,模型首先熟悉LLM与视频的上下文,这可以通过浏览从视频中均匀采样的N帧来实现。由于LLM没有视觉理解能力,本文利用VLM将视觉内容转换为语言描述。具体来说,本文用prompt【详细描述图像】对这N帧图像进行描述,并将描述信息反馈给LLM。这个初始状态 s 1 s_1 s1 记录了视频的内容和语义的概要。

确定下一步动作

考虑到当前状态 s t s_t st 存储了所有已见帧的信息,下一步动作 a t a_t at 有两种可能的选择:

  • Action1: 回答问题。如果状态 s t s_t st 中的信息足以回答问题,则回答问题,退出迭代过程。
  • Action2: 搜索新信息。如果当前 s t s_t st 中的信息不足,应该决定需要哪些进一步的信息来回答这个问题并继续搜索。

为了决定动作1和动作2,需要LLM对问题和已有信息进行推理。这是由三步过程实现的。

  • 首先,通过思维链提示,使LLM根据当前状态和问题进行预测。

  • 其次,根据步骤1生成的状态、问题、预测及其推理过程,让LLM进行自我反思并生成置信度评分。

    置信度评分有三个等级:1 (信息不充分)、2 (部分信息)、3 (信息充分)。

  • 最后,根据置信度得分选择动作1或动作2。

采集新的观测数据

假设LLM确定回答问题的信息不足并选择搜索新信息。在这种情况下,则进一步要求LLM来决定需要什么额外的信息,以便可以利用工具来检索它们。由于一段视频中的信息可能多次出现,为了增强时间推理能力,本文采用片段级检索(segment-level)代替视频级检索(video-level)。例如,假设问题是"男孩离开房间后在沙发上留下的玩具是什么? ",男孩在第 i i i 帧离开房间。如果以查询"显示玩具在沙发上的一帧"在整段视频中进行检索,则可能检索到第 i i i 帧之前的包含"玩具在沙发上"的一帧,但与问题无关。

为了实现片段级检索,我们首先根据可见帧的索引将视频分割成不同的片段,并要求LLM根据查询文本预测哪些片段需要检索。例如,如果我们看到视频的帧 i , j i, j i,j k k k ,一个有效的预测是在第 i i i ~ j j j 帧的片段,查询"玩具在沙发上的一帧"。

本文利用CLIP来获得给定LLM输出的这一额外信息。具体来说,给定每个查询和片段,返回与该片段中的文本查询余弦相似度最高的图像帧。这些检索到的帧作为观测值来更新状态。

由于种种原因,在检索步骤中使用CLIP的计算效率与使用LLM或VLM相比可以忽略不计。首先,CLIP的特征计算只涉及一个前馈过程。其次,CLIP采用了图像-文本的后期交互架构,实现了跨不同文本查询的图像帧特征的缓存和重用。最后,本文的片段级检索设计只需要计算特定片段内的特征,进一步提高了效率。本文的实验表明CLIP的计算量不到VLM和LLM的1%。

更新当前状态

最后,给定新的观测值(即检索到的帧),利用VLMs为每一帧生成标题(caption),然后根据帧索引将新标题与旧标题进行简单排序和拼接,并请求LLM生成下一轮预测。

一个可能的问题是,为什么本文利用多轮过程,因为一些现有的工作使用全部或均匀采样的帧作为单步中的状态。与这些基线相比,本文的方法有许多优点。首先,使用过多的帧会引入大量的信息和噪声,这会导致性能下降,因为LLMs的上下文较长,容易分散注意力。此外,由于LLM上下文长度的限制,计算效率很低,并且很难扩展到数小时长的视频。相反,使用太少的帧可能无法捕获相关信息。本文的自适应选择策略找到了最相关的信息,并且在不同的难度级别上回答问题所需的成本最低。

VideoAgent的算法可以总结为图3中的伪代码。

1
图3. Videoagent算法

实验

在实验中,本文使用两个不同的成熟数据集来测试本文模型的性能,并特别关注零样本理解能力。

数据集

  • EgoSchema

    EgoSchema是一个长视频理解的benchmark,由5,000个自我中心(egocentric)视频衍生出5,000个选择题。这些视频提供了人类从事广泛活动的自我中心视角。该数据集的一个显著特点是其视频的长度,每次持续3分钟。EgoSchema仅包含一个测试集,由500个具有公开标签的问题组成子集。全套问题仅在官方的排行榜上进行评价。

    egocentric videos:指从第一人称视角拍摄的视频。这些视频通常是通过佩戴在头部、眼镜或胸部的摄像设备拍摄的,捕捉的是拍摄者的视角。

  • NExT-QA

    NExT-QA数据集包括5,440个日常生活中具有物体交互特征的自然视频,并附有48,000道选择题。视频的平均长度为44秒。这些问题分为三类:时态性(Temporal)、因果关系(Causal)和描述性(Description),为视频理解模型提供了全面的评价。根据标准做法,本文的零样本评估集中于验证集,该验证集包含570个视频和5,000个多选题。

由于每个数据集都具有多项选择题的特点,本文使用准确率作为模型的评价指标。

实现细节

本文以1 fps的速度解码实验中的所有视频,并使用EVA-CLIP-8Bplus根据生成的视觉描述和帧特征之间的余弦相似度来检索最相关的帧。在Ego Schema上的实验中,使用La ViLa作为视觉描述子(captioner),这是一种基于剪辑的描述模型。为了确保零样本评估的可靠性,本文使用了在ego4D数据集上重新训练的LaViLa模型,并过滤掉与EgoSchema重叠的视频。本文根据CLIP检索模块返回的帧索引对视频片段进行采样进行字幕生成。对于NExT-QA,本文采用CogAgent作为描述子。本文使用GPT-4作为所有实验的LLM,GPT的版本固定为gpt-4-1106-preview以确保可重复性。

与SOTA的比较

VideoAgent制定了新的基准,在EgoSchema和NExT-QA数据集上取得了最先进的(state-of-the-art, SOTA)结果,大大超过了以前的方法,同时只需要很少的帧数进行分析。

  • EgoSchema

    如表1和表2所示,VideoAgent在Ego Schema全数据集上达到了54.1 %的准确率,在500个问题子集上达到了60.2 %的准确率。由于该数据集没有公开GT标签,通过将本文的模型预测上传到官方的排行榜来验证整个数据集的准确性。这些结果不仅比之前的SOTA方法LLo Vi显著提升了3.8 %,而且取得了与Gemini-1.0等先进专有模型相当的性能。值得注意的是,本文的方法平均每个视频只需要8.4帧——与现有方法相比显著减少了2倍到30倍。

    1
    表1. 在EgoSchema上的结果与公开模型进行了比较。
    从官方的排行榜中获得了全集结果。

    1
    表2. 在EgoSchema上的结果与大规模专有模型进行了比较。

  • NExT-QA

    在表3中,本文展示了VideoAgent在NExT-QA全验证集上达到了71.3 %的准确率,超过之前的SOTA方法LLoVi,提高了3.6 %。VideoAgent平均每个视频仅使用8.2帧进行零样本评估。在所有测试子集上,VideoAgent所用帧数始终比以往的有监督和零样本方法大幅度降低,包括测试模型的因果、时间和描述能力的方法。重要的是,VideoAgent在更具挑战性的子集ATPhard上取得了显著的性能提升,证明了其在处理复杂的长视频查询方面的能力。

    1
    表3. NExT-QA的结果与SOTA相比。
    C、T和D分别是因果子集、时间子集和描述子集。

迭代帧选择的分析

VideoAgent的一个关键组成部分是其迭代的帧选择,它动态地搜索和聚合更多的信息,直到足以回答问题为止,模仿人类理解视频的过程。为了更好地理解这一过程,本文进行了全面的分析和消融研究。

  • 帧效率

    本文的第一个分析集中在帧选择是否有效地识别回答问题所需的信息帧。这可以通过帧效率来衡量:给定固定的帧数,可以达到多高的模型精度。该分析基于假设,识别的含有效信息的帧越多,帧效率就应该越高。

    在图3(左)中,本文将所提出的方法与均匀采样基线和其他方法在Ego Schema 500问题子集上的准确率进行了比较。本文的方法在相同帧数下显著优于均匀选择和其他基线,证明了其在帧效率上的优越性。值得注意的是,本文的方法只使用了8.4帧,就达到了60.2 %的准确率,超过了均匀采样180帧达到59.6 %准确率的基线。这强调了本文的方法在寻找包含信息的帧方面的有效性,并揭示了更多的帧并不总是能带来更好的性能,因为不相关和有噪声的信息可以压倒具有长上下文和干扰的语言模型。

    1
    图3(左). 帧效率相比于均匀采样和之前的方法。X轴处于对数尺度。
    图3(右).不同类型NExT-QA问题的帧数。绘出了min,mean,max分布图。

  • 轮数

    本文还分析了迭代轮数对模型性能的影响。同样是在图3(左)中,本文绘制了1-4轮和所选帧数的性能,在5、7.5、8.4和9.9帧的情况下,分别实现了53.8 %、58.6 %、60.2 %和59.8 %的准确率。在Ego Schemaa 500-问题子集上,性能随着轮数的增加而提高,但在3轮时达到饱和。这表明我们的方法可以有效地找到回答问题所需要的信息,而超过某一点后,额外的信息对回答问题没有进一步的帮助。

  • 不同的问题类型

    考虑到本文的帧选择过程是动态的,通过语言模型代理来确定信息是否足够。因此假设不同的问题类型可能需要不同的信息量,因为它们的难度不同。本文在NExT-QA数据集上检验了这一假设,该数据集为每个问题类型提供了注释:描述性任务、因果推理或时间推理。在图3(右)中,本文绘制了每一类问题的帧数的分布图。本文观察到,使用的平均帧数如下:描述性问题( 5.9帧 )、因果性问题( 7.1帧 )和时间性问题( 7.8帧 )。

  • 初始帧数

    在启动迭代帧选择过程之前,本文对N帧进行均匀采样,以使语言模型与视频上下文相联系。为了探究初始采样帧数对模型性能和平均使用帧数的影响,本文进行了消融研究。具体来说,本文首先在EgoSchema 500问题子集上取样3、5和8个帧,并在表4中报告研究结果。结果显示,准确率分别为58.4 %、60.2 %和57.4 %,平均使用6.4、8.4和11.0帧。从5帧开始可以获得最高的性能。此外,与帧数相近或略低的本文采样方法相比,均匀采样方法对7、9和11帧的准确率分别为54.6 %、54.8 %和55.8 %。这种比较再次凸显了本文的帧选择方法的优越效率。

    1
    表4. 初始均匀采样帧数的消融实验

  • 自我评估

    在迭代选择过程中,LLM进行自我评估,以确定可用信息是否足以回答查询。如果充分,则迭代在这一阶段终止。本文将其与没有自我评估的基线方法进行了比较,其中每个问题都通过3轮迭代进行处理。如表5所示,观察到平均帧数从8.4增加到11.8,准确率从60.2 %下降到59.6 %。这些结果强调了自我评价在确定信息充分性方面的有效性,从而减少了不必要的迭代。值得注意的是,通过额外的轮次收集更多的信息并没有带来绩效的提升,反而会导致边际下降。

    1
    表5. 分段选择与自我评估的消融实验

  • 分段选择

    当确定需要额外的信息时,对输入的视频进行分段。然后,LLM生成专门为检索这些段中的信息而定制的查询。该方法与不指定段的生成查询的替代策略进行了对比。在表5中,观察到当段选择被禁用时,准确率下降了3.6 %。片段选择提高了模型的时序推理能力,降低了不同片段信息混叠的风险。这对于诸如"发生在…之后的事情? "这样的查询特别有利,因为在这些查询中,检索只需要从后续的片段中获得。

相关知识链接

论文原文

VideoAgent: Long-form Video Understanding with Large Language Model as Agent

总结

本文提出了VideoAgent系统,该系统使用一个大型语言模型作为Agent,以反映人类理解长视频的认知过程。VideoAgent通过多轮迭代过程有效地搜索和聚合信息。在各种数据集上的定量和定性研究都表明,它在长视频理解中表现出非凡的有效性和效率。

[局限]

  • 整体分为3个组件——LVM、LLM、CLIP,非端到端可训练,针对下游任务进行微调比较困难

[启发]

  • 采用初始均匀帧采样,后续迭代帧采样补充信息的方式,可以大幅减少视频理解所用帧数,并提高理解准确性
  • 利用LVM进行图像描述,LLM进行信息整合和评估,可以有效利用两种大模型的优势进行互补,且解决LVM对长视频理解的缺陷

BibTex

@misc{wang2024videoagentlongformvideounderstanding,
      title={VideoAgent: Long-form Video Understanding with Large Language Model as Agent}, 
      author={Xiaohan Wang and Yuhui Zhang and Orr Zohar and Serena Yeung-Levy},
      year={2024},
      eprint={2403.10517},
      archivePrefix={arXiv},
      primaryClass={cs.CV},
      url={https://arxiv.org/abs/2403.10517}, 
}

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

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

相关文章

【Drone】drone编译web端 防墙策略 | 如何在被墙的状态drone顺利编译npm

一、drone编译防墙版本 1、web端drone kind: pipeline type: docker name: ui steps:- name: build_projectimage: node:20-slim depends_on: [clone]volumes:- name: node_modulespath: /drone/src/node_modulescommands:- pwd- du -sh *- npm config set registry https://…

Anaconda下安装配置Jupyter

Anaconda下安装配置Jupyter 1、安装 conda activate my_env #激活虚拟环境 pip install jupyter #安装 jupyter notebook --generate-config #生成配置文件提示配置文件的位置: Writing default config to: /root/.jupyter/jupyter_notebook_config.py检查版本&am…

从PyTorch官方的一篇教程说开去(3.3 - 贪心法)

您的进步和反馈是我最大的动力,小伙伴来个三连呗!共勉。 贪心法,可能是大家在处理陌生问题时候,最容易想到的办法了吧? 还记得小时候,国足请了位洋教练发表了一句到现在还被当成段子的话:“如…

用Label Studio,让数据标注变得简单而高效

Label Studio:精准标注,智能模型的起点- 精选真开源,释放新价值。 概览 Label Studio作为数据标注的得力助手,其设计初衷是简化机器学习项目中繁琐的数据准备工作。它提供了一个用户友好的界面,使得即便是非技术用户也…

SpringMVC实现文件上传

导入文件上传相关依赖 <!--文件上传--> <dependency><groupId>commons-fileupload</groupId><artifactId>commons-fileupload</artifactId><version>1.3.1</version> </dependency> <dependency><groupId>…

实现Nginx的反向代理和负载均衡

一、反向代理和负载均衡简介 1.1、反向代理 反向代理(reverse proxy)指:以代理服务器来接受Internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给Internet上请求连接的客户端。此时代理服务器对外就表现为一个反向代理服务器。 反向代…

【YOLOv10[基础]】热力图可视化实践① | 支持视频热力图 | 密度热力图 | 论文必备

本文将进行添加YOLOv10版本的热力图可视化功能的实践,支持视频的热力图可视化。 目录 一 热力图可视化实践① 1 代码 2 效果图 在论文中经常可以见到提取的物体特征以热力图的形式展示出来,将特征图以热力图的方式进行可视化在深度学习中有以下的原因: ①强调激活区域 ,…

HarmonyOS Next系列之地图组件(Map Kit)使用(九)

系列文章目录 HarmonyOS Next 系列之省市区弹窗选择器实现&#xff08;一&#xff09; HarmonyOS Next 系列之验证码输入组件实现&#xff08;二&#xff09; HarmonyOS Next 系列之底部标签栏TabBar实现&#xff08;三&#xff09; HarmonyOS Next 系列之HTTP请求封装和Token…

常用的网络爬虫工具推荐

在推荐常用的网络爬虫工具时&#xff0c;我们可以根据工具的易用性、功能强大性、用户口碑以及是否支持多种操作系统等多个维度进行考量。以下是一些常用的网络爬虫工具推荐&#xff1a; 1. 八爪鱼 简介&#xff1a;八爪鱼是一款免费且功能强大的网站爬虫&#xff0c;能够满足…

【详细的springboot自动装载原理】

1.默认提供的核心配置模块 springboot提供了 spring-boot-autoconfigure模块&#xff0c;该模块为springboot自动配置的核心模块&#xff0c;它初始化好了很多我们平时需要的配置类&#xff0c;那么有了这些配置类就能生效了吗&#xff1f;得需要一个东西在启动的时候去把它加…

C++ | Leetcode C++题解之第264题丑数II

题目&#xff1a; 题解&#xff1a; class Solution { public:int nthUglyNumber(int n) {vector<int> dp(n 1);dp[1] 1;int p2 1, p3 1, p5 1;for (int i 2; i < n; i) {int num2 dp[p2] * 2, num3 dp[p3] * 3, num5 dp[p5] * 5;dp[i] min(min(num2, num3…

CTF-Web习题:2019强网杯 UPLOAD

题目链接&#xff1a;2019强网杯 UPLOAD 解题思路 打开靶场如下图所示&#xff0c;是一个注册和登录界面 那就注册登录一下&#xff0c;发现是一个提交头像的页面&#xff1a; 试了一下只有能正确显示的png图片才能提交成功&#xff0c;同时F12拿到cookie&#xff0c;base6…

自己开发软件实现网站抓取m3u8链接

几天前一个同学说想下载一个网站的视频找不到连接&#xff0c;问我有没有什么办法,网站抓取m3u8链接 网页抓取m3u8链接。当时一听觉得应该简单&#xff0c;于是说我抽空看看。然后就分析目标网页&#xff0c;试图从网页源码里找出连接&#xff0c;有的源代码直接有,但是有的没有…

与Bug较量:Codigger之软件项目体检Software Project HealthCheck来帮忙

在软件工程师的世界里&#xff0c;与 Java 小程序中的 Bug 作战是一场永不停歇的战役。每一个隐藏在代码深处的 Bug 都像是一个狡猾的敌人&#xff0c;时刻准备着给我们的项目带来麻烦。 最近&#xff0c;我就陷入了这样一场与 Java 小程序 Bug 的激烈较量中。这个小程序原本应…

【北京迅为】《i.MX8MM嵌入式Linux开发指南》-第三篇 嵌入式Linux驱动开发篇-第三十九章 Linux MISC驱动

i.MX8MM处理器采用了先进的14LPCFinFET工艺&#xff0c;提供更快的速度和更高的电源效率;四核Cortex-A53&#xff0c;单核Cortex-M4&#xff0c;多达五个内核 &#xff0c;主频高达1.8GHz&#xff0c;2G DDR4内存、8G EMMC存储。千兆工业级以太网、MIPI-DSI、USB HOST、WIFI/BT…

爬虫实战:解决代理IP频繁中断的实操建议

当代理IP在爬虫中频繁掉线时&#xff0c;我们先要了解出现问题的可能原因&#xff0c;这不仅限于技术性因素&#xff0c;还涉及操作策略和环境因素。只有在找到具体原因后&#xff0c;才能针对问题类型从源头解决IP掉线问题。 一、问题原因&#xff1a; 1. 代理IP质量问题导致…

数据结构(Java):七大排序算法【详解】

目录 1、排序的概念 1.1 排序 1.2 排序的稳定性 1.3 内部排序&外部排序 1.4 各排序算法总结对比 2、 插入排序 2.1 &#x1f338;直接插入排序 2.2 &#x1f338;希尔排序 3、 选择排序 3.1 &#x1f338;直接选择排序 3.2 直接选择排序优化 3.3 &#x1f338;…

清华大学联合斯坦福大学提出混合注意力机制MoA,大模型解码速率提高6倍

随着大语言模型的规模不断扩大&#xff0c;如何在保持模型性能的同时提高其效率&#xff0c;成为了当前研究的热点问题。最近&#xff0c;清华大学联合斯坦福大学提出一种名为"注意力混合"(Mixture of Attention, MoA)的新方法&#xff0c;用于自动压缩大语言模型。 …

ES中的数据类型学习之ALIAS

Alias field type | Elasticsearch Guide [7.17] | Elastic 这里只针对data type的alias&#xff0c;暂时不说 index的alias。直接实战开始 PUT trips { "mappings": { "properties": { "distance": { "type": &…

开源安全态势感知平台Security Onion

简介 Security Onion是一款由安全防御人员为安全防御人员构建的免费开放平台。它包括网络可见性、主机可见性、入侵检测蜜罐、日志管理和案例管理等功能。详细信息可以查看官网Security Onion Solutions 在网络可见性方面&#xff0c;Security Onion提供了基于签名的检测&…