Qwen3.5-MoE 多模态大模型架构深度解析

Qwen3.5-MoE 多模态大模型架构深度解析

文档版本: v1.0
分析日期: 2026-02-22
分析来源: config.json + quant_model_weights.safetensors.index.json
架构标识: Qwen3_5MoeForConditionalGeneration

1. 模型全局概览

维度
架构类型Qwen3_5MoeForConditionalGeneration
模型类别多模态(Vision-Language)MoE
权重总量~420.7 GB(量化后)
分片文件99 个 safetensors
权重条目279,374 条
上下文窗口262,144 tokens(256K)
词表大小248,320
精度bfloat16(部分组件量化为低精度)
Transformers 版本4.57.0.dev0

1.1 模型四大模块

┌─────────────────────────────────────────────────────────┐ │ Qwen3.5-MoE │ ├──────────────┬──────────────┬──────────┬────────────────┤ │ Vision │ Language │ MTP │ LM Head │ │ Encoder │ Model │ Module │ │ │ (27-layer │ (60-layer │ (1-layer │ (线性投影) │ │ ViT) │ Hybrid-MoE) │ MoE) │ │ ├──────────────┴──────────────┴──────────┴────────────────┤ │ Shard 分布: Vision=1 | LM=96 | MTP=4 | LM Head=1 │ └─────────────────────────────────────────────────────────┘ 

2. 视觉编码器(Vision Encoder)

基于 ViT(Vision Transformer)架构,负责将图像/视频帧编码为视觉 token 序列。

2.1 核心参数

参数说明
depth27Transformer Block 层数
hidden_size1152隐藏层维度
num_heads16注意力头数(head_dim = 72)
intermediate_size4304FFN 中间层维度
patch_size16空间 Patch 大小
temporal_patch_size2时间维度 Patch 大小(视频)
spatial_merge_size2空间合并因子
in_channels3输入通道数(RGB)
num_position_embeddings2304位置编码数量
out_hidden_size4096输出维度(对齐语言模型)
hidden_actgelu_pytorch_tanh激活函数

2.2 结构详解

Input Image/Video │ ▼ ┌──────────────────────┐ │ Patch Embedding │ Conv2d(3, 1152, kernel=16×16) │ + Position Embed │ 可学习位置编码 (2304 positions) └──────────┬───────────┘ │ ▼ ┌──────────────────────┐ │ ViT Block × 27 │ 每个 Block: │ ├─ LayerNorm │ - Pre-Norm (weight + bias) │ ├─ Fused QKV Attn │ - 融合 QKV 多头注意力 (16 heads) │ ├─ LayerNorm │ - Pre-Norm (weight + bias) │ └─ MLP (FC1→FC2) │ - 1152 → 4304 → 1152 └──────────┬───────────┘ │ ▼ ┌──────────────────────┐ │ Merger │ 视觉→语言空间映射 │ ├─ LayerNorm │ 归一化 │ ├─ FC1 │ spatial_merge 后投影 │ └─ FC2 │ → out_hidden_size (4096) └──────────┬───────────┘ │ ▼ Visual Tokens (dim=4096) 

2.3 特殊视觉 Token

TokenID用途
vision_start248053视觉序列起始标记
vision_end248054视觉序列结束标记
image_token248056图像占位 token
video_token248057视频占位 token

3. 语言模型(Language Model)

3.1 全局参数

参数说明
num_hidden_layers60总层数
hidden_size4096隐藏维度
vocab_size248,320词表大小
max_position_embeddings262,144最大位置(256K)
rms_norm_eps1e-6RMSNorm epsilon
hidden_actsiluFFN 激活函数
tie_word_embeddingsfalseEmbedding 与 LM Head 不共享

3.2 混合注意力架构(Hybrid Attention)

Qwen3.5-MoE 采用 Linear Attention + Full Self-Attention 混合架构,每 4 层为一组,前 3 层使用线性注意力(SSM/Mamba 风格),第 4 层使用完整自注意力。

full_attention_interval = 4 Layer: 0 1 2 [3] 4 5 6 [7] 8 9 10 [11] ... 56 57 58 [59] Type: L L L F L L L F L L L F ... L L L F L = Linear Attention (45 层, 75%) F = Full Self-Attention (15 层, 25%) 
3.2.1 Linear Attention(线性注意力 / SSM)— 45 层

