Compare commits

2 Commits

3 changed files with 79 additions and 17 deletions
+1
View File
@@ -4,6 +4,7 @@ Bounded, inference-free analysis of official unquantized model weights. The firs
is **Qwen3.5-2B**. Model weights are downloaded and analyzed on the authorized remote host, is **Qwen3.5-2B**. Model weights are downloaded and analyzed on the authorized remote host,
then deleted after archived results pass validation. No model weights are committed here. then deleted after archived results pass validation. No model weights are committed here.
- [CPU-first feasibility and validation](docs/CPU_FIRST_VALIDATION.md)
- [Training-free functional reuse plan (proposed; not executed)](docs/TRAINING_FREE_FUNCTIONAL_PLAN.md) - [Training-free functional reuse plan (proposed; not executed)](docs/TRAINING_FREE_FUNCTIONAL_PLAN.md)
- [Primary-source literature and applicability](docs/FUNCTIONAL_REUSE_LITERATURE.md) - [Primary-source literature and applicability](docs/FUNCTIONAL_REUSE_LITERATURE.md)
- [Procedure and limits](docs/SOP.md) - [Procedure and limits](docs/SOP.md)
+55
View File
@@ -0,0 +1,55 @@
# 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 对。
每对在两个来源层的隐藏输入上分别测试,记录 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 加速率。
+23 -17
View File
@@ -1,6 +1,6 @@
# 免训练功能复用:下一阶段有界方案 # 免训练功能复用:下一阶段有界方案
状态:研究设计,尚未执行。原始参数试验已完成;没有新增前向、下载或训练。 状态:研究设计,真实模型功能探测尚未执行。原始参数试验已完成;另已完成单线程合成 CPU 容量探测,未新增模型前向、下载或训练。
目标:寻找并验证至少一个在留出数据上保持约定质量、同时降低明确运行成本的复用实例; 目标:寻找并验证至少一个在留出数据上保持约定质量、同时降低明确运行成本的复用实例;
若没有通过者,报告有界搜索的阴性结果,不保证一定能找到。 若没有通过者,报告有界搜索的阴性结果,不保证一定能找到。
@@ -64,26 +64,32 @@ CKA 仅作辅助筛选;共享位置模板、attention sink 和共同残差都
## 5. 资源与阶段预算 ## 5. 资源与阶段预算
当前服务器实际约 1.7 GiB RAM,不按“60 GB 内存”安排前向;60 GB 是磁盘扩容。 采用 CPU 先导、GPU 后续细化的两阶段路径;GPU 不作为寻找初步证据的前置条件。
后续需要用户确认可执行前向的远程环境;建议先评估至少 16 GiB RAM/显存的单模型环境, 当前服务器为 2 核 CPU、约 1.7 GiB RAM;60 GB 是磁盘扩容。详见
这不是已验证最低配置。先做内存估算及一次短样本容量探测,不足即停止,不自动换机器。 [CPU 先导设计及实测](CPU_FIRST_VALIDATION.md)。
不在本机编译、不自动重下已删除权重。本轮只交付设计。
后续若获执行授权,首轮固定模型/revision/dtype、batch=1、长度最多 256, CPU 阶段仅处理文本,batch=1、长度 32,校准/留出各 4 条真实且去重的文本;
校准和留出各 16 条固定且去重的文本序列(中文/英文各半),只处理文本路径。 仅检查 3 个预先固定、覆盖浅中深的 full-attention 层对和 2 个 MLP 层对。
数据来源、许可、tokenizer revision、截断、样本 hash 和抽样 seed 必须先入 manifest。 完整保留合法 key,逐头比较,不通过采样 key 改变 softmax。
每序列至多 32 个固定 query 位置,保留这些行的全部合法 key,避免采样 key 改变 softmax。 模型依赖实现一致性检查和容量探测完成后,才实施真实前向。
流式聚合,不保存全部层的 N×N attention,不调用生成式聊天作替代评测。 权重按层/子矩阵流式读取并释放,禁止全模型转换成 FP32;不把依赖换页的完整框架加载视为可行方案。
数据来源、许可、tokenizer revision、截断、样本 hash 和 seed 在运行前写入 manifest。
| 阶段 | 上限 | 完成条件 / 停止条件 | | CPU 阶段 | 上限 | 完成条件 / 停止条件 |
|---|---|---| |---|---|---|
| 容量探测及基线 | 15 分钟 | 无 OOM,固定输出重复测量可复现;否则停止 | | 实现一致性及短样本容量探测 | 20 分钟 | 模块计算语义核对,内存峰值可控;OOM、持续换页或实现核对失败即停止 |
| 同输入探测与筛选 | 45 分钟 | 固定 27 对候选;每类别最多保留 1 对,总计最多 3 对;无通过者即停止后续干预 | | 真实隐藏输入采集 | 40 分钟 | 流式文本前向采集固定入口,不保存所有层权重/注意力图;超时保存覆盖率 |
| 单处干预与质量 | 45 分钟 | 逐个候选,不叠加;留出集测 token NLL 和逐序列变化;失败不追加搜索 | | 同输入功能比较 | 30 分钟 | 固定 5 对候选;无通过者停止;最多留下 1 个干预候选 |
| 成本测量和归档 | 15 分钟 | 保存基线/干预的质量、内存和计时,超时则输出已完成覆盖率 | | 单处干预及归档 | 30 分钟 | 在 4 条留出文本上检查输出或流式 token NLL;不足以完成则只交付候选证据 |
总计算上限 120 分钟;下载单独记录,不触发无限重试。16 条留出序列只是先导证据, CPU 首轮计算上限 120 分钟,下载单独计时。当前仅执行了约 88 MiB 峰值 RSS 的
不能据此宣布广泛能力保持。首轮通过后才另立更大留出任务验证计划。 合成矩阵乘法探测,没有重下权重或执行真实前向。容量探测不能保证完整模型实现的峰值内存。
线性注意力需另行完成正确性核对,首轮先不加入,避免状态递推实现拖延初步判断。
短文本小样本无法覆盖长上下文或低频关键能力;阴性结果也不能排除更广泛候选。
只有发现值得跟进的候选,GPU 阶段才扩展到原定 27 对候选、长度 256、
校准/留出各 16 条及更多独立任务,细化单处/多处干预与真实性能。
届时由用户提供并确认 GPU 执行环境;当前不租用或假定已有 GPU。
## 6. 干预必须对应可节省的对象 ## 6. 干预必须对应可节省的对象