Files
exp-model-parameter-similarity/docs/CPU_FIRST_VALIDATION.md

5.2 KiB
Raw Permalink Blame History

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 神经元函数搜索、独立留出和双向替换, 见 功能重复判据。解析增益合并单独归类,不冒充学习部分重复。