Implement bounded streaming CPU functional reuse pilot

This commit is contained in:
2026-11-09 04:40:33 +08:00
parent d4012592b6
commit 573cbedd98
15 changed files with 940 additions and 3 deletions
+16 -2
View File
@@ -28,7 +28,7 @@ NumPy 2.5.4,OPENBLAS_NUM_THREADS=1、OMP_NUM_THREADS=1,远程 timeout 60 秒
使用受信任的算子实现及小数组正确性检查;模型仓库代码不直接执行。
先确认首个短样本能以受控内存运行。不用不正确的“简化 Qwen”产生看似有价值的结果。
2. **真实分布上的候选**:batch=1、32 tokens,校准和留出各 4 段真实文本。
按顺序加载、计算、释放每层,保留很小的入口激活;探测选定的 3 个 full-attention 层对和 2 个 MLP 对。
按顺序加载、计算、释放每层,保留很小的入口激活;探测预先固定的 3 个 full-attention 层对、2 个 MLP 对,以及 6 个 full-attention 层内的 Q/K 归一化模块对,共 11 对。
每对在两个来源层的隐藏输入上分别测试,记录 JS、top-k、完整分支输出误差。
3. **最小干预证据**:最多对 1 个候选做单处替换;冻结参数,在留出文本上看输出变化,
条件允许时流式计算 token NLL。词表输出头分块归约 logsumexp,避免一次物化大 logits。
@@ -48,8 +48,22 @@ NumPy 2.5.4,OPENBLAS_NUM_THREADS=1、OMP_NUM_THREADS=1,远程 timeout 60 秒
- 先实现最小正确路径;线性状态递推、长上下文和生成速度不塞入首轮。
- 总计算 120 分钟,阶段预算见功能方案;无候选、超时或数值/实现核对失败均停止。
- 容量探测已完成,真实模型阶段尚未执行。后续需要恢复本实验自有的固定 revision 权重,
分析后按既有规则校验归档并删除;不增加模型规模或自动租用 GPU。
权重持续保留,只有用户明确要求删除时才清理;不增加模型规模或自动租用 GPU。
CPU 上“找到输出接近的候选”能支持继续投入 GPU;
“在指定小样本中单处复用保持质量且节省明确资源”才是初步正例。
两者都不能替代大规模能力验证。CPU 时延不外推为 GPU 加速率。
## 当前权重保留规则
用户于 2026-11-09 明确要求:本轮模型权重保留,只有用户明确要求删除时才删除。
试验完成、超时、失败、归档或结果校验均不得自动触发清理。该要求覆盖先前逐模型分析后删除的约定。
上一轮已删除的历史记录保留;本轮恢复下载的权重受新规则保护。
## 本轮执行补充
实际实验分支为 `codex/cpu-reuse-experiment`。在读取真实权重/功能指标前,新增固定的
6 个层内 Q/K RMSNorm 增益共享候选,以检查较小粒度的功能复用;不是看过留出结果后扩充搜索。
最多选择一个候选,必须分别验证两个替换方向;完整模块失败不会被小模块通过所掩盖。
归一化共享最多节省少量字节,不预设能显著减少计算。
采集真实隐藏输入必须正确执行前置线性注意力;它不进入首轮复用候选,但其递推计算纳入官方参考对照。