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

9.2 KiB
Raw Permalink Blame History

免训练功能复用:下一阶段有界方案

状态:研究设计,真实模型功能探测尚未执行。原始参数试验已完成;另已完成单线程合成 CPU 容量探测,未新增模型前向、下载或训练。 目标:寻找并验证至少一个在留出数据上保持约定质量、同时降低明确运行成本的复用实例; 若没有通过者,报告有界搜索的阴性结果,不保证一定能找到。

1. 硬约束与研究对象

  • 冻结所有模型参数。不进行优化器更新、微调、蒸馏、LoRA、学习投影或低秩修正。
  • 默认不求正交 R。校准集只用于选择有限候选和阈值,留出集不参与选择。
  • 同类型模块配对;Q/K/V 联合作为功能系统,MLP 独立验证。保留归一化、位置处理、门控及头结构。
  • 已存配置为 24 个文本层,其中 6 个 full attention、18 个线性注意力;执行前按固定 revision 的实际实现复核。 full attention 的 15 个无序层对可穷举;线性注意力首轮只检查 6 个预先固定的相邻同类型层对。 MLP 首轮检查 6 个预先固定、覆盖浅中深层的相邻层对。具体名单在运行前写入 manifest。
  • 之前热力图的 in_proj_a 是线性注意力控制投影示例,不是 Q/K/V 功能相似性的测量。

2. 为什么不用先找 R

给定相同隐藏输入 H,且位置、mask 和缓存/递推状态一致,比较两套模块的实际检索函数:

S_i(H) = Q_i(H) K_i(H)^T / sqrt(d),P_i(H) = softmax(S_i(H) + mask)。

这里 Q/K 指完成该架构实际归一化和位置处理后的量。直接比较 P 可避开内部坐标差异; logit 每行加常数不改变 softmax,因此同时报告去行均值的分数误差。

这不是“存在共同正交 R”的数学证明。反例 Q_2=2Q_1、K_2=K_1/2 保持所有点积, 但非零 Q 的范数改变,不能由正交变换产生。功能等价允许比共同正交旋转更广的关系。 相反,在单套 Q/K 上共同右乘 R 保持点积,只说明坐标不唯一,并未说明两个已训练层可复用。 实际 RoPE、GQA、归一化、门控也必须包含在函数边界内。

有限探针只能提供相应输入分布上的经验证据,不是对所有 H 的形式证明。 在无位置处理/归一化的纯线性特例中,可研究 W_Q W_K^T 的代数相等性; 一般模块不据此简化,首轮不物化所有大算子。

3. 同输入与真实输入分开

对候选 i/j,分别从原模型 i 和 j 的入口收集 H_i、H_j;分别比较 f_i(H_i) 与 f_j(H_i), 以及 f_i(H_j) 与 f_j(H_j)。避免只选有利于某一层的输入。模块前归一化如位于边界外, 必须明确分别测“归一化后核心”和“包含归一化的完整分支”。

这检验模块函数接近程度。实际网络的 f_i(H_i) 与 f_j(H_j) 使用不同输入,是另一项量。 权重共享仍需对每个输入计算;缓存上游输出用于下游则改变了输入,必须实际干预后检验。 MLP 测残差相加前的分支输出,防止共同输入 H 掩盖分支差异。

4. 指标和对照

对象 首轮指标 不能据此宣称的结论
full attention 逐头 P 平均及 P95 行 JS(自然对数,范围 0–ln2)、top-5 重合率;去行均值 S 相对误差 P 相似不保证 V/O 输出相似
完整 attention 分支 相对 L2、逐 token 误差 P50/P95、余弦;包含 V/O/门控 平均低误差不保证长尾任务能力
线性注意力 同输入、同合法初始状态的分支输出及最终状态误差;后续状态继续使用测试 不构造不存在的 softmax 图;状态数值相似不等于长期稳定
MLP 同输入分支输出相对 L2、逐 token P95、余弦 不以各矩阵单独相似代替 gate/up/down 联合验证

相对误差统一为 ||candidate-reference|| / max(||reference||, epsilon),并记录低范数样本数量。 首轮筛选门槛预设:P 平均 JS ≤0.01 且 top-5 重合 ≥0.8;完整分支相对 L2 ≤0.05、 逐 token 相对误差 P95 ≤0.1。它们是筛选约定,不是文献保证或能力损失界。 线性模块和 MLP 使用输出门槛;只通过 P 的候选不能自动通过完整模块门槛。

对照:同模块重复测量、随机同类型层对;首 token 保留/移除并重新归一化两个版本; 排除自注意与局部窗口主导后再测;按序列/位置/浅中深层分层。零分母与无效行单独标记。 逐头记录,不先平均头。默认只用原头序;可选的离散头排列仅在校准集选定后冻结, 须满足 GQA 分组和 V/O 一致性,不允许把最优头匹配分数当作可执行替换结果。 CKA 仅作辅助筛选;共享位置模板、attention sink 和共同残差都可能制造高相似。

