LLM一个突出的挑战是如何有效处理和理解长文本。就像下图所示,准确率会随着上下文长度显著下降,那么究竟应该怎样提升LLM对长文本理解的准确率呢?

最近,来自AMD和UC San Diego的研究团队提出了一个创新的解决方案——AgenticLU(Agentic Long-Context Understanding)框架,通过引入"澄清链"(Chain-of-Clarifications,CoC)机制,实现了长文本理解能力的突破性提升,在NarrativeQA数据集上取得了97.8%的惊人答案召回率。这个实验结果是目前已知最好的结果。我们看下这篇文章介绍了什么:

图片由修猫创作

框架整体架构
AgenticLU的整体架构如下图所示,包含三个主要部分:

1. 传统LLM的局限性:
- 在处理长文本QA任务时容易失败
- 直接回答往往无法准确定位关键信息
- 缺乏系统性的理解过程
2. AgenticLU的CoC构建过程:
- 通过Path Sampling生成多个可能的理解路径
- 每个路径包含多个Self-Clarify步骤
- 使用Pointback机制精确定位相关文本
- 通过SFT(Supervised Fine-tuning)和DPO(Direct Preference Optimization)进行两阶段训练
3. 创新的2-Level Scaling策略:
- 第一层:构建基础CoC数据集
- 第二层:通过Self-Clarify扩展数据集
- 实现高效的数据利用和模型训练
工作流程详解
AgenticLU的工作流程可以分为以下几个关键步骤:
1. 输入处理:
2. 路径采样:
- 生成多个可能的理解路径
- 每个路径包含不同的澄清问题序列
3. 自我澄清:
- 模型生成针对性的澄清问题
- 通过Pointback机制定位相关文本
- 基于定位的文本回答澄清问题
4. 训练优化:
- SFT阶段:学习生成高质量的CoC路径
- DPO阶段:优化模型的决策偏好
5. 最终推理:
澄清链Chain-of-Clarifications(CoC)是AgenticLU框架的核心创新,它模拟了人类在阅读复杂文本时的认知过程。当我们遇到需要深入理解的内容时,往往会自然地提出一系列问题,并在文本中寻找答案。
CoC就是将这个过程系统化和自动化。
CoC通过以下步骤工作:
1. 自动生成澄清问题:
- 模型会根据原始问题和上下文,生成有针对性的澄清性问题
- 这些问题旨在解决理解中的模糊点或需要进一步确认的细节
2. 上下文定位:
- 使用pointback机制在长文本中精确定位相关段落
- 通过段落索引的方式,避免处理无关信息
3. 回答声明的问题:
- 基于定位到的上下文回答澄清性问题
- 将多个澄清问题的答案整合,形成完整的理解
4. 迭代优化:
- 如果需要,可以进行多轮澄清
- 每一轮都会加深对文本的理解
AgenticLU的实现过程可以分为两个主要阶段:CoC路径构建和CoC路径蒸馏。这种设计既确保了高质量的训练数据,又实现了推理时的高效率。
基础模型与训练数据
研究团队选用了Llama3.1-8B-Instruct作为基础模型,这是一个经过指令微调的80亿参数模型。主要训练数据来自NarrativeQA数据集,包含14.7K个问答对。这些数据的特点是:
- 平均上下文长度:67,812 tokens
- 最大上下文长度:128K tokens
- 总生成token数:17M
- 验证集大小:11.9K条数据
CoC路径构建
在这个阶段,系统通过树搜索的方式收集有效的CoC理解路径:
- 使用分支因子8,搜索深度最多3层
- 每个节点代表一个CoC步骤
- 通过扩展推理时间来确定最有效的澄清问题和相关证据
- 在NarrativeQA数据集上实现了97.8%的答案召回率
评估标准包括:
- 语义相似度:使用RougeL分数衡量与标准答案的相似度
- 离散正确性:使用GPT4o-mini进行二元验证
CoC路径蒸馏
为了提高推理效率,研究团队采用了两阶段的微调策略:
1. 监督式微调(SFT):
- 学习率:5e-7
- 优化器:Adam(β1=0.9,β2=0.95)
- 批次大小:128
- 训练精度:bf16
- 学习率调度:余弦退火
2. 直接偏好优化(DPO):
- 使用与SFT相同的基本参数
- DPO特定参数β=0.1
- 通过GPT4o-mini判断生成答案正确性来构建偏好对
分布式训练实现
- 使用4个GPU节点,每个配备4个AMD MI250 GPU
- 采用DeepSpeed框架进行分布式训练
- 使用vLLM进行推理
- 实现基于OpenRLHF
- 使用FlashAttention-2和Ring Attention处理超长序列
性能对比概览
如下图所示,研究团队对AgenticLU-8B与基础模型Llama3.1-8B以及其他方法进行了全面对比。实验结果表明,AgenticLU在各种上下文长度(从8K到128K)和不同任务类型上都取得了显著优势:

