# 让大模型记住看过的视频、听懂你说的话:M3-Agent 长记忆多模态智能体实战指南
>
本文基于 ByteDance Seed 团队开源的 M3-Agent 项目撰写,确保真实可靠。
如果你正在寻找“如何让智能体像人一样记住长期经历并据此推理”的完整落地流程,请直接阅读本文。
## 一句话看懂 M3-Agent
M3-Agent = 看得懂视频 + 听得懂语音 + 记得住内容 + 用得上记忆。
它把感知到的画面、声音压缩成“记忆图谱”,随后在任何时刻都能像调取硬盘文件一样,把相关记忆拿出来帮助完成任务。
## 目录
-
它能做什么?—— 3 个真实场景 -
底层原理 5 张图 -
数据:M3-Bench 长视频问答基准 -
本地跑通全流程(含踩坑提醒) -
训练篇:如何用 verl 框架继续提升模型 -
常见疑问 FAQ -
延伸阅读与引用
## 1. 它能做什么?—— 3 个真实场景
场景 | 输入 | 输出示例 |
---|---|---|
家用机器人 | 机器人巡视房间 2 小时视频 | “主人把钥匙放在餐桌第二层抽屉” |
个人助理 | 用户 30 分钟会议录像 + 语音 | “总结:项目延期 2 周,负责人已发邮件确认” |
内容审核 | 长视频直播流 | “第 47 分钟出现违规商品链接” |
一句话:只要给视频或音频,M3-Agent 就能在数小时之后回答任何与之相关的问题,且准确率比 GPT-4o + Gemini-1.5-pro 组合高 5–8%。
## 2. 底层原理 5 张图
### 2.1 总体流程
实时视频 & 音频
│
├─ ① 记忆化进程(Memorization)
│ - 每 30 秒切一 clip
│ - 产生 episodic memory(情景记忆)
│ - 产生 semantic memory(语义记忆)
│ - 统一写入「记忆图谱」
│
└─ ② 控制进程(Control)
- 用户提问
- 检索记忆图谱
- 多轮推理
- 生成答案
### 2.2 记忆图谱结构
-
节点:实体(人、物体、地点、事件) -
边:时间先后、空间位置、语义关联 -
模态:文字描述 + 关键帧 + 音频特征
### 2.3 模型分工
模块 | 作用 | 开源权重 |
---|---|---|
M3-Agent-Memorization | 把 clip 变成图谱节点 | Hugging Face |
M3-Agent-Control | 根据问题检索并回答 | Hugging Face |
评测器 | GPT-4o 自动打分 | 无需下载 |
## 3. 数据:M3-Bench 长视频问答基准
### 3.1 数据规模
子集 | 视频数 | 平均时长 | 问答对 |
---|---|---|---|
robot | 100 | 1.5 h | 800 |
web | 929 | 20 min | 9 k |
### 3.2 标注类型
-
人:身份、动作、情绪 -
物体:类别、位置、状态 -
事件:起因、经过、结果 -
跨模态:画面与语音是否一致
下载命令(一行搞定)
huggingface-cli download ByteDance-Seed/M3-Bench --repo-type dataset --local-dir ./M3-Bench
## 4. 本地跑通全流程
>
下文所有路径均以官方仓库为准。假设你使用 Ubuntu 22.04 + Python 3.10。
### 4.1 环境准备
git clone https://github.com/ByteDance-Seed/M3-Agent.git
cd M3-Agent
bash setup.sh # 自动装 ffmpeg, sox 等系统依赖
pip install -r requirements.txt
额外 2 个包需手动安装(官方文档遗漏提醒)
pip install qwen-omni-utils==0.0.4
pip install git+https://github.com/huggingface/transformers@f742a644
### 4.2 快速体验(30 分钟)
#### Step 1:挑一段视频
官方示例:data/videos/robot/bedroom_01.mp4
#### Step 2:切片
./scripts/cut_video.sh data/videos/robot/bedroom_01.mp4
输出到 data/clips/robot/bedroom_01/
#### Step 3:生成中间结果(可选)
-
如果你已下载官方 intermediate_outputs
,可跳过 -
否则需下载 eres2netv2 语音模型 并放到 models/
python m3_agent/memorization_intermediate_outputs.py \
--data_file data/data.jsonl
#### Step 4:生成记忆图谱
python data_preparation/generate_memory_qwen.py \
--data_file data/data.jsonl
完成后在 data/memory_graphs/robot/bedroom_01.pkl
看到图谱文件。
#### Step 5:提问
python m3_agent/control.py \
--data_file data/annotations/robot.json
示例输出:
Q: Where did the user leave the remote?
A: On the sofa, right side.
### 4.3 可视化记忆图谱(调试用)
python visualization.py \
--mem_path data/memory_graphs/robot/bedroom_01.pkl \
--clip_id 1
浏览器打开 http://localhost:8000
即可交互查看。
## 5. 训练篇:如何用 verl 继续提升模型
>
M3-Agent 的两个核心模型均可继续训练。官方已放出 verl 训练脚本仓库。
### 5.1 训练 Memorization 模型
仓库地址:https://github.com/hyc2026/sft-qwen2.5-omni-thinker
git clone https://github.com/hyc2026/sft-qwen2.5-omni-thinker.git
cd sft-qwen2.5-omni-thinker
pip install -r requirements.txt
启动 SFT(单卡 80G A100 约 6 小时)
bash scripts/run_sft.sh \
--model_name_or_path Qwen/Qwen2.5-Omni-7B \
--data_path ./data/m3_memorization.jsonl \
--output_dir ./checkpoints/mem
### 5.2 训练 Control 模型
仓库地址:https://github.com/hyc2026/M3-Agent-Training
git clone https://github.com/hyc2026/M3-Agent-Training.git
cd M3-Agent-Training
verl 一键启动 GRPO 强化学习:
python -m verl.trainer.main \
config=ppo_m3_agent.yaml \
actor_rollout_ref.model.path=Qwen/Qwen2.5-Omni-7B \
data.train_files=data/control_train.parquet \
data.val_files=data/control_val.parquet
关键超参(已调优)
参数 | 值 | 说明 |
---|---|---|
rollouts.n | 1024 | 每次收集 1k 条样本 |
ppo_epochs | 4 | 训练 4 epoch |
actor_lr | 1e-6 | 较小学习率防崩 |
reward_model | GPT-4o + 规则混合 | 兼顾准确与效率 |
## 6. 常见疑问 FAQ
### Q1:没有 GPU 能跑吗?
-
推理:7B 模型在 16G 3060 即可,但内存需 32G 以上(缓存视频特征)。 -
训练:官方脚本最低 1×A100 80G;若想提速,可用 FSDP2 + 4×3090。
### Q2:能换成中文视频吗?
可以。只要保证 data.jsonl
的 "video_path"
指向中文视频,其余流程不变。注意语音识别需使用中文预训练 eres2netv2
。
### Q3:记忆图谱会不会越滚越大?
官方实现采用“时间衰减 + 重要性评分”双重策略,30 天前的低权重节点会被自动清理,显存占用稳定。
### Q4:如何接入自己的知识库?
把知识库文本转成节点,写入记忆图谱即可。示例代码在 tools/insert_kg.py
。
## 7. 延伸阅读与引用
-
M3-Agent 论文
Lin Long et al., Seeing, Listening, Remembering, and Reasoning: A Multimodal Agent with Long-Term Memory, arXiv:2508.09736
在线阅读 -
verl 框架
Guangming Sheng et al., HybridFlow: A Flexible and Efficient RLHF Framework, arXiv:2409.19256
在线阅读 -
数据集与模型下载
Hugging Face 组织页面:ByteDance-Seed
M3-Bench 数据集
M3-Agent-Memorization 模型
M3-Agent-Control 模型
>
当你想让 AI 不止“看一遍就忘”,而是真正拥有长期记忆时,M3-Agent 提供了目前最完整、可落地的开源方案。
从 30 分钟体验 Demo 到用 verl 训练自己的版本,只需一台 GPU 机器即可开始。祝你玩得开心,也欢迎把成果回馈给社区。