5. 资源与阶段预算

采用 CPU 先导、GPU 后续细化的两阶段路径;GPU 不作为寻找初步证据的前置条件。 当前服务器为 2 核 CPU、约 1.7 GiB RAM;60 GB 是磁盘扩容。详见 CPU 先导设计及实测。

CPU 阶段仅处理文本,batch=1、长度 32,校准/留出各 4 条真实且去重的文本; 仅检查 3 个预先固定、覆盖浅中深的 full-attention 层对和 2 个 MLP 层对。 完整保留合法 key,逐头比较,不通过采样 key 改变 softmax。 模型依赖实现一致性检查和容量探测完成后,才实施真实前向。 权重按层/子矩阵流式读取并释放,禁止全模型转换成 FP32;不把依赖换页的完整框架加载视为可行方案。 数据来源、许可、tokenizer revision、截断、样本 hash 和 seed 在运行前写入 manifest。

CPU 阶段 上限 完成条件 / 停止条件
实现一致性及短样本容量探测 20 分钟 模块计算语义核对,内存峰值可控;OOM、持续换页或实现核对失败即停止
真实隐藏输入采集 40 分钟 流式文本前向采集固定入口,不保存所有层权重/注意力图;超时保存覆盖率
同输入功能比较 30 分钟 固定 5 对候选;无通过者停止;最多留下 1 个干预候选
单处干预及归档 30 分钟 在 4 条留出文本上检查输出或流式 token NLL;不足以完成则只交付候选证据

CPU 首轮计算上限 120 分钟,下载单独计时。当前仅执行了约 88 MiB 峰值 RSS 的 合成矩阵乘法探测,没有重下权重或执行真实前向。容量探测不能保证完整模型实现的峰值内存。 线性注意力需另行完成正确性核对,首轮先不加入,避免状态递推实现拖延初步判断。 短文本小样本无法覆盖长上下文或低频关键能力;阴性结果也不能排除更广泛候选。

只有发现值得跟进的候选,GPU 阶段才扩展到原定 27 对候选、长度 256、 校准/留出各 16 条及更多独立任务,细化单处/多处干预与真实性能。 届时由用户提供并确认 GPU 执行环境;当前不租用或假定已有 GPU。

6. 干预必须对应可节省的对象

干预 可以争取的收益 必须额外确认
跨层绑定权重 权重存储/加载内存 各层输入仍不同,通常不减少投影 FLOPs
重用上游 attention 分布,保留下游 V/O 部分 Q/K 投影与 QK/softmax 计算 保留分布的内存及实现开销;decode 未必值得缓存完整图
跨层共享 K/V cache KV 内存,可能减少 K/V 投影 GQA、位置、缓存布局与层依赖合法性
重用完整 attention/MLP 输出 对应分支计算 下游输入不同,必须测试整个原模型中的替换效应

选择的每个候选首先给出一种具体可实现干预;只有同输入指标通过却无实际可省操作, 标记“功能相似但暂无复用实现”。不把整模块可替换和其中 Q/K 可替换混为一谈。

首轮探索性质量门槛:留出平均 token NLL 增量 ≤0.01 nat/token,逐序列增量 P95 ≤0.05, 输出有限;同时保存全部逐序列差值,不将该小样本阈值称为统计显著性或普适能力保证。 候选只在校准集筛选;留出失败不回调阈值、不反复选择。

性能分别测 prefill 和固定 32-token decode;固定 batch/长度/dtype/backend,预热 3 次、 交错运行基线与干预各 10 次,报告原始时延和中位数/P95、峰值内存、KV/权重字节及理论运算变化。 插桩诊断时延不作为优化实现时延。若速度差落在运行波动内,不宣称加速; 若只减内存,则结论限定为内存收益。计入缓存、索引与数据移动开销。

7. 分组与最终证据

单处通过后,才讨论多成员组:每个成员必须通过对同一代表的定向替换检查; 不能用 A≈B、B≈C 推出 A 可代表 C。多处同时替换须再测累积误差和性能, 单处收益不能相加为最终模型收益。首轮不自动执行多处替换。

输出每对候选/每序列/每头指标 CSV、覆盖率和失败原因、质量—成本散点图、逐层热图、 基线与干预原始计时、环境及代码版本。结论分为:功能接近、单处干预通过、测得实际收益三档。 “存在一个免训练复用点”的操作性证据必须同时具有后两项;当前静态试验尚未提供这类证据。

相关依据与训练限制见 文献核对。