Acesso no exterior: www.kdjingpai.com
Ctrl + D Marcar este site como favorito

M3-Agent是由字节跳动SEED团队开发的一个多模态智能体框架。它的核心特点是拥有长期记忆能力,能够像人类一样,通过处理实时的视频(看)和音频(听)输入,来建立并不断更新自己的记忆。这个记忆系统不只是记录发生了什么事(情景记忆),还能从中提炼出知识和概念(语义记忆),例如识别不同的人物、物体以及它们之间的关系。 M3-Agent将这些信息整理成一个以“实体”为中心的多模态知识图谱,从而对环境有更深入和连贯的理解。 当接收到用户的指令或问题时,它能够自主地进行多轮次的思考和推理,从庞大的长期记忆库中检索相关信息,最终完成任务或给出答案。这项技术解决了现有模型难以处理和记忆长视频信息的痛点,在机器人、个人助理等领域有广泛的应用前景。

Lista de funções

  • Processamento de entrada multimodal: 能同时接收并理解实时的视频和音频信息流。
  • 长期记忆构建: 能够将接收到的信息转化为长期记忆,并且分为两类:
    • memória situacional: 记录具体发生的事件和原始内容。
    • memória semântica: 从事件中提炼出关于实体(如人物、物体)的抽象知识和它们之间的关系。
  • 实体为中心的记忆结构: 记忆以实体为核心进行组织,形成一个多模态知识图谱,确保信息的一致性和关联性。
  • 自主推理与检索: 在收到指令后,能自主进行多轮次的迭代式思考,并从记忆库中检索最相关的信息来辅助决策。
  • Otimização do aprendizado aprimorado: 通过强化学习来训练智能体的记忆检索和推理能力,以达到更高的任务成功率。
  • Desempenho líder: 在多个长视频问答基准测试中,其准确率显著高于Gemini-1.5-pro和GPT-4o等领先模型。

Usando a Ajuda

M3-Agent的运行分为两个核心过程:记忆(Memorization)和控制(Control)。记忆过程负责分析视频,建立知识库;控制过程则负责根据用户提问,从知识库中检索信息并生成回答。

Requisitos de hardware

  • 完整运行(包含记忆过程): 需要配备1张A100(80GB显存)或4张RTX 3090(24GB显存)的服务器。
  • 仅运行推理(控制过程): 至少需要16GB显存的GPU。
  • 硬盘空间: 至少需要200GB的可用空间,用于存放模型和处理过程中的缓存文件。

Configurações ambientais

首先,需要克隆代码仓库并安装基础环境。

# 执行设置脚本
bash setup.sh
# 安装特定版本的transformers库
pip install git+https://github.com/huggingface/transformers@f742a644ca32e65758c3adb36225aef1731bd2a8
# 安装Qwen-Omni工具库
pip install qwen-omni-utils==0.0.4

第一步:记忆过程(Memorization)

这个过程是将视频内容转化为结构化的记忆图谱,存储在本地。如果你使用官方提供的M3-Bench数据集,可以跳过部分数据处理步骤,直接下载官方处理好的中间文件和记忆图谱。

1. 视频切片
由于模型处理的是短视频片段,需要先将长视频切成30秒一段。

#!/bin/bash
# 定义视频文件路径变量
video="robot/bedroom_01"
input="data/videos/$video.mp4"
# 创建用于存放切片的目录
mkdir -p "data/clips/$video"
# 获取视频总时长
duration=$(ffprobe -v error -show_entries format=duration -of default=noprint_wrappers=1:nokey=1 "$input")
duration_seconds=$(echo "$duration" | awk '{print int($1)}')
# 计算需要切成多少段
segments=$((duration_seconds / 30 + 1))
# 循环切片
for ((i=0; i<segments; i++)); do
start=$((i * 30))
output="data/clips/$video/$i.mp4"
# 使用ffmpeg命令进行切片
ffmpeg -ss $start -i "$input" -t 30 -c copy "${output}"
done

2. 准备数据配置文件
创建一个JSONL格式的文件,例如data/data.jsonl,每一行描述一个视频的信息。

{"id": "bedroom_01", "video_path": "data/videos/robot/bedroom_01.mp4", "clip_path": "data/videos/clips/bedroom_01", "mem_path": "data/videos/memory_graphs/bedroom_01.pkl", "intermediate_path": "data/videos/intermediate_outputs/robot/bedroom_01"}

