LongLLMLingua: 长上下文场景的智能提示压缩框架
一、框架概述
- 核心目标
- 解决长上下文场景下的计算成本问题
- 降低处理延迟
- 提升模型性能表现
- 创新特点
- 问题感知的粗到细压缩策略
- 文档重排序机制
- 动态压缩比例控制
- 压缩后的子序列恢复策略
二、技术方法详解
- 粗粒度压缩
(a) 文档评分机制
- 使用文档级困惑度(perplexity)计算重要性分数r_k
- 困惑度越低表示模型预测越准确,文档越重要
- 评分公式: 结合问题文本(x_que)和限制文本(x_restrict)计算
(b) 低困惑度文档筛选
- 保留最相关的K’个文档
- 通过阈值动态调整保留数量
- 细粒度压缩
(a) 重要性评估
- 分别评估指令(x_ins)、问题(x_que)和文档中每个标记
- 采用迭代压缩机制
- 直接计算标记级困惑度
(b) 对比困惑度创新
- 引入对比困惑度概念
- 计算问题条件下的分布偏移
- 更准确识别问题相关标记
- 信息重排序策略
- 基于文档重要性分数进行重新排序
- 将关键信息置于文档前部
- 缓解中间信息丢失问题
- 动态压缩控制
- 初始预算确定(τ_doc)
- 根据文档重要性动态分配压缩预算
- 使用线性调度器进行自适应分配
- 预算分配公式包含文档数量(Nd)和控制参数(δτ)
三、实验评估
- 评估环境
数据集:
- NaturalQuestions
- LongBench
- ZeroSCROLLS
对比基线:
- 检索类方法:BM25、Gzip、Sentence-BERT、OpenAI Embedding
- 压缩类方法:Selective Context、LLMLingua
目标模型:
- GPT-3.5-Turbo-06134
- LongChat-13B-16k
- 性能表现
(a) 效果性能
- 在各种压缩比例下保持领先
- 显著减少输入标记数量
- 维持较高的任务准确率
(b) 效率提升
- 响应延迟大幅降低
- API调用时间明显缩短
- 压缩率越高,效率提升越明显
- 消融实验结果
- 问题感知机制贡献显著
- 动态压缩比例证明必要
- 子序列恢复策略效果明显
- SBERT用于粗粒度压缩效果较差
四、技术优势总结
- 信息保留
- 高效保留问题相关信息
- 维持关键实体完整性
- 减少中间信息丢失
- 自适应能力
- 智能调节压缩比例
- 动态分配压缩预算
- 灵活应对不同场景
- 实用价值
- 降低计算资源消耗
- 提升处理效率
- 保持模型性能