这是一个用于研究大语言模型(LLM)自我修正失败机制的机械可解释性框架。不同于传统的性能基准测试,本平台测量内部状态动态(KV Cache 惯性、Logit 概率和对齐动机)。
本项目旨在验证三个核心假设:
-
物理层(KV Cache Prison):自我修正失败是因为自回归的 KV Cache 在物理上将模型锚定在错误的推理路径上。
-
认知层(Metacognitive Illusion):推理模型(如 DeepSeek-R1)表现出"表演性反思",文本形式的道歉与内部概率翻转不相关。
-
社会层(Alignment Tax):RLHF 对齐抑制了修正逻辑错误的动机,转而维护对话流畅性。
- GPU: 单张 NVIDIA GPU,8GB VRAM(RTX 4060/2060Ti)
- 量化: 4-bit 量化(bitsandbytes NF4)
- 批大小: 严格限制为 1
lsc_pd/
├── config/ # 配置管理
│ ├── __init__.py
│ ├── model_config.yaml # 量化和模型路径
│ └── exp_config.yaml # 提示词、超参数
├── data/ # 数据存储
│ ├── raw/ # GSM8K 原始数据集
│ └── processed/ # 诱导错误的 JSONL 文件
├── logs/ # 实验输出
│ ├── ablation_results/ # 实验 1 的 JSONL 结果
│ ├── logit_traces/ # 实验 2 的 CSV/NPZ 文件
│ └── execution.log # 系统日志
├── src/ # 源代码
│ ├── core/ # 核心引擎
│ │ ├── loader.py # 模型加载(4-bit 量化)
│ │ ├── cache_manager.py # KV Cache 裁剪逻辑
│ │ └── generator.py # 包装的生成逻辑
│ ├── experiments/ # 实验逻辑
│ │ ├── base_runner.py # 抽象基类
│ │ ├── exp01_ablation.py # KV Cache 消融实验
│ │ ├── exp02_logits.py # Logit Lens 实现
│ │ └── exp03_alignment.py # Base vs Instruct 实现
│ └── utils/ # 工具函数
│ ├── data_utils.py # GSM8K 解析
│ ├── tensor_utils.py # 张量调试
│ └── visualization.py # 绘图脚本
├── main.py # CLI 入口点
├── requirements.txt # 依赖定义
└── README.md
# 克隆仓库
cd KV Cache
# 创建虚拟环境(推荐)
python -m venv venv
source venv/bin/activate # Linux/Mac
# 或
venv\Scripts\activate # Windows
# 安装依赖
pip install -r requirements.txtpython main.py --mode test_loadpython main.py --mode exp01 --max_samples 10python main.py --mode exp02 --max_samples 5python main.py --mode exp03 --max_samples 10目标:验证移除错误答案 tokens 的 KV Cache 是否能提升自我修正能力。
流程:
- 错误诱导:给 GSM8K 问题,让模型生成答案
- 分支:
- Control(控制):完整上下文 + 完整 KV Cache
- Blind(盲测):仅问题 + 重新计算 KV Cache
- Ablation(消融):仅问题 + 裁剪后的 KV Cache(仅包含问题 tokens)
- 评估:比较三者的最终答案准确率
目标:追踪错误推理过程中正确答案 token 的概率变化。
流程:
- 识别"正确答案 token"(如最终数字)
- 强制模型遍历错误答案的路径
- 在生成错误答案(以及后续修正尝试)的每一步,捕获正确答案 token 的 logits
- 输出:显示真相的"幽灵概率"的时间序列曲线
目标:比较 Base 模型和 Instruct 模型的自我修正动机。
流程:
- 加载同一架构的 Base 和 Instruct 版本
- 测试两者在相同错误诱导场景下的修正率
- 分析 RLHF 对自我修正的抑制作用
- KV Cache Surgery:精确移除特定 tokens 的记忆
- Logit Lens:实时监控目标答案的 token 概率
- 4-bit 量化:在 8GB VRAM 上运行 8B 模型
- 内存管理:显式垃圾回收和 CUDA 缓存清理
MIT License
LSC-PD Research Team
本项目基于以下研究:
- Hugging Face Transformers
- BitsAndBytes 量化
- GSM8K 数据集
- Mechanistic Interpretability 文献