1. 短文本任务表现:
- 基础模型(Llama3.1-8B)在短文本任务上的平均准确率为62.3%
- AgenticLU对短文本任务的影响相对较小,准确率变化为-0.6%
- 这表明AgenticLU的长文本增强并未影响其在短文本任务上的性能
2. 长文本任务性能提升:
- HotpotQA:+31.1%的显著提升
- Natural Questions:+21.7%的准确率提升
- TriviaQA:+7.7%的性能改善
- PopQA:+9.4%的效果提升
- NarrativeQA:+18.0%的准确率提升
- InfiniteBench系列任务:分别提升2.0%和13.0%
3. 性能曲线分析:
- AgenticLU(图中橙色虚线)在所有任务上都显示出最佳或接近最佳的性能
- 随着上下文长度增加,AgenticLU保持稳定的性能表现
- 其他方法(如step-by-step、plan&solve等)在较长上下文下性能明显下降
- ProLong-8B作为强基线模型,在某些任务上表现接近AgenticLU,但整体仍有差距
4. 关键优势:
- 性能稳定性:在128K长度的上下文中仍保持高性能
- 通用性:适用于多种类型的问答任务
- 可扩展性:随上下文长度增加,性能衰减最小
基线方法对比
研究团队将AgenticLU与两类方法进行了对比:
1. 提示工程方法:
- 思维链(Chain-of-Thought)
- 计划与解决(Plan-and-Solve)
- 事实与反思(Fact-and-Reflection)• LongRAG
2. 微调方法:
- ProLong-8B-512K(基于400亿token的长文本训练)
详细实验结果
在7个长文本任务上的表现(准确率%):
1. HotpotQA(多跳推理):
- AgenticLU:71.1%
- 基线模型:40.0%
- 提升:+31.1%
2. Natural Questions:
- AgenticLU:77.8%
- 基线模型:56.1%
- 提升:+21.7%
3. TriviaQA:
- AgenticLU:88.3%
- 基线模型:80.6%
- 提升:+7.7%
4. PopQA:
- AgenticLU:65.5%
- 基线模型:56.1%
- 提升:+9.4%
5. NarrativeQA:
- AgenticLU:56.0%
- 基线模型:38.0%
- 提升:+18.0%
6. InfiniteBench QA:
- AgenticLU:50.0%
- 基线模型:48.0%
- 提升:+2.0%
7. InfiniteBench Choice:
- AgenticLU:68.0%
- 基线模型:55.0%
- 提升:+13.0%
计算开销分析
相比直接回答基线:
- 运行时间开销:仅增加1.93%
- 平均生成token数:
- 基线:76.28 tokens/回答
- AgenticLU:1205.38 tokens/回答 有点费Token
消融实验结果
移除关键组件后的性能变化(在128K上下文长度测试):
- 1. 移除自我澄清:
- HotpotQA:从71.1%降至57.8%
- Natural Questions:从77.8%降至56.7%
- PopQA:从65.5%降至55.5%
- TriviaQA:从88.3%降至78.3%
- 2. 移除上下文定位:
- HotpotQA:从71.1%降至53.3%
- Natural Questions:从77.8%降至59.4%
- PopQA:从65.5%降至52.7%
- TriviaQA:从88.3%降至83.3%
多轮澄清效果
增加澄清轮数的效果:
- 单轮:平均准确率75.7%
- 两轮:平均准确率76.7%
- 三轮:平均准确率78.4%
这表明虽然多轮澄清能带来性能提升,但主要收益在第一轮就已实现。
我认为,AgenticLU框架可以在多个实际应用场景中展现出巨大潜力:
1. 智能客服系统:
2. 文档分析系统:
3. 知识库问答:
4. 教育辅助系统:
为了展示AgenticLU在实际应用中的价值,也是展示论文中对于解决常见场景最有价值的部分。我设计实现了一个基于该框架的市场分析Agent系统。该系统能够处理长文本市场报告,通过多轮澄清来提取关键信息,并生成结构化的分析报告。
系统架构设计
1. 核心组件:
- MarketAnalysisAgent类:实现AgenticLU的核心功能
- 澄清链生成器:负责生成和管理澄清问题
- 上下文管理器:处理长文本的分段和定位
- 报告生成器:整合分析结果并生成最终报告
2. 关键功能实现:
- 多轮澄清机制
- 动态上下文窗口
- 进度可视化
- 结果格式化输出
代码结构示例
class MarketAnalysisAgent:
def__init__(self, api_key, model="DeepSeek-R1-250120"):
self.openai_client = OpenAI(api_key=api_key)
self.model = model
self.max_tokens = 4096
self.temperature = 0.7
defgenerate_clarifications(self, context, question):
"""生成澄清性问题"""
# 实现CoC机制
pass
defanalyze_with_coc(self, document, query):
"""使用澄清链进行分析"""
# 实现多轮分析
pass
实际运行效果

系统运行展示了以下特点:
1. 准确的信息提取:
- 能够从长文本中精确定位关键信息
- 通过多轮澄清提高理解准确度
2. 高效的处理流程:
3. 清晰的输出格式:
AgenticLU框架的提出和成功实现,可以说是LLM长文本理解能力的一个重要突破。通过创新的CoC机制和精心设计的训练策略,解决了长期困扰业界的问题,值得深入研究和借鉴。
文章来自于“AI修猫Prompt”,作者“AI修猫Prompt”。
