线性注意力 + 全注意力 3:1 交替:Coder390 Qwen3.5 架构与内置 MTP 头解析
基础模型大模型多模态模型量化模型评测本地部署【免费下载链接】Qwen3.8-27B-Coder390-EfficientThink-Opus5.5-GPT6Astra-Grok4.7-DSV4Pro-K3-SFT-RLOO-MTP-DFlash2项目地址https://ai.gitcode.com/hf_mirrors/nerkyor/Qwen3.8-27B-Coder390-EfficientThink-Opus5.5-GPT6Astra-Grok4.7-DSV4Pro-K3-SFT-RLOO-MTP-DFlash2点击查看免费下载Coder390基于 Qwen3.8-27B 的后训练模型采用 Qwen3.5 一代的Qwen3_5ForConditionalGeneration架构64 层文本塔中线性注意力层与全注意力层按 3:1 交替排布并自带一个 BF16 的 MTPMulti-Token Prediction多 token 预测头。本文面向新手讲清楚这套混合注意力结构为什么这样设计、MTP 头藏在仓库的哪些文件里、以及它如何在不增加任何额外下载的前提下把解码速度提升约一倍。Coder390 是什么一个可以跑在单卡上的 27B 多模态模型 Coder390 是 Qwen3.8-27B 经过多轮 SFT RLOO 后训练的版本核心目标是治「模型已经算出答案却停不下来」的毛病官方口径下 GPQA 的 94K 截断从 4 题降到 1 题LCB 从 13 题降到 3 题。它总参数 27,781,427,952支持文本 图像 视频输入并提供 BF16、静态 FP8、NVFP4、INT8/INT4、GGUF、NInfer 等一整套量化档位。静态 FP8 档成绩为 GPQA 178/198、MMLU 450/500、LCB 90/100全面不低于原版 FP8177 / 444 / 83且 BF16、动态 FP8、静态 FP8 三档之间 GPQA 与 LCB 一题不差——量化基本无损。3:1 交替的混合注意力结构是怎么设计的64 层排布48 层线性注意力 16 层全注意力打开任意档位的 BF16/config.json 可以看到 64 项layer_types规律非常整齐每 4 层里前 3 层是linear_attention第 4 层是full_attention。对应的full_attention_interval参数就写在 BF16/config.jsonfull_attention_interval: 4也就是说 64 48 层线性注意力 16 层全注意力这正是标题里「3:1」的来历。两种注意力各管什么组件关键参数见 BF16/config.json作用线性注意力层×48linear_num_key_heads16、linear_num_value_heads48、linear_conv_kernel_dim4、mamba_ssm_dtypefloat32用固定大小的循环状态SSM 风格代替增长的 KV 缓存算子成本不随上下文长度线性膨胀全注意力层×1624 个 Q 头 / 4 个 KV 头GQA、head_dim256、partial_rotary_factor0.25提供精确的长程检索能力关键位置不丢信息位置编码max_position_embeddings262144、mrope 分段 [11, 11, 10]支持 256K 上下文mrope 把文本、图像、视频的位置信息编进同一套 RoPE 简单理解线性注意力层像「滚动摘要」读多少都只占一份固定内存负责让长上下文的推理又省又快每第 4 层插入一次全注意力像「定期翻原文」保证需要精确定位的信息比如长代码里的某个函数定义能被准确取回。3:1 的比例就是在「省」和「准」之间取平衡这也是为什么它能稳定跑 100K 上下文评测。另外两个细节值得关注注意力输出带门控attn_output_gatetrue、门控类型swishFFN 激活用silu词表大小 248,320。视觉塔是独立的qwen3_5_vision27 层、patch 16、空间合并 2所以同一套权重既能聊代码也能看图看视频。内置 MTP 头把下一个 token 一次猜好几个MTP 是什么、有多大MTPMulti-Token Prediction本质是一个「搭便车」的小型预测头主模型正常解码时MTP 头基于当前隐状态顺手往后猜 1 个草稿 token主模型一次前向就能验证并连续收下若干个 token——这就是投机解码。在 Coder390 里MTP 的配置同样写在 BF16/config.jsonmtp_num_hidden_layers1只有 1 层隐藏层非常轻量mtp_use_dedicated_embeddingsfalse不单独养一套词嵌入直接复用主模型的 embedding省参数。实体文件是每档自带的 BF16/mtp-bf16.safetensors849MB、15 个张量、424,699,392 个参数全部 BF16直接取自官方 Qwen3.8-27B 的 MTP 头FP8、NVFP4 各档里的同名文件与它逐字节一致。实测提速约 2 倍且不改输出分布单张 RTX PRO 6000 SGLang静态 FP8 包的实测数据见 evaluation/BENCH_STATICFP8.json场景不开投机开 MTP开 DFlash2单请求 tok/sC145.691.1180.3总吞吐 tok/sC8283.0380.3646.3平均接受长度—2.814.13MTP 平均每个解码步能收下约 2.8 个 token接受率 60%单请求速度翻倍投机解码不改变目标模型的输出分布只改速度。GGUF 侧实测也一致llama.cpp 融合 MTP 时 Q6_K 包 C1 总吞吐 97.2 tok/s约为不开投机53.4的 1.8 倍。MTP 和 DFlash2 二选一⚡ 仓库同时提供 DFlash2 草稿模型FP8 权重 128×128 分块 scale约 2.4GB见 FP8/DFlash2-FP8/config.json它的草稿块更长、C1 下约 180 tok/s比 MTP 更快但MTP 与 DFlash2 互斥一次启动只能开一个。不想多下载 2.4GB 草稿时用内置 MTP 就够了——这也是所有档位都坚持把 MTP 头打包进来的原因。各量化档位里 MTP 头藏在哪里 所有档位都内置或附带 MTP位置如下档位MTP 所在位置说明BF16 / FP8 / NVFP4 三档包内mtp-bf16.safetensors与 BF16/mtp-bf16.safetensors 字节一致SGLang 直接识别INT4 W4A16INT4/W4A16/model_mtp.safetensors内置头vLLM 用--speculative-config开启整轮测评平均接受长度 2.81INT8 W8A8 / W8A16独立目录 INT8/W8A8/MTP-BF16/vLLM 外挂草稿3 个草稿 token 时 C1 65.9 vs 31.1 tok/sGGUF Q2/Q3/Q4 LynnStyle文件内blk.6465 个 block 的最后一个内置 Q4 MTP 头.ninfer里为 Q4_Kllama.cpp 显示creating MTP draft contextGGUF Q6_K / Q8_0文件内blk.64内置 Q8 MTP 头另有独立草稿 GGUF/mtp-Qwen3.8-27B-Coder390-EfficientThink-Q8_0.gguf 可经-md替换给低档用NInfer 包NVFP4 / GGUF.ninfer单文件内Q8 MTP 头 视觉组件一起打包--vision即可看图快速上手三种引擎开启 MTP 投机解码只需一行关键参数完整命令见 README.md 的「推荐启动脚本」SGLangBF16 / FP8 / NVFP4 档python -m sglang.launch_server --model-path ./FP8 \ --mamba-ssm-dtype bfloat16 \ --speculative-algorithm EAGLE --speculative-num-steps 3 \ --speculative-eagle-topk 1 --speculative-num-draft-tokens 4llama.cppGGUF 档MTP 已内置无需外挂llama-server -m ./GGUF/Qwen3.8-27B-Coder390-EfficientThink-Q4LynnStyle-MTP.gguf \ -c 409600 -np 4 -ngl 99 --jinja \ --spec-type draft-mtp --spec-draft-n-max 4NInfer.ninfer档在ninfer-serve后加--spec mtp --draft-tokens 4MTP 支持 1–5 个草稿 token需要看图时再追加--vision。关键文件速查文件用途BF16/config.json架构总配置layer_types、full_attention_interval、MTP 参数BF16/mtp-bf16.safetensors官方 BF16 MTP 头各 safetensors 档字节一致FP8/DFlash2-FP8/更快的 DFlash2 投机草稿FP8INT8/W8A8/MTP-BF16/INT8 档的独立 MTP 草稿目录evaluation/BENCH_STATICFP8.jsonMTP / DFlash2 / 不开投机的完整测速原始数据evaluation/NVFP4_CALIBRATION_METHOD.mdNVFP4 校准方法说明小结结构64 层 48 层线性注意力 16 层全注意力full_attention_interval4实现 3:1 交替线性层压成本、全注意力层保精度支撑 256K 上下文能力。MTP1 层隐藏层、424M 参数、15 个张量复用主模型 embedding内置于所有档位实测单请求解码约 2 倍加速91 vs 46 tok/s。选型追求极致速度用 DFlash2SGLangC1 约 180 tok/s不想加草稿文件用 MTP低显存端侧走 GGUF 内置 MTP llama.cpp。这套「混合注意力 内置 MTP」的组合让 Coder390 在单卡 96GB 乃至 16GB 显存的设备上都能以接近实时对话的速度跑出 27B 级别的推理能力。赞分享基础模型大模型多模态模型量化模型评测本地部署【免费下载链接】Qwen3.8-27B-Coder390-EfficientThink-Opus5.5-GPT6Astra-Grok4.7-DSV4Pro-K3-SFT-RLOO-MTP-DFlash2项目地址https://ai.gitcode.com/hf_mirrors/nerkyor/Qwen3.8-27B-Coder390-EfficientThink-Opus5.5-GPT6Astra-Grok4.7-DSV4Pro-K3-SFT-RLOO-MTP-DFlash2点击查看免费下载相关推荐LLMs-from-scratch 实战从零实现 Qwen3.5 0.8B 混合注意力架构线性注意力 全注意力交替LLMs from scratch 实战从零实现 Qwen3.5 0.8B 混合注意力架构线性注意力 全注意力交替 导读 本文基于 LLMs from示例工程大模型人工智能openpilot 使用教程如何5步装好设备跑通车道居中与自适应巡航openpilot 使用教程如何5步装好设备跑通车道居中与自适应巡航 openpilot 是一套面向自动驾驶研发的机器人操作系统当前落地在 300 多款支自动驾驶人工智能计算机视觉深度学习机器人NeoHorse-1-9B架构内幕完全指南线性注意力全注意力混合层、MTP推测解码与262K上下文如何协同工作NeoHorse 1 9B架构内幕完全指南线性注意力全注意力混合层、MTP推测解码与262K上下文如何协同工作 NeoHorse 1 9B 是 TokenR创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考