基于 Mamba-2 / 状态空间模型(State Space Model)的线性注意力,时间复杂度 O(n) 。

参数说明
linear_key_head_dim128Key 头维度
linear_num_key_heads16Key 头数(KV 共享结构)
linear_value_head_dim128Value 头维度
linear_num_value_heads64Value 头数
linear_conv_kernel_dim41D 卷积核大小

权重组成:

权重名说明
in_proj_qkv.weight融合 QKV 输入投影
in_proj_z.weight门控投影 Z
in_proj_a.weightSSM 参数 A 投影
in_proj_b.weightSSM 参数 B 投影
A_log状态转移矩阵(log 空间)
dt_bias时间步长偏置 Δ
conv1d.weight局部卷积(kernel=4)
norm.weight归一化
out_proj.weight输出投影
3.2.2 Full Self-Attention(完整自注意力)— 15 层

采用 GQA(Grouped-Query Attention) + QK-Norm + Partial Rotary Position Embedding

参数说明
num_attention_heads32Q 头数
num_key_value_heads2KV 头数(GQA 比率 16:1)
head_dim256每头维度
Q 总维度32 × 256 = 8192
KV 总维度2 × 256 = 512
attn_output_gatetrue输出门控
attention_biasfalse无注意力偏置

权重组成: q_proj, k_proj, v_proj, o_proj, q_norm, k_norm

其中 q_proj, k_proj, v_proj 含量化参数 (weight_scale, weight_offset)。
3.2.3 位置编码(RoPE)
参数说明
rope_typedefault标准 RoPE
rope_theta10,000,000频率基数(10M,支持超长上下文)
partial_rotary_factor0.25仅 25% 维度应用旋转
旋转维度256 × 0.25 = 64实际参与 RoPE 的维度
mrope_interleavedtrue交错式多模态 RoPE
mrope_section[11, 11, 10]高度/宽度/时间 维度分配
M-RoPE(Multimodal RoPE)将 64 维旋转编码拆分为 3 段(11+11+10=32 组,每组 2 维),分别编码空间高度、空间宽度和时间位置,使模型对图像/视频具备原生的位置感知能力。

3.3 MoE FFN(混合专家前馈网络)

每一层(全部 60 层) 均采用 MoE 架构。

参数说明
num_experts512专家总数
num_experts_per_tok10每 token 激活专家数
moe_intermediate_size1024专家中间维度
shared_expert_intermediate_size1024共享专家中间维度
router_aux_loss_coef0.001路由辅助损失系数

单层 MoE 结构

hidden_states (4096) │ ├───────────────────────────────────────────┐ │ │ ▼ ▼ ┌──────────────┐ ┌──────────────────┐ │ Router Gate │ │ Shared Expert │ │ (4096 → 512) │ │ gate_proj (4096→1024) │ Top-10 选择 │ │ up_proj (4096→1024) └──────┬───────┘ │ down_proj (1024→4096) │ └────────┬─────────┘ ▼ │ ┌─────────────────────┐ │ │ Expert_i × 10 │ │ │ (从 512 中选 10 个) │ │ │ gate_proj (4096→1024)│ │ │ up_proj (4096→1024)│ ┌────────────────┐│ │ down_proj (1024→4096)│ │shared_expert ││ └──────────┬──────────┘ │_gate (标量门控) ││ │ └───────┬────────┘│ │ │ │ ▼ ▼ │ expert_output ──────────────── + ◄────────────┘ │ ▼ output (4096) 

参数量估算(每层 MoE FFN)

组件参数量
512 Expert512 × 3 × 4096 × 1024 = 6.44B
Shared Expert3 × 4096 × 1024 = 12.6M
Router Gate4096 × 512 = 2.1M
每层 MoE 小计~6.45B

