【神经网络】上下文腐烂 & 上下文污染

1. 上下文腐烂

一、核心定义

上下文腐烂:属于Transformer架构天生缺陷,指上下文Token数量越多,模型推理、检索定位能力反而持续变差。

并非上下文溢出、装不下内容,而是信息堆积过多导致注意力稀释、关键信息失效

RAG典型坑:盲目增大召回Chunk数量(TopK过大),不仅不提升准确率,反而大幅增加幻觉、漏读原文。

二、三大底层成因(本质原因)

1. 注意力稀释

Transformer注意力总分权固定,上下文文本越长,单条文档分到的注意力权重越小。有效知识被大量冗余、弱相关信息稀释,模型无法精准捕捉关键内容。

2. 中间信息丢失(Lost in Middle)

大模型存在天然位置偏好:优先重视首尾内容、忽略中段内容。RAG关键参考文档一旦落在上下文中间,极易被模型无视,明明原文有答案,依旧产生幻觉编造。

3. 超长文本预训练短板

大模型预训练阶段缺少海量超长文本样本,天生不擅长在数万Token的长文本中定位细节、梳理逻辑,上下文越长,逻辑错乱、漏信息概率越高。

三、RAG落地直观表现

  1. 召回TopK越大(15/20),准确率反而下降,幻觉暴涨;
  2. 关键业务规则、知识库条款落在段落中间,模型直接忽略、自由发挥;
  3. 多轮对话、Agent任务越往后越健忘,遗忘前置约束,重复出现逻辑错误。

四、四种解决方案 + 核心作用

1. 严控召回数量(基础最优方案)

作用:从源头精简上下文,放弃盲目多拉文档,固定TopK=3~5;调高向量相似度阈值,直接过滤弱相关冗余切片,缓解注意力稀释问题。

2. 上下文压缩 / 摘要精简

作用:对长Chunk去冗余、做核心摘要,压缩Token体积;同时将关键信息前置排布,解决模型“迷失中间”的位置偏好问题。

3. 动态按需检索(高级RAG方案)

作用:不一次性灌入全量文档,历史对话、旧知识存入向量库,仅根据当前问题实时召回强相关片段,始终保持上下文短小、干净、高精准。

4. Rerank重排序优化

作用:对向量召回结果二次精准打分,剔除低价值、弱相关文档;将高分有效内容置顶至上下文首尾,适配模型位置偏好,彻底降低中段信息丢失概率。

2. 上下文污染

一、定义

检索出来的无关、错误、矛盾、残缺的文档片段混入 Prompt 上下文,错误信息被大模型采信,造成答案跑偏、幻觉。

和上下文腐烂区别:腐烂 =内容太多,有效信息被淹没;污染 =内容有错,劣质信息带偏模型。

二、产生原因

  1. Embedding 召回不准,相似度低的无关文本被捞进上下文;
  2. 知识库原文脏数据:错别字、过期文档、前后冲突规章;
  3. Chunk 切分破碎,单切片断章取义、语义不全。

三、表现

模型拿着错误资料正经作答,答案跟着错文档走,不是凭空瞎编(外部幻觉少、内部篡改多)。

四、四种解决方案

  1. Rerank 重排序:二次筛选,剔除低相关段落;
  2. 调高向量检索阈值,低相似度文档直接丢弃;
  3. 入库预处理:文档清洗、去重、剔除过期资料,从源头净化知识库;
  4. 多路混合检索(关键词 + 向量),减少误召回。

3. 【总结】:一句话记忆

腐烂是量多撑坏,污染是掺了假货。

posted @ 2026-06-06 09:12  静心笃行。  阅读(23)  评论(0)    收藏  举报