Qwen3.8-27B-TM-Gemma4-Glimmer-v3
用 Transport and Merge(arXiv 2602.05495)把两个异构模型的权重经最优传输映射后
注入 Qwen/Qwen3.8-27B。【零训练】。
| 角色 | 模型 | 宽度 | 层数 | 贡献的模块 |
|---|---|---|---|---|
| target | Qwen/Qwen3.8-27B |
5120 | 64 | —(骨架) |
| source | google/gemma-4-31B |
5376 | 60 | 注意力投影 |
| source | meta-models/Muse-Glimmer-30B |
6656 | 52 | FFN |
实际融合的模块:mlp.down_proj, mlp.gate_proj, mlp.up_proj, self_attn.k_proj, self_attn.o_proj
它是怎么做出来的
对每一对(target 层 l,source 层 m)的每个线性子层:
- 在相同的 2000 篇校准文本上抽激活(逐文档均值池化)
- 代价矩阵
C[i,j] = 1 - pearson(x_i, y_j),再按行扣掉最小值 - 熵正则 OT(Sinkhorn,200 迭代,eps 按
gap / ln(m/0.01)每对自适应) - 层级 OT 给出
P_eff = sqrt(P_pre * P_post) W_fused = (1-a)*W_A + a * sum_m P_eff[l,m] * Q_out W_B Q_in^T,a=0.05- top-128 掩码:只改 target 激活幅度最大的 128 个输出通道
词表、嵌入表、归一层、全部 Gated DeltaNet 层、视觉塔、MTP 头逐字节来自 target,未动。
为什么 eps 必须自适应(本系列 v1 的失败原因)
定值 eps=0.1(论文附录 A.3.4 的值,在 1B 目标、n≈2048 上调的)在 n=17408 的张量上会让
n·exp(-c̄/eps) ≈ 1,非对角质量追平对角质量。自融标定(target × target,正确答案是精确
置换阵)因此给出 C_layer 随 n 单调上升 0.098 → 0.531,与
f = (n-1)e^(-c̄/eps) / (1 + (n-1)e^(-c̄/eps))、c̄=0.95 的预测逐项吻合。
改成 eps = gap / ln(m/delta) 之后同一组张量降到 0.014 – 0.112。
诊断数据(请先看这一节再看分数)
自融标定(target × target,上界)
正确答案是精确置换阵。这张表说明流水线本身是对的。
| 模块 | C_layer | 设计目标 | 超出 | 锐度/理想 | eps |
|---|---|---|---|---|---|
self_attn.k_proj |
0.03389 | 0.01000 | 3.4x | 1.6x | 0.0867 |
self_attn.o_proj |
0.01764 | 0.01000 | 1.8x | 1.3x | 0.0761 |
mlp.gate_proj |
0.04586 | 0.00993 | 4.6x | 2.7x | 0.0691 |
mlp.up_proj |
0.02571 | 0.01000 | 2.6x | 1.5x | 0.0696 |
mlp.down_proj |
0.01404 | 0.01000 | 1.4x | 1.2x | 0.0761 |
设计目标 = EPS_DELTA × gap。超出的部分是层内通道冗余:高维 MLP 中间层里有大量
近重复神经元,软 OT 在它们之间分摊质量是模型的性质,不是实现缺陷。
self_attn.q_proj 已从计划中移除:target 的 q_proj 是 48 个 256 的子块交错排列
(24 对 A/B,一半 query 一半门控),两种通道群混在一张张量里,一个 OT 计划盖不住 ——
它的锐度是理想值的 78 倍,而其余模块都在 1.2 – 2.7 倍。
跨模型(真实供体)
| source | 模块 | gap | z | 零信息 | z 倍数 | 锐度倍数 | DMR | 判定 |
|---|---|---|---|---|---|---|---|---|
gemma |
self_attn.k_proj |
0.368 | 16.5 | 3.32 | 4.95 | 8.8 | 0.153 | GO |
gemma |
self_attn.o_proj |
0.284 | 12.7 | 3.58 | 3.55 | 13.8 | 0.120 | GO |
glimmer |
mlp.gate_proj |
0.422 | 18.9 | 3.91 | 4.82 | 17.9 | 0.311 | GO |
glimmer |
mlp.up_proj |
0.359 | 16.0 | 3.91 | 4.11 | 15.1 | 0.298 | GO |
glimmer |
mlp.down_proj |
0.200 | 9.0 | 3.64 | 2.46 | 10.6 | 0.079 | GO |
- gap = 每个 target 通道"最佳匹配比大盘低多少代价"的中位数。
- z =
gap × sqrt(T),即最佳匹配相对 Pearson 抽样噪声地板的标准差数。与 eps 无关。 - 零信息 = 同形状纯高斯噪声下 z 的解析期望。实测噪声与它的偏差在 2% 以内。
- 锐度倍数 = 同一个 eps 下,噪声计划比真实计划平多少倍。
- DMR = 对角带内的 P_eff 占比(均匀基线 ≈ 0.20)。
- 共融合 128 张张量,平均
|dW|/|W| = 0.01039, 平均rv(传输矩阵行间差异)= 0.8308,平均conc(层级计划集中度)= 5.55。
⚠️ Enrichment 与锐度不能跨对直接比。eps 自适应之后每对 eps 不同,而这两个量都随
1/eps 变尖。纯噪声的 gap 只有抽样噪声大小,自适应会给它极小的 eps,凭空造出很尖的计划。
本卡片的判定用的是与 eps 无关的 z 倍数,噪声侧也是在真实供体的 eps 下重算的。
诚实声明
- 【未评测】。这个仓库的存在意义是可复现地回答"这三个模型能不能这么融"。
- T&M 原论文的实验全部是单 source → 单 target,Algorithm 1 只接一个 source。 双 source 是本仓库的外推,靠"注意力只接 Gemma、FFN 只接 Glimmer"的模块级不交叉避开冲突。
- 论文的 target 是 1B 级、source 为 7B/8B/32B。本仓库是 27B target 吃 30B 级 source, 方向相反,且跨厂商、跨宽度、跨词表、跨注意力机制。外推幅度很大。
- Gemma 用 GeGLU、Qwen/Glimmer 用 SwiGLU。本仓库因此不从 Gemma 搬 FFN。
P_eff是否行归一:ROW_NORM=True。原仓库源码只实现了 Q/K/V/O,MLP 未实现, 这一点未能与官方对齐。- 必须的对照组:把
SHRINK_ONLY=True重跑一遍(只做(1-a)*W_A,不注入)。 把 128 行乘1-a本身就是一个与注入同量级的扰动。两者分数一样就说明"融合"没发生。 - a 不用重建:
W_fused对 a 是仿射的,W(a') = W_A + (a'/a)(W(a) - W_A),W_A就是公开的Qwen/Qwen3.8-27B。所以任何其它 a 都能从本仓库做任务向量缩放算出来。
用法
from transformers import AutoModelForCausalLM, AutoTokenizer
m = AutoModelForCausalLM.from_pretrained("YFC-112358/Qwen3.8-27B-TM-Gemma4-Glimmer-v3", dtype="auto", device_map="auto")
t = AutoTokenizer.from_pretrained("YFC-112358/Qwen3.8-27B-TM-Gemma4-Glimmer-v3")
引用
@article{cui2026transport,
title={Transport and Merge: Cross-Architecture Merging for Large Language Models},
author={Cui, Chenhang and Yang, Binyun and Shen, Fei and Chen, Yuxin and Zheng, Jingnan
and Wang, Xiang and Zhang, An and Chua, Tat-Seng},
year={2026}, eprint={2602.05495}, archivePrefix={arXiv}
}