3.4 单层完整结构

 input │ ▼ ┌─────────────┐ │ RMSNorm │ input_layernorm └──────┬──────┘ │ ┌────────┴────────┐ │ │ (layer % 4 != 3) (layer % 4 == 3) │ │ ▼ ▼ ┌─────────────┐ ┌──────────────┐ │ Linear Attn │ │ Full Self- │ │ (Mamba SSM) │ │ Attention │ │ │ │ (GQA+RoPE) │ └──────┬──────┘ └──────┬───────┘ │ │ └────────┬───────┘ │ + ← residual │ ▼ ┌─────────────┐ │ RMSNorm │ post_attention_layernorm └──────┬──────┘ │ ▼ ┌────────────────┐ │ MoE FFN │ │ 512 Experts │ │ + Shared Expert│ │ Top-10 Routing │ └────────┬───────┘ │ + ← residual │ ▼ output 

3.5 量化策略

量化仅应用于计算密集型组件,保留关键组件的全精度:

组件是否量化说明
MoE Expert FFN (gate/up/down_proj)weight_scale + weight_offset
Self-Attention QKV (q/k/v_proj)weight_scale + weight_offset
Self-Attention Output (o_proj)保持全精度
Linear Attention 全部权重SSM 对精度敏感
Shared Expert始终激活,保持精度
Router Gate路由精度直接影响专家选择
RMSNorm保持全精度
Embedding / LM Head保持全精度
量化参数条目共 184,410 个,约占总权重条目的 66%。

4. MTP 模块(Multi-Token Prediction)

MTP 模块确认存在,共 1,553 个权重条目,分布在 4 个 shard 文件中。

4.1 MTP 配置

参数说明
mtp_num_hidden_layers1MTP Transformer 层数
mtp_use_dedicated_embeddingsfalse复用主模型 Embedding

4.2 MTP 完整结构

 ┌─────────────────┐ ┌──────────────────┐ │ Embedding of │ │ Hidden state from│ │ current token │ │ last LM layer │ └────────┬────────┘ └────────┬─────────┘ │ │ ▼ ▼ ┌─────────────────┐ ┌──────────────────┐ │pre_fc_norm_ │ │pre_fc_norm_ │ │embedding │ │hidden │ │(RMSNorm) │ │(RMSNorm) │ └────────┬────────┘ └────────┬─────────┘ │ │ └──────────┬───────────┘ │ concat / combine ▼ ┌─────────────────┐ │ fc.weight │ │ (融合投影层) │ └────────┬────────┘ │ ▼ ┌───────────────────────┐ │ MTP Transformer │ │ Layer 0 │ │ ┌───────────────────┐ │ │ │ input_layernorm │ │ │ ├───────────────────┤ │ │ │ Self-Attention │ │ │ │ (q/k/v/o_proj + │ │ │ │ q_norm, k_norm) │ │ │ ├───────────────────┤ │ │ │post_attn_layernorm│ │ │ ├───────────────────┤ │ │ │ MoE FFN │ │ │ │ ├ Gate (→512) │ │ │ │ ├ Expert ×512 │ │ │ │ ├ Shared Expert │ │ │ │ └ Shared Gate │ │ │ └───────────────────┘ │ └───────────┬───────────┘ │ ▼ ┌─────────────────┐ │ mtp.norm │ │ (RMSNorm) │ └────────┬────────┘ │ ▼ ┌─────────────────┐ │ lm_head (复用) │ │ 预测 next-next │ │ token │ └─────────────────┘ 

4.3 MTP 关键设计特征

