章节 01
导读 / 主楼:Packed Twin Inference:无需草稿模型的推测解码新方案,实现2倍吞吐量提升
PTI通过将同一模型打包为"双胞胎"状态,利用单次权重加载同时处理两个token流,在保持输出完全一致的前提下实现高达2倍的推理加速。
正文
PTI通过将同一模型打包为"双胞胎"状态,利用单次权重加载同时处理两个token流,在保持输出完全一致的前提下实现高达2倍的推理加速。
章节 01
PTI通过将同一模型打包为"双胞胎"状态,利用单次权重加载同时处理两个token流,在保持输出完全一致的前提下实现高达2倍的推理加速。
章节 02
章节 03
原作者与来源
\ntokens/sec = HBM带宽 / 模型大小\n\n\n以Qwen3.6-27B Q8在MI50显卡上运行为例:模型大小27GB,HBM2带宽1TB/s,理论最大吞吐量仅为每秒37个token。传统的内核优化手段无法改变这一根本限制,除非能减少加载的字节数,或者在每次加载时完成更多有用的计算工作。\n\n---\n\n传统推测解码的局限\n\n业界标准的解决方案是使用小型草稿模型进行推测解码:先用轻量级草稿模型快速生成N个候选token,然后让大型目标模型在一次并行前向传播中验证这N个token。\n\n这种方法存在明显约束:\n- 需要同时在显存中加载两个模型(草稿+目标)\n- 草稿模型必须足够小才能"免费"运行,这导致质量权衡\n- 不同架构之间接受率较低(约60-70%)\n- 每次推理步骤需要两次独立的内存加载\n\n---\n\nPTI的核心创新:SSQ打包技术\n\nPacked Twin Inference(PTI)采用了一种截然不同的思路。它基于SSQ(Side-By-Side Quantization)技术,将两个Q8(int8)权重值打包到一个uint16字中:\n\n\nuint16槽位:[ int8模型A | int8模型B ]\n 高字节 低字节\n\n\n块布局示例(mode 16,32个权重):\n\n[scale_A f16][scale_B f16][32 × uint16] = 68字节\n\n\n相比两个独立的Q8块,总字节数相同,但一次内存加载可以服务两个权重流。当两个模型共享相同的架构和张量形状时,它们可以完美打包。HIP内核加载一个uint16,解包高低字节,同时计算两个矩阵乘法累加——一次内存事务,两个计算流。\n\n---\n\n双胞胎洞察:让草稿"零带宽成本"\n\n标准推测解码通过让草稿"小"来实现低成本,而SSQ双胞胎通过让草稿在带宽意义上"免费"来实现。\n\n关键洞察:当两个双胞胎是同一模型时,草稿的权重加载成本为零——因为这些权重本来就要为主流加载,草稿只是"搭便车"。\n\n接受率表现:\n- 贪婪解码(temperature=0):100%接受率,自我草稿在贪婪模式下总是与验证器一致\n- 采样模式(temperature=0.6-0.7):结构化文本约70-80%,通用文本约50-65%\n- TSQ辅助模式(同架构微调双胞胎):任务域内可达75-90%\n\n---\n\n实测性能提升\n\n在Qwen3.6-27B UD-Q6_K_XL、MI50显卡上的贪婪解码实测数据:\n\n| 模式 | 吞吐量 | 加速比 |\n|------|--------|--------|\n| 基线(单序列) | 19.4 tok/s | 1.00× |\n| PTI 2序列 | 30.5 tok/s | 1.57× |\n| PTI 3序列 | 33.9 tok/s | 1.75× |\n| PTI 4序列 | 38.1 tok/s | 1.96× |\n| PTI + MTP(目标) | 80-100 tok/s | 4-5× |\n\n当前最佳实现已达到近2倍加速,而结合MTP(Multi-Token Prediction)头的完整方案有望实现4-5倍提升。\n\n---\n\n技术实现架构\n\nPTI的推理循环设计精巧:\n\n1. 初始化:为双胞胎A和B分别建立独立的KV缓存\n2. 前向传播:单次SSQ权重加载同时服务两个流\n - 流A处理已确认的token\n - 流B处理推测性token\n3. 验证:比较双胞胎的输出,决定是否接受推测token\n4. 状态管理:接受时扩展B的KV缓存,拒绝时重置B的状态\n\n核心组件包括:\n- pti_kernel.hip:支持AMD/NVIDIA的HIP内核(矩阵乘法、注意力、验证、Softmax)\n- ssq/包:权重打包、解包和格式转换工具\n- infer.py:基于transformers的Python推理循环\n\n---\n\n未来发展方向\n\nPTI项目规划了多个演进方向:\n\nTSQ辅助模式:将基础模型与任务特定微调模型打包,在保持同架构兼容的同时提升特定任务的接受率。\n\nEAGLE风格微调双胞胎:训练专门的草稿双胞胎,在采样模式下获得比相同双胞胎更高的接受率。\n\nPTI + MTP融合:启用Qwen3.6内置的MTP头,实现单次权重加载处理4个token的目标,理论上可达4倍加速。\n\n---\n\n实践意义与价值\n\nPTI方案的最大价值在于零质量损失。由于验证器就是目标模型本身,所有被接受的token都等同于目标模型的原始输出。这与传统推测解码不同——后者使用较小的草稿模型,即使经过验证也可能引入质量损失。\n\n对于生产环境部署,这意味着:\n- 无需额外的模型存储和管理成本\n- 无需为草稿模型分配额外的显存\n- 无需担心草稿模型与目标模型之间的架构不匹配\n- 输出质量与原始模型完全一致\n\nPTI代表了LLM推理优化的新范式:不是通过近似来换取速度,而是通过更高效的资源利用来实现真正的零损耗加速。