# PEFT LoRA 合并回退：比较启用、关闭、合并和解除合并，检查底座是否被误改

已执行作者矩阵启用/关闭/合并/解除合并算术与误差检查；未操作真实PEFT模型，作者矩阵不是训练权重。

## 运行

在本目录使用独立虚拟环境并安装requirements.txt；脚本结果写入results。

```sh
python reference/audit.py
python reference/run_sdk.py
```

fixtures是原创输入与故意失败样本；作者真值、离线合成provider和实际SDK记录各自标明，不是模型正确率。需要真实模型/账号/GPU的步骤按正文另行授权运行。

## 1. 区分关闭、合并和解除合并

关闭adapter在前向时不加增量，merge写入底座参数，unmerge尝试减回增量；merge_and_unload还会改变可用操作，不能混为一谈。

## 2. 复算作者矩阵参考

audit.py对2×2矩阵展示base、enabled/merged、unmerged输出，并检查恢复误差。此处不是基础模型或PEFT推理。

## 3. 保存真实底座与adapter校验值

目标环境加载后先记录关键权重副本和模型版本，使用eval及固定采样。不要在唯一生产模型上反复试合并。

## 4. 测试启用与disable_adapter

同一输入对比适配器开启、关闭及上下文退出后的恢复。记录真实输出和参数状态，不能只看生成文字像不像。

## 5. 单次merge并复测

调用文档支持的merge方法后检查与enabled前向差异；量化、dtype和实现可能使数值不同，阈值需合理说明。

## 6. unmerge核对底座差值

保存关键权重最大绝对差，不强求浮点按位一致。重复merge负例应能被状态管理拒绝或显式避免。

## 7. 交付状态与误差回执

本包只有作者矩阵参考及目标环境示例，无真实PEFT模型操作。不可逆卸载之前保留可重新加载的底座和adapter。

## 官方依据

- PEFT 官方文档或源码：https://huggingface.co/docs/peft/developer_guides/lora
