120 lines
8.7 KiB
Markdown
120 lines
8.7 KiB
Markdown
# 免训练功能复用:下一阶段有界方案
|
||
|
||
状态:研究设计,尚未执行。原始参数试验已完成;没有新增前向、下载或训练。
|
||
目标:寻找并验证至少一个在留出数据上保持约定质量、同时降低明确运行成本的复用实例;
|
||
若没有通过者,报告有界搜索的阴性结果,不保证一定能找到。
|
||
|
||
## 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. 资源与阶段预算
|
||
|
||
当前服务器实际约 1.7 GiB RAM,不按“60 GB 内存”安排前向;60 GB 是磁盘扩容。
|
||
后续需要用户确认可执行前向的远程环境;建议先评估至少 16 GiB RAM/显存的单模型环境,
|
||
这不是已验证最低配置。先做内存估算及一次短样本容量探测,不足即停止,不自动换机器。
|
||
不在本机编译、不自动重下已删除权重。本轮只交付设计。
|
||
|
||
后续若获执行授权,首轮固定模型/revision/dtype、batch=1、长度最多 256,
|
||
校准和留出各 16 条固定且去重的文本序列(中文/英文各半),只处理文本路径。
|
||
数据来源、许可、tokenizer revision、截断、样本 hash 和抽样 seed 必须先入 manifest。
|
||
每序列至多 32 个固定 query 位置,保留这些行的全部合法 key,避免采样 key 改变 softmax。
|
||
流式聚合,不保存全部层的 N×N attention,不调用生成式聊天作替代评测。
|
||
|
||
| 阶段 | 上限 | 完成条件 / 停止条件 |
|
||
|---|---|---|
|
||
| 容量探测及基线 | 15 分钟 | 无 OOM,固定输出重复测量可复现;否则停止 |
|
||
| 同输入探测与筛选 | 45 分钟 | 固定 27 对候选;每类别最多保留 1 对,总计最多 3 对;无通过者即停止后续干预 |
|
||
| 单处干预与质量 | 45 分钟 | 逐个候选,不叠加;留出集测 token NLL 和逐序列变化;失败不追加搜索 |
|
||
| 成本测量和归档 | 15 分钟 | 保存基线/干预的质量、内存和计时,超时则输出已完成覆盖率 |
|
||
|
||
总计算上限 120 分钟;下载单独记录,不触发无限重试。16 条留出序列只是先导证据,
|
||
不能据此宣布广泛能力保持。首轮通过后才另立更大留出任务验证计划。
|
||
|
||
## 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、覆盖率和失败原因、质量—成本散点图、逐层热图、
|
||
基线与干预原始计时、环境及代码版本。结论分为:功能接近、单处干预通过、测得实际收益三档。
|
||
“存在一个免训练复用点”的操作性证据必须同时具有后两项;当前静态试验尚未提供这类证据。
|
||
|
||
相关依据与训练限制见 [文献核对](FUNCTIONAL_REUSE_LITERATURE.md)。
|