<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Model-Architecture on KKKZOZ&#39;s Blog</title>
    <link>http://blog.kkkzoz.top/tags/model-architecture/</link>
    <description>Recent content in Model-Architecture on KKKZOZ&#39;s Blog</description>
    <image>
      <title>KKKZOZ&#39;s Blog</title>
      <url>http://blog.kkkzoz.top/images/papermod-cover.png</url>
      <link>http://blog.kkkzoz.top/images/papermod-cover.png</link>
    </image>
    <generator>Hugo -- 0.165.0</generator>
    <language>en</language>
    <lastBuildDate>Wed, 19 Aug 2026 15:29:14 +0800</lastBuildDate>
    <atom:link href="http://blog.kkkzoz.top/tags/model-architecture/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Qwen3.5 Dense Model Architecture</title>
      <link>http://blog.kkkzoz.top/posts/learning/models/qwen3.5/</link>
      <pubDate>Wed, 19 Aug 2026 00:00:00 +0000</pubDate>
      <guid>http://blog.kkkzoz.top/posts/learning/models/qwen3.5/</guid>
      <description>&lt;p&gt;本文以 &lt;code&gt;transformers==5.14.1&lt;/code&gt; 中的 &lt;code&gt;Qwen3_5TextModel&lt;/code&gt; 和 &lt;code&gt;Qwen3_5ForCausalLM&lt;/code&gt; 实现为依据，讨论文本主干，不展开视觉编码器和多模态输入。源码参考：&lt;a href=&#34;https://github.com/huggingface/transformers/blob/v5.14.1/src/transformers/models/qwen3_5/modular_qwen3_5.py&#34;&gt;&lt;code&gt;modular_qwen3_5.py&lt;/code&gt;&lt;/a&gt;、&lt;a href=&#34;https://github.com/huggingface/transformers/blob/v5.14.1/src/transformers/cache_utils.py&#34;&gt;&lt;code&gt;cache_utils.py&lt;/code&gt;&lt;/a&gt;。&lt;/p&gt;
&lt;h2 id=&#34;总览&#34;&gt;总览&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Qwen3.5 是由线性注意力层和标准全注意力层交替组成的 hybrid decoder-only Transformer。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;文本主干的计算顺序是：&lt;code&gt;Embedding&lt;/code&gt; → 多个 &lt;code&gt;Qwen3_5DecoderLayer&lt;/code&gt; → 最终 &lt;code&gt;Qwen3_5RMSNorm&lt;/code&gt; → &lt;code&gt;lm_head&lt;/code&gt;。每个 decoder layer 都包含一个 token mixer 和一个 MLP；token mixer 的具体类型由 &lt;code&gt;config.layer_types[layer_idx]&lt;/code&gt; 决定。&lt;/p&gt;
&lt;p&gt;在默认配置中，&lt;code&gt;full_attention_interval=4&lt;/code&gt;，因此每第 4 个 layer 使用 &lt;code&gt;full_attention&lt;/code&gt;，其余 layer 使用 &lt;code&gt;linear_attention&lt;/code&gt;。&lt;/p&gt;
&lt;h2 id=&#34;配置定义&#34;&gt;配置定义&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;&lt;code&gt;Qwen3_5TextConfig&lt;/code&gt; 同时定义模型宽度、层数、两类 attention 的维度和层类型。&lt;/strong&gt;&lt;/p&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;参数&lt;/th&gt;
					&lt;th&gt;含义&lt;/th&gt;
					&lt;th&gt;影响的模块&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;hidden_size&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;token 表示维度 &lt;code&gt;H&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;embedding、attention 输出、MLP 输入输出&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;intermediate_size&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;MLP 中间维度 &lt;code&gt;I&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;gate_proj&lt;/code&gt;、&lt;code&gt;up_proj&lt;/code&gt;、&lt;code&gt;down_proj&lt;/code&gt;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;num_hidden_layers&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;decoder layer 数量&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;layers&lt;/code&gt;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;num_attention_heads&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;全注意力的 query head 数 &lt;code&gt;Nq&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;Qwen3_5Attention&lt;/code&gt;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;num_key_value_heads&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;全注意力的 key/value head 数 &lt;code&gt;Nkv&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;GQA 和 KV cache&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;head_dim&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;全注意力每个 head 的维度&lt;/td&gt;
					&lt;td&gt;Q/K/V 和 RoPE&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;linear_key_head_dim&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;线性 attention 的 key/query head 维度 &lt;code&gt;Dk&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;Gated DeltaNet&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;linear_value_head_dim&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;线性 attention 的 value head 维度 &lt;code&gt;Dv&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;Gated DeltaNet&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;linear_num_key_heads&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;线性 attention 的初始 key/query head 数&lt;/td&gt;
					&lt;td&gt;Gated DeltaNet&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;linear_num_value_heads&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;线性 attention 的 value head 数&lt;/td&gt;
					&lt;td&gt;recurrent state&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;linear_conv_kernel_dim&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;线性 attention 的 causal convolution kernel 大小&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;conv1d&lt;/code&gt; 和 convolution cache&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;layer_types&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;每层的 &lt;code&gt;linear_attention&lt;/code&gt; 或 &lt;code&gt;full_attention&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;decoder layer 分支&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;code&gt;layer_types&lt;/code&gt; 未提供时，配置代码按 &lt;code&gt;full_attention_interval&lt;/code&gt; 生成：&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
