CLaRa调研报告
CLaRa 调研报告
前言
在网络安全领域,RAG 系统(Retrieval-Augmented Generation,检索增强生成)作为一种智能工具,将外部的安全知识库(如漏洞数据库、威胁情报和合规文档)与大型语言模型结合在一起,从而为安全相关的问题提供准确、可追踪的回答。
这种系统主要帮助安全分析人员面对海量、分散且高度专业的安全信息,手动查找效率低下、响应缓慢、知识更新不及时,以及容易忽略关键细节。通过 RAG,系统可以提升威胁评估、事件响应、合规咨询和漏洞管理的自动化水平和准确性。它还能有效减少大型模型在回答专业问题时出现的“幻觉”问题(即模型生成不准确或虚构的信息)。
在RAG系统中,检索器负责从外部知识库中查找与输入问题相关的文档或片段,而压缩器则对检索到的内容进行筛选、精简或重排,以保留最相关的信息并减少噪声,从而提升生成质量与效率。
传统 RAG 系统的局限性
尽管传统 RAG 系统通过外部知识增强 LLM,但仍存在两大主要问题:
效率问题:RAG 系统在检索信息时,会将文本转换为低维稠密向量(通常为 256、512 或 1024 维的数字表示,用于语义匹配)。然而,当模型生成内容时,它不能直接使用这些向量作为输入,而是需要重新读取检索到的原始文本,并将其编码成新的向量。这导致三个具体问题:
- 检索和生成的语义表示不在同一维度,导致不一致。
- 模型在处理检索到的文档时,可能因上下文过长而“爆炸”(即超出模型处理能力的长度限制)。
- 重复编码文本,浪费计算资源。
优化分离问题:检索器仅根据向量相似度选择相关文档,但生成器有时会发现这些文档无法回答问题,却无法将此反馈传递给检索器。这是因为检索过程是一个离散的选择操作(top-k 或 top-p,选择或不选择,没有中间状态),数学上梯度几乎为零,无法通过梯度回传优化。结果是检索器和生成器无法协同工作,检索质量难以满足生成器的实际需求。
苹果公司的 CLaRa 框架介绍
苹果公司最近推出了一种名为 CLaRa 的框架(Compressible Latent Retrieval-Augmented Generation,可压缩潜在检索增强生成)。它构建了一个高效、可微分的 RAG 框架,将检索和生成步骤融合在一起,只使用一个简单的 next-token prediction 损失函数(即预测下一个词的语言建模损失),实现压缩、检索和生成的端到端优化。
CLaRa 的关键创新包括:
- SCP 预训练:将文档压缩为连续的 memory tokens(记忆令牌,一种浓缩的表示形式),解决表示空间不一致和冗余编码的问题。
- Straight-Through 软 top-k 机制:打破梯度回传障碍,让生成器直接优化检索器。
一、压缩器预训练——教模型识别关键事实和推理链
这一步的目的是让模型学会提取文档中的核心信息,包括事实和多步推理。
1.1 数据
数据使用 Qwen-32B 模型在 200 万篇 Wikipedia 文章上自动生成,包括两种类型:
- 简单 QA:每个问题-答案对只涉及一个事件,例如:“Trichocladus crinitus 属于哪个科?”答案:“Hamamelidaceae”。这训练模型记住细粒度事实。
- 复杂 QA:问题-答案对跨越多个事件,需要多步推理,例如:“2014 年 10 月 2 日加入 Newport County、10 月 4 日替补上场输给 Oxford United 的球员是谁?”答案:“James Loveridge”。这训练模型学会连接多跳关系。
1.2 模型
CLaRa 系统基于一个 LLM,加上三个 LoRA(Low-Rank Adaptation,低秩适配,一种高效的模型微调方法)模块:
- 压缩:将所有文档(如维基百科、威胁情报、日志等)输入模型,每篇文档前拼接一段固定长度的压缩向量。压缩后,所有向量存入数据库。
- 查询:将用户问题也压缩成相同维度的查询向量,然后根据此向量,从数据库中检索 top-k 个文档压缩向量,并将它们拼接成一个长序列。
- 回答:使用这个长序列进行自回归生成(即逐步预测下一个词),输出答案。
二、端到端训练——融合检索和生成
在这一阶段,冻结压缩部分的参数,只训练查询和回答部分。
- 损失函数:使用标准的 next-token prediction 交叉熵损失(衡量预测准确度的指标)。
- 反向传播:将传统的 top-k 选择改为 Straight-Through Estimator,允许梯度传播。
- 多跳推理:通过端到端梯度回传,查询步骤学会主动补充缺失的中间环节。
最终效果:生成器像“老师”一样,通过计算损失和梯度下降,指导检索器改进检索质量。
三、效果
压缩率定义为:原始文档 token 数 ÷ 压缩后 memory tokens 数。CLaRa 的优势在于,传统 RAG 需要阅读大量文本才能准确回答问题,而 CLaRa 只需少量 memory tokens 即可达到类似效果。
以下是 CLaRa(128 倍压缩率)与传统全文档 RAG 在数据集上的性能比较:
| 数据集 | 传统全文档 RAG | CLaRa 128 压缩 | 提升幅度 |
|---|---|---|---|
| Natural Questions | 54.58 | 53.36 | 几乎持平 |
| HotpotQA | 42.94 | 41.37 | 几乎持平 |
| MuSiQue | 44.24 | 46.40 | +2.16 |
| 2Wiki | 37.67 | 37.85 | 基本持平 |
| 平均 | 44.86 | 44.75 | 基本持平 |
四、应用场景
在网络安全场景中,CLaRa 相比传统 RAG 表现出显著优势:
| 安全场景 | 传统 RAG | CLaRa |
|---|---|---|
| 威胁情报结构化解析 | 依赖规则和人工标注,容易出现漏报或误报。 | 离线将全网数十亿条 IOC、STIX、MISP、OTX 等情报压缩成浓缩包,查询时自动补充缺失字段,提升结构化准确率。 |
| 攻击链多跳重建 | 手动翻阅 EDR、防火墙和威胁情报的数十万条日志。 | 128 倍压缩后上下文仅几百 token,7B 模型可在秒级重建完整 攻击链,并主动补充缺失的 C2 或横移节点。 |
| 告警关联与去噪 | 每天几万条告警,90% 是噪音,分析成本极高。 | 端到端训练让模型只关注真正影响答案的线索,噪音自动被排除。 |
| APT 未知威胁研判 | 完全依赖人工经验,响应时间从几小时到几天。 | 查询学会隐式推理,能像资深分析师一样自动关联线索,例如“这个行为像 2021 年 SolarWinds 攻击”。 |

