一、区块扩散(Block Diffusion)—— 解决长序列计算瓶颈

传统问题:Transformer 的自注意力计算复杂度为 O(n²),当序列长度增加时(如 10 万 token),计算量和内存占用呈平方级增长。


ChatDLM 的解法:


语义分块:将长文本按语义边界(如段落)切割为独立块,每个块可并行编码,降低单块计算长度。


跨块注意力:通过轻量级注意力机制(如稀疏注意力或跨块汇总)实现块间信息交互,避免全局注意力计算。


效果:计算复杂度降至 O(n log n),相当于将“一次大矩阵运算”拆解为“多个小矩阵并行运算 + 块间通信”,适合 GPU 并行计算,这是实现 2800 tokens/s 高吞吐 的关键。


二、专家混合(MoE)—— 平衡模型能力与计算效率

传统问题:大模型参数量庞大(如千亿级),每次推理需激活全部参数,导致计算开销巨大。


ChatDLM 的解法:


动态路由:针对每个输入 token,路由器仅选择 2 个最相关的专家模块(如 32-64 个专家池)进行处理,其余专家处于休眠状态。


领域专家微调:针对法律、医疗等垂直领域,对特定专家进行定向训练,提升专业知识的召回精度(95.6%)。


效果:保持万亿级参数容量,但每次推理仅激活约 3-6% 的参数,降低 70% 计算量,同时维持模型通用能力。


三、长上下文优化——工程级创新保障实用性

位置编码:采用 RoPE(旋转位置编码) ,增强模型对绝对/相对位置的感知,避免长文本位置信息丢失。


分层缓存策略:


将 KV 缓存分为“高频近期缓存”和“低频历史缓存”,根据注意力权重动态管理。


在 13 万 token 输入下实现 98.2% 缓存命中率,减少重复编码。


动态早停机制:


实时监测生成内容的置信度或熵值,当输出趋于稳定时提前结束解码,减少冗余生成步骤。


结合区块扩散,对已收敛的块停止计算,实现 40% 无效计算削减。