特征说明
深度仅 1 层 Transformer,轻量化设计
注意力类型Full Self-Attention(非 Linear Attention)
FFN 类型与主模型完全同构的 MoE(512 Expert + Shared Expert)
Embedding复用主模型 Embedding(mtp_use_dedicated_embeddings=false
LM Head复用主模型 lm_head.weight
融合方式对 embedding 和 hidden state 分别 RMSNorm 后通过 FC 融合

4.4 MTP 用途

  • 训练阶段: 提供 next-next-token 预测的辅助监督信号,增强模型表征学习
  • 推理阶段: 可用于 Speculative Decoding(投机解码),MTP 头预测下一个候选 token,主模型并行验证,从而提升推理吞吐量

5. 参数规模估算

5.1 总参数量

模块估算参数量说明
Embedding~1.02B248,320 × 4,096
LM Head~1.02B248,320 × 4,096(不共享)
LM Layers — MoE FFN~387.1B60 × 512 × 3 × 4096 × 1024 + shared
LM Layers — Self-Attn (×15)~1.07B15 × (Q+K+V+O+norms)
LM Layers — Linear-Attn (×45)~数 B45 × SSM 参数
LM Layers — Norms/Router~0.25B60 × (2×layernorm + gate)
Vision Encoder~0.3B27 层 ViT + Merger
MTP~6.5B1 层 MoE Transformer
总参数量(估算)~400B+

5.2 每 Token 激活参数量

模块激活参数量
MoE FFN(10/512 Experts)60 × 10 × 3 × 4096 × 1024 ≈ 7.55B
Shared Expert60 × 3 × 4096 × 1024 ≈ 0.76B
Attention(平均)~数 B
Embedding + LM Head~2.04B
每 Token 激活量(估算)~15-20B

6. 架构创新总结

6.1 核心创新点

创新说明
Hybrid Attention3:1 比例混合 Linear Attention (Mamba SSM) 与 Full Self-Attention,兼顾 O(n) 效率与全局建模
超大规模 MoE512 Expert + Shared Expert,每层 Top-10 路由,总参数 ~400B 但激活量仅 ~15-20B
M-RoPE多模态旋转位置编码,三段式编码(高/宽/时间),原生支持图像与视频的空间-时序位置
MTPDeepSeek-V3 风格的单层多 Token 预测头,训练增强 + 推理投机解码加速
Partial Rotary仅 25% 维度应用旋转编码(64/256),其余维度自由学习,平衡位置感知与语义表达
选择性量化仅量化 Expert FFN 和 Self-Attn QKV,保留 SSM、Shared Expert、Router 等关键组件的全精度

6.2 对标分析

维度Qwen3.5-MoE(本模型)DeepSeek-V3Qwen3-235B
总参数~400B+671B235B
激活参数~15-20B37B22B
专家数512256128
激活专家1088
注意力Hybrid (SSM+Attn)Full AttentionFull Attention
MTP1 层1 层
多模态原生(ViT + M-RoPE)无(纯文本)无(纯文本)

7. 权重文件分布

quant_model_weights-00001-of-00099.safetensors ← Vision Encoder (全部) quant_model_weights-00002~00094.safetensors ← Language Model Layers (共 93 个) quant_model_weights-00095~00098.safetensors ← MTP Module (共 4 个) quant_model_weights-00098.safetensors ← Embedding + LM Norm quant_model_weights-00099.safetensors ← LM Head 

附录 A: 关键 Config 字段速查

{"text_config":{"hidden_size":4096,"num_hidden_layers":60,"num_attention_heads":32,"num_key_value_heads":2,"head_dim":256,"num_experts":512,"num_experts_per_tok":10,"moe_intermediate_size":1024,"shared_expert_intermediate_size":1024,"full_attention_interval":4,"max_position_embeddings":262144,"mtp_num_hidden_layers":1,"rope_theta":10000000,"partial_rotary_factor":0.25,"mrope_section":[11,11,10]},"vision_config":{"depth":27,"hidden_size":1152,"num_heads":16,"patch_size":16,"temporal_patch_size":2,"out_hidden_size":4096}}

附录 B: layer_types 完整映射

Layer类型Layer类型Layer类型Layer类型
0Linear15Full30Linear45Linear
1Linear16Linear31Full46Linear
2Linear17Linear32Linear47Full
3Full18Linear33Linear48Linear
4Linear19Full34Linear49Linear
5Linear20Linear35Full50Linear
6Linear21Linear36Linear51Full
7Full22Linear37Linear52Linear
8Linear23Full38Linear53Linear
9Linear24Linear39Full54Linear
10Linear25Linear40Linear55Full
11Full26Linear41Linear56Linear
12Linear27Full42Linear57Linear
13Linear28Linear43Full58Linear
14Linear29Linear44Linear59Full

本文档基于模型权重索引文件和配置文件的静态分析生成,参数量为估算值,实际值以官方技术报告为准。

Read more

ESP32 小智 AI 机器人入门教程从原理到实现(自己云端部署)

此博客为一篇针对初学者的详细教程,涵盖小智 AI 机器人的原理、硬件准备、软件环境搭建、代码实现、云端部署以及优化扩展。文章结合了现有的网络资源,取长补短,确保内容易于理解和操作。 简介: 本教程将指导初学者使用 ESP32 微控制器开发一个简单的语音对话机器人“小智”。我们将介绍所需的基础原理、硬件准备、软件环境搭建,以及如何编写代码实现语音唤醒和与云端大模型的对接。通过本教程,即使没有深厚的 AI 或嵌入式经验,也可以一步步制作出一个能听懂唤醒词并与人对话的简易 AI 机器人。本教程提供详细的操作步骤、代码示例和图示,帮助您轻松上手。 1. 基础原理 ESP32 架构及其在 AI 领域的应用: ESP32 是一款集成 Wi-Fi 和蓝牙的双核微控制器,具有较高的主频和丰富的外设接口,适合物联网和嵌入式 AI 应用。特别是新版的 ESP32-S3 芯片,不仅运行频率高达 240MHz,还内置了向量加速指令(

By Ne0inhk
Flutter 组件 bip340 适配鸿蒙 HarmonyOS 实战:次世代 Schnorr 签名,为鸿蒙 Web3 与隐私计算筑牢加密防线

Flutter 组件 bip340 适配鸿蒙 HarmonyOS 实战:次世代 Schnorr 签名,为鸿蒙 Web3 与隐私计算筑牢加密防线

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net Flutter 组件 bip340 适配鸿蒙 HarmonyOS 实战:次世代 Schnorr 签名,为鸿蒙 Web3 与隐私计算筑牢加密防线 前言 在鸿蒙(OpenHarmony)生态迈向去中心化金融(DeFi)、隐私通讯及安全资产管理等高阶安全场景的背景下,如何实现更高性能、更具扩展性且抗攻击能力的数字签名架构,已成为决定应用闭环安全性的“压舱石”。在鸿蒙设备这类强调分布式鉴权与芯片级安全(TEE/SE)的移动终端上,如果依然沿用传统的 ECDSA 签名算法,由于由于其固有的可延展性风险与高昂的聚合验证成本,极易由于由于在大规模节点验证时的 CPU 负载过高导致交互滞后。 我们需要一种能够实现签名线性聚合、计算逻辑极简且具备原生抗延展性的密码学方案。 bip340 为 Flutter 开发者引入了比特币 Taproot 升级的核心——Schnorr 签名算法。它不仅在安全性上超越了传统标准,更通过其线性的数学特性,

By Ne0inhk

Flutter 三方库 angular_bloc 的鸿蒙化适配指南 - 在鸿蒙系统上构建极致响应、工业级的 AngularDart 与 BLoC 协同架构实战

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net Flutter 三方库 angular_bloc 的鸿蒙化适配指南 - 在鸿蒙系统上构建极致响应、工业级的 AngularDart 与 BLoC 协同架构实战 在鸿蒙(OpenHarmony)系统的桌面级协同(如分布式办公网页版)、后台管理终端或高度复杂的 Web 仪表盘开发中,如何将经典的 BLoC 状态管理应用于 AngularDart 环境?angular_bloc 为开发者提供了一套天衣无缝的组件化连接器。本文将实战演示其在鸿蒙 Web 生态中的深度应用。 前言 什么是 Angular BLoC?它是一套专门为 AngularDart 框架设计的 BLoC 实现。通过指令(Directives)和管道(Pipes),它实现了由于数据流变化触发的 UI

By Ne0inhk
【保姆级教程】从零入手:Python + Neo4j 构建你的第一个知识图谱

【保姆级教程】从零入手:Python + Neo4j 构建你的第一个知识图谱

摘要: 大数据时代,数据之间的关系往往比数据本身更有价值。传统的 SQL 数据库在处理复杂关系(如社交网络、推荐系统、风控分析)时显得力不从心,而 知识图谱 和 图数据库 Neo4j 正是为此而生。本文将带你从 0 基础出发,理解知识图谱核心概念,安装 Neo4j 环境,并手把手教你用 Python 代码构建一个生动的人物关系图谱。拒绝枯燥理论,全是实战干货! 一、 什么是知识图谱与 Neo4j? 在动手写代码之前,我们先用大白话把两个核心概念捋清楚。 1. 什么是知识图谱 (Knowledge Graph)? 不要被高大上的名字吓到。知识图谱本质上就是把世界上的事物(节点)和它们之间的联系(关系)画成一张巨大的网。 * Excel 思维: 罗列数据。例如:张三,25岁;李四,

By Ne0inhk