3. 生成中间输出(可选)
这一步会使用人脸检测和说话人识别工具来生成用于构建记忆的中间文件。如果你已从Hugging Face下载官方处理好的intermediate_outputs,可以跳过此步。

# 首先下载音频嵌入模型和speakerlab库存放到指定目录
# 结构应如下:
# m3-agent/
# ├── models/
# │   └── pretrained_eres2netv2.ckpt
# └── speakerlab/
python m3_agent/memorization_intermediate_outputs.py \
--data_file data/data.jsonl

4. 生成记忆图谱
使用M3-Agent的记忆模型(M3-Agent-Memorization)来生成最终的记忆图谱文件(.pkl(Formato).

# 首先从Hugging Face下载M3-Agent-Memorization模型
python m3_agent/memorization_memory_graphs.py \
--data_file data/data.jsonl

第二步:控制过程(Control)

当记忆图谱生成后,就可以开始提问与回答。

1. 额外环境设置
控制过程需要特定版本的库。

bash setup.sh
pip install transformers==4.51.0
pip install vllm==0.8.4
pip install numpy==1.26.4

2. 提问与评估
使用M3-Agent的控制模型(M3-Agent-Control)来生成答案,并可以使用GPT-4o来评估答案的质量。

# 首先从Hugging Face下载M3-Agent-Control模型
python m3_agent/control.py \
--data_file data/annotations/robot.json

Entre elesdata/annotations/robot.json文件包含了针对视频的提问。你可以修改此文件来提出你自己的问题。

可视化记忆图谱

你还可以将生成的记忆图谱可视化,以直观地查看智能体的记忆内容。

python visualization.py \
--mem_path data/memory_graphs/robot/bedroom_01.pkl \
--clip_id 1

cenário do aplicativo

  1. 智能家居机器人
    一个家庭服务机器人搭载M3-Agent后,可以通过持续观察家庭环境和成员活动,记住每个家庭成员的习惯、物品的常用位置等。例如,当主人问“我的眼镜放哪了?”时,机器人可以回忆起最后看到眼镜的位置并告知主人。 它还能记住主人早上有喝咖啡的习惯,并主动在特定时间准备好咖啡。
  2. 个人数字助理
    M3-Agent可以作为一个超级助理,整理和记忆用户所有的数字化信息,包括视频会议、语音通话、浏览的网页等。当用户需要查找数周前某个会议讨论到的一个细节时,只需用自然语言提问,助理就能从长期记忆中准确调出相关信息片段。
  3. 自动化内容分析
    对于需要处理大量视频监控的安防领域,M3-Agent可以自动分析数天甚至数月的录像,建立一个关于场景、人员和活动的时间线与知识库。当需要调查特定事件时,分析人员不再需要人工观看海量视频,而是可以直接向系统提问,如“查询过去一周所有穿红色衣服的人出现的片段”,系统能快速返回所有相关录像。

QA

  1. M3-Agent与GPT-4o这类大语言模型有什么核心区别?
    核心区别在于M3-Agent拥有一个专门设计的外部长期记忆系统。GPT-4o这类模型的记忆主要局限于当前对话的上下文窗口,对话结束后就会“忘记”。而M3-Agent能像人一样,把通过摄像头和麦克风感知到的信息持续存入一个结构化的记忆库中,并能在未来的任何时候进行检索和推理,实现跨越时间和任务的记忆。
  2. M3-Agent的“记忆图谱”是如何工作的?
    记忆图谱是一种网络状的数据结构。M3-Agent会从视频和音频中识别出关键“实体”(如人物、物体),并将它们作为图谱中的节点。然后,它会记录这些实体在不同时间、不同事件中的状态、行为以及它们之间的关系,这些信息作为连接节点的边。这种方式让记忆不再是零散的片段,而是相互关联的知识网络,非常利于进行复杂的推理。
  3. 部署和使用M3-Agent的技术门槛高吗?
    对于非技术用户来说,直接部署有一定门槛,因为它需要熟悉Linux命令行、Python环境以及深度学习模型的配置。此外,对硬件要求较高,尤其是记忆生成阶段需要强大的GPU支持。 但对于开发者和研究人员,项目提供了详细的安装和运行脚本,按照官方文档步骤执行,可以比较顺利地完成部署。
0Marcado
0Recomendado

Não consegue encontrar ferramentas de IA? Tente aqui!

Basta digitar a palavra-chave Acessibilidade Bing SearchA seção Ferramentas de IA deste site é uma maneira rápida e fácil de encontrar todas as ferramentas de IA deste site.

voltar ao topo

pt_BRPortuguês do Brasil