Files

76 lines
5.2 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# CPU 先导:先找值得继续验证的信号
更新:2026-11-09。目的不是在 CPU 上完成广泛能力及高吞吐评测,
而是低成本判断实际输入分布上是否存在值得 GPU 进一步验证的复用候选。
全程不训练,不求 R。
## 已执行的容量检查
服务器 8.211.154.134:2 核 x86_64,约 1.7 GiB RAM;检查时可用约 892 MiB,
swap 已用约 2.2 GiB,根盘可用约 73 GiB。共享主机快照不是实验独占资源。
NumPy 2.5.4,OPENBLAS_NUM_THREADS=1、OMP_NUM_THREADS=1,远程 timeout 60 秒。
随机种子 42、float32、X 为 32×2048;每种 W 随机生成后连续执行 4 次 X@W,
第 1 次作为冷调用,其余 3 次单独报告。随机输入仅用于容量测量。
| W 形状 | W 大小 | 首次乘法 | 后续三次乘法(秒) |
|---|---|---|---|
| 2048×2048 | 16 MiB | 0.027816 | 0.027035、0.027207、0.025878 |
| 2048×6144 | 48 MiB | 0.086039 | 0.082543、0.110806、0.075336 |
输出均为有限数,进程峰值 RSS 88,220 KiB(约 86.2 MiB)。
耗时只包含矩阵乘法,不包含权重生成、磁盘读取、BF16 转换、模型其余操作及框架开销。
它支持继续评估小批量 CPU 投影计算,不足以外推完整模型时延或宣称发现可复用性。
没有模型权重参与,没有编译、下载或模型前向。
## 执行路线与证据等级
1. **实现与资源可行性**:核对固定 revision 的位置编码、归一化、GQA 和门控,
使用受信任的算子实现及小数组正确性检查;模型仓库代码不直接执行。
先确认首个短样本能以受控内存运行。不用不正确的“简化 Qwen”产生看似有价值的结果。
2. **真实分布上的候选**:batch=1、32 tokens,校准和留出各 4 段真实文本。
按顺序加载、计算、释放每层,保留很小的入口激活;探测预先固定的 3 个 full-attention 层对、2 个 MLP 对,以及 6 个 full-attention 层内的 Q/K 归一化模块对,共 11 对。
每对在两个来源层的隐藏输入上分别测试,记录 JS、top-k、完整分支输出误差。
3. **最小干预证据**:最多对 1 个候选做单处替换;冻结参数,在留出文本上看输出变化,
条件允许时流式计算 token NLL。词表输出头分块归约 logsumexp,避免一次物化大 logits。
若没有正确且可承受的干预实现,就止于“候选”,不称为验证成功。
4. **GPU 细化**:候选通过才扩展长度、样本、线性注意力、多处共享及质量—成本曲线。
先导主证据来自真实文本产生的隐藏状态,而不是高维空间上的均匀随机向量。
直接按真实样本出现频率聚合,就能近似按目标使用分布加权,不先引入昂贵的高维密度估计。
保留逐文本及尾部误差,少量低频但关键用例不被平均值掩盖。
## CPU 内存与停止约束
- 不同时加载完整模型的 BF16/FP32 副本;模型原始权重约 4.55 GB,大于当前 RAM。
- 单层/子矩阵流式读取,及时解除映射或释放页面;先设本进程 RSS 512 MiB 软停止线,
系统可用内存低于 256 MiB 或持续 swap 活动就停止并保存进度,不改全局 swap 配置。
软停止线不替代实际峰值检测,分配前须计算临时内存。
- 先实现最小正确路径;线性状态递推、长上下文和生成速度不塞入首轮。
- 总计算 120 分钟,阶段预算见功能方案;无候选、超时或数值/实现核对失败均停止。
- 容量探测已完成,真实模型阶段尚未执行。后续需要恢复本实验自有的固定 revision 权重,
权重持续保留,只有用户明确要求删除时才清理;不增加模型规模或自动租用 GPU。
CPU 上“找到输出接近的候选”能支持继续投入 GPU;
“在指定小样本中单处复用保持质量且节省明确资源”才是初步正例。
两者都不能替代大规模能力验证。CPU 时延不外推为 GPU 加速率。
## 当前权重保留规则
用户于 2026-11-09 明确要求:本轮模型权重保留,只有用户明确要求删除时才删除。
试验完成、超时、失败、归档或结果校验均不得自动触发清理。该要求覆盖先前逐模型分析后删除的约定。
上一轮已删除的历史记录保留;本轮恢复下载的权重受新规则保护。
## 本轮执行补充
实际实验分支为 `codex/cpu-reuse-experiment`。在读取真实权重/功能指标前,新增固定的
6 个层内 Q/K RMSNorm 增益共享候选,以检查较小粒度的功能复用;不是看过留出结果后扩充搜索。
最多选择一个候选,必须分别验证两个替换方向;完整模块失败不会被小模块通过所掩盖。
归一化共享最多节省少量字节,不预设能显著减少计算。
采集真实隐藏输入必须正确执行前置线性注意力;它不进入首轮复用候选,但其递推计算纳入官方参考对照。
## 用户最新目标修订
不再以成本/加速作为成功条件;主问题是现有学习部分的功能重复。
新增一次固定四层的 MLP 神经元函数搜索、独立留出和双向替换,
见 [功能重复判据](LEARNED_FUNCTION_REPETITION.md)。解析增益合并单独归类,不冒充学习部分重复。