
一、研究动机与假设核心假设DNA 碱基互补配对A-T, G-C是一种优雅的类型组合机制——每个碱基有确定的互补碱基配对规则构成了遗传信息的语法。如果自然语言中也存在类似的隐式类型系统那么可以用碱基互补约束来诱导语言模型自发学习句法结构而无需任何标注数据。工程目标如果碱基互补层能高效预测 token 类型的兼容性就可以作为轻量级 draft model 加速大模型推理speculative decoding与 OpenASH 构建混合架构用类型先验减少语义层的负担二、方法演进2.1 V1Gumbel-Softmax 对比学习初步验证方法每个 token 学习左/右碱基分布Gumbel-Softmax 可微采样通过固定互补矩阵 C对合置换用对比损失最大化相邻 token 的碱基互补亲和力熵正则化防止坍塌。数据英语自定义语法 80 句NP→DTJJN, VP→VNPPP、中文对话 3000 行。结果英语 POS NMI0.474碱基与 4 种词性显著对齐中文候选匹配率 0.156随机 0.0831.88x候选空间从词表压缩至 6-8%局限数据量太小匹配率绝对值低0.156 vs 目标 0.5tau 退火导致梯度消失。2.2 V2GRU 编码器尝试序列建模结果PPL≈980远差于 V1。GRU 的序列建模能力在碱基互补框架下不如直接的双线性交互。2.3 V3多层堆叠更深架构结果adj_match0.567比 V1 差V10.808。深层堆叠没有带来更好的类型分离。2.4 V4Cumulative Max累积最大化结果PPL15578完全失败。累积最大化操作破坏了梯度流。2.5 V1 大规模网格搜索B8,12,16,24,32在 500K 行中文预训练数据上用 V1 架构进行网格搜索B匹配率PPL80.807811.47120.7912.3160.7613.1240.7115.8320.6518.2B8 是最优配置但 V1 的 Gumbel-Softmax tau 退火在大规模数据上仍然不稳定。2.6 BaseComplementLM v1Softmax 可学习 tau语言模型化关键转变从候选筛选转向完整语言模型。直接用碱基互补计算下一个 token 的 logits。公式logits Σ_d sigmoid(τ[d]) × softmax(right[d][ctx]) C left[d].T bias结果PPL527。tau 坍塌问题sigmoid(τ) → 0 或 1导致 one-hot 分配梯度为零。Softmax 将碱基分配退化为独热编码丧失了分布式表示的优势。2.7 BaseComplementLM v2原始双线性无 Softmax/Tau突破性改进核心修正移除 softmax 和 tau使用原始双线性形式。每个 token 对每个距离 d 有实值碱基嵌入left[d], right[d]通过可学习的互补矩阵 C 计算兼容性。公式logits Σ_{d1}^{L} sigmoid(ls[d]) × right[d][ctx_token] C left[d].T bias其中right[d]:[V, B]矩阵token 在距离 d 的右碱基嵌入left[d]:[V, B]矩阵token 在距离 d 的左碱基嵌入C:[B, B]可学习互补矩阵ls[d]: 每层可学习标量sigmoid 激活控制不同距离的贡献初始化B^{-0.25}使 X C Y 的初始值在合理范围配置B64, L8, OpenASH 词表23005 tokens500K 行中文预训练数据。结果Val PPL 69.13从 v1 的 527 大幅改善参数量23.6M层尺度收敛模式d1:0.93 → d8:0.56距离衰减近邻比远邻更重要关键洞察移除 softmax 是决定性改进。原始嵌入保留了分布式表示的全部信息而 softmax 强行将其离散化丢失了维度间的相对关系。三、混合架构实验3.1 动机BaseComplementLM v2 的 PPL69 远高于纯 OpenASHPPL≈10-15但它捕获的是类型兼容性哪些词类可以相邻而非语义选择具体哪个词最合适。如果将类型层与轻量级语义层结合能否用更少参数达到可比性能3.2 HybridBaseComplementOpenASH 架构最终 logits α × type_logits (1 - α) × semantic_logits type_logits BaseComplementLM v2 输出碱基互补层 semantic_logits LightweightOpenASH 输出小型 OpenASH α sigmoid(combine_log_alpha)可学习混合权重3.3 实验配置与结果实验 AFrozen Hybrid4L/384H类型层冻结组件配置类型层BaseComplementLM v2 (B64, L8)参数冻结语义层4 层 OpenASH decoder, hidden384, 8 headsVal PPL 40.23总参数45.4Mα 0.5959% 类型 41% 语义实验 BJoint Unfrozen4L/384H联合训练Val PPL 40.39epoch 3总参数45.4Mα 0.40严重过拟合epoch 3 后 PPL 飙升至 102epoch 15实验 CJoint Unfrozen6L/512HVal PPL 38.82最佳混合模型总参数58.2Mα 0.55仍然过拟合对照实验纯 OpenASH模型层数/维度参数量Val PPLLightweight OpenASH4L/384H21.8M42.81Lightweight OpenASH6L/512H~40M~39Pure OpenASH6L/768H60.1M38.59Full OpenASH12L/768H85M~10-153.4 公平速度对比在相同参数量~60M下对比模型Val PPL每轮时间总时间(6 epochs)Pure OpenASH 6L/768H38.5922.5s142sJoint Hybrid 6L/512H38.7498.3s602sPure OpenASH 每轮快 4.2 倍PPL 相同。四、碱基分配分析4.1 互补矩阵 C 的结构对训练好的 BaseComplementLM v2 的 C 矩阵进行分析指标数值含义对角线均值0.964C 强对角 →自互补base i 与 base i 配对非对角线绝对均值0.120交叉配对弱有效秩39/64互补空间是 39 维熵占比相对最大熵~98%碱基分配近乎均匀无硬聚类4.2 词性聚类分析分析维度结果POS 纯度56-65%主导分离英语 vs 非英语非中文句法类别中文 n/v/a/d未分离jieba 标签没有形成独立碱基聚类4.3 层尺度距离衰减d1: 0.93 d2: 0.88 d3: 0.82 d4: 0.76 d5: 0.70 d6: 0.65 d7: 0.60 d8: 0.56近邻d1贡献最大远邻d8贡献递减——符合局部句法兼容性的直觉。五、核心结论5.1 科学发现语言中存在隐式类型系统BaseComplementLM v2 在无标注数据上达到了 PPL69证明 token 之间的类型兼容性是可学习的。C 矩阵的有效秩 39 说明类型空间是高维的。类型系统是分布式/连续的不是离散的熵占最大熵的 98% → 碱基分配近乎均匀没有形成 DNA 式的硬碱基C 矩阵强对角0.964→ “自互补”即类型主要与自己配对POS 纯度仅 56-65% → 中文词性没有形成清晰聚类这与 DNA 碱基互补有本质区别DNA 有 4 个离散碱基配对规则是 A-T / G-C 的置换。语言的碱基是连续的、高维的、自互补的——更像一个连续的类型兼容性度量而非离散的类型配对系统。5.2 工程结论方案可行性原因Draft model 加速推理不可行Top-1 接受率仅 4-17%实际加速 0.9-1.2x。输出层仅占 OpenASH 21% 计算瓶颈在 decoder layers混合架构减少参数不可行相同 PPL 下混合模型比纯 OpenASH 慢 4.2x23M 参数浪费在查找表上替代输出层不可行输出层仅 21% 计算即使完全消除也只能加速 1.27x但 draft model 本身也要 11.8M ops最终结论碱基互补配对框架具有科学研究价值证明了语言中存在隐式、连续的类型兼容性系统但没有工程加速价值。在同等参数量下纯 OpenASH 达到相同 PPL 且快 4.2 倍——碱基互补层本质上是 OpenASH 本就能自动学到的冗余表示。5.3 研究意义本研究本质上是一个否定性发现其价值在于证伪了一个优雅的假设。证伪了什么语言中不存在类似 DNA 碱基互补的离散类型配对系统。语言的类型结构是连续的、高维的、自互补的本质上更接近词嵌入空间中的余弦相似度而非 A-T/G-C 式的符号规则。这意味着试图用离散符号规则描述语言结构传统形式语言学的思路从根本上就是不对的——语言的结构是分布式的。确认了什么语言中确实存在隐式的类型兼容性且可以在无标注数据上学习到PPL69, 有效秩 39。这个类型系统是真实存在的只是它的形态与 DNA 碱基互补完全不同。对后续研究的启示如果语言类型系统是连续的而非离散的那么更有效的结构先验可能不是碱基配对而是连续的兼容性核函数如 RBF kernel或类型空间的低维投影。这是值得进一步探索的方向。5.4 为什么失败输出层不是瓶颈OpenASH 的计算 79% 在 decoder layers输出层仅 21%。即使碱基互补层能完美替代输出层最多也只能加速 1.27x。类型兼容性太粗糙PPL69 vs 纯 OpenASH 的 PPL38说明哪些词类可以相邻远不足以预测具体词——语义层仍然承担了绝大部分工作。查找表参数效率低BaseComplementLM 的left[d]和right[d]是[V, B]矩阵本质上是为每个 token 存储一个嵌入。OpenASH 的 decoder 层天然实现了更高效的等价功能。联合训练导致过拟合解冻类型层后模型获得了过多自由度训练集 PPL 持续下降而验证集 PPL 飙升。六、最终结果汇总模型Val PPL参数量每轮时间备注Type-only (BaseComplementLM v2)69.1323.6M—纯碱基互补层Lightweight OpenASH (4L/384H)42.8121.8M—纯小型 OpenASHHybrid frozen (4L/384H)40.2345.4M—冻结类型 轻量语义Joint unfrozen (4L/384H)40.3945.4M—联合训练严重过拟合Joint unfrozen (6L/512H)38.8258.2M—最佳混合模型Pure OpenASH (6L/768H)38.5960.1M22.5s纯 OpenASH 基线Joint Hybrid (6L/512H)38.7458.2M98.3s同参数量对比Full OpenASH (12L/768H)~10-1585M—完整模型七、关键实验决策记录决策时间理由后果移除 softmax/tauBaseComplementLM v1→v2tau 坍塌导致梯度为零PPL 527→47决定性改进使用原始双线性形式v2 设计保留分布式表示的连续性碱基分析揭示了连续类型系统B64, L8v2 配置大碱基数提供更丰富的类型空间有效秩 39/64合理利用冻结 vs 解冻类型层混合实验冻结防止过拟合冻结更稳定解冻后严重过拟合公平速度对比最终验证同参数量才有意义证明纯 OpenASH 4.2x 更快八、项目文件结构F:\base_complement_lm\ ├── model_lm_v2.py BaseComplementLM v2原始双线性可学习 C ├── model_hybrid.py HybridBaseComplementOpenASH LightweightOpenASH ├── train_draft.py 训练 BaseComplementLMOpenASH 词表500K 行 ├── run_hybrid.py 混合 vs 基线对比训练frozen 4L/384H ├── run_joint.py 联合训练unfrozen4L/384H 6L/512H ├── run_speed_compare.py 公平速度对比纯 6L/768H vs 混合 6L/512H ├── analyze_bases.py 碱基分配分析POS 聚类、C 矩阵、熵 ├── bench_speculative.py Speculative decoding 基准测试 ├── outputs_lm_ash/ BaseComplementLM v2 训练输出 │ └── base_complement_draft.pth ├── outputs_hybrid/ 混合实验输出 ├── outputs_joint/ 联合训练输出 ├── outputs_speed/ 速度对比结果 ├── outputs_analysis/ 碱基分析输出 └── 实验报告.md 本报告附录 ABaseComplementLM v2 核心代码classBaseComplementLMv2(nn.Module):def__init__(self,vocab_size,n_bases64,n_layers8):super().__init__()self.Vvocab_size self.Bn_bases self.Ln_layers init_scalen_bases**(-0.25)# B^{-1/4}self.left_logitsnn.ParameterList([nn.Parameter(torch.randn(vocab_size,n_bases)*init_scale)for_inrange(n_layers)])self.right_logitsnn.ParameterList([nn.Parameter(torch.randn(vocab_size,n_bases)*init_scale)for_inrange(n_layers)])self.Cnn.Parameter(torch.randn(n_bases,n_bases)*init_scale)self.layer_scalenn.ParameterList([nn.Parameter(torch.tensor(0.0))for_inrange(n_layers)])self.biasnn.Parameter(torch.zeros(vocab_size))defforward(self,token_ids):B,Ttoken_ids.shape logitsself.bias.unsqueeze(0).unsqueeze(0).expand(B,T,-1).clone()lstorch.sigmoid(self.layer_scale)fordinrange(self.L):ctx_postorch.arange(T,devicetoken_ids.device)-(d1)validctx_pos0ctx_idstorch.clamp(ctx_pos,min0)ctx_tokenstoken_ids.gather(1,ctx_ids.unsqueeze(0).expand(B,-1))right_ctxself.right_logits[d][ctx_tokens]# [B, T, B_dim]projectedright_ctx self.C# [B, T, B_dim]left_Vself.left_logits[d]# [V, B_dim]logitsls[d]*(projected left_V.t())# [B, T, V]ifnotvalid.all():maskvalid.unsqueeze(0).unsqueeze(-1).float()logits-(1-mask)*ls[d]*(projected left_V.t())returnlogits附录 B混合架构核心代码classHybridBaseComplementOpenASH(nn.Module):def__init__(self,type_model,semantic_model):super().__init__()self.type_modeltype_model# BaseComplementLM v2self.semantic_modelsemantic_model# LightweightOpenASHself.combine_log_alphann.Parameter(torch.tensor(0.3))defforward(self,token_ids):type_logitsself.type_model(token_ids)semantic_logitsself.semantic_model(token_ids)alphatorch.sigmoid(self.combine_log_alpha)returnalpha*type_logits(1-alpha)*semantic_logits附录 CSpeculative Decoding 基准测试方法在 5 个中文 prompt 上对比三种推理方式Vanilla OpenASH标准自回归生成Pre-filter用 BaseComplementLM 预筛 top-200 候选仅对这些候选计算 OpenASH 输出Draft-only纯 BaseComplementLM 生成参考接受率测量比较 draft 和 OpenASH 的 top-1 预测是否一致。结果Top-1 接受率4-17%远低于 speculative decoding 需要的 80%Pre-filter 实际加速0.9-1.2xdraft 模型额外开销抵消了输出层节省结论BaseComplementLM 不适合作为 speculative decoding 的 draft model附录 D碱基分析指标定义指标定义计算方式POS 纯度每个碱基中主导词性的占比max(count(POS)) / total_tokens_in_base有效秩C 矩阵的有效维度(singular_values 0.1 * s[0]).sum()熵占比碱基分配熵 / 最大可能熵H(p) / log(B)对角占优度对角线均值 / 非对角线绝对均值diag©.mean() /