<?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 Tarragon</title><link>https://tarrragon.github.io/blog/tags/model-architecture/</link><description>Recent content in Model-Architecture on Tarragon</description><generator>Hugo -- gohugo.io</generator><language>zh-TW</language><copyright>Tarragon (CC BY 4.0)</copyright><lastBuildDate>Tue, 12 May 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://tarrragon.github.io/blog/tags/model-architecture/index.xml" rel="self" type="application/rss+xml"/><item><title>Mixture of Experts (MoE)</title><link>https://tarrragon.github.io/blog/llm/knowledge-cards/moe/</link><pubDate>Tue, 12 May 2026 00:00:00 +0000</pubDate><guid>https://tarrragon.github.io/blog/llm/knowledge-cards/moe/</guid><description>&lt;p>MoE（Mixture of Experts）的核心概念是「把 transformer block 內的 FFN 層拆成多個專家網路、router 為每個 token 動態挑選少數啟用」。結果是模型總參數可以擴張到很大、但每個 token 實際計算量保持在「&lt;a href="https://tarrragon.github.io/blog/llm/knowledge-cards/active-parameter/" data-link-title="Active Parameter" data-link-desc="MoE 模型每生成一個 token 實際參與計算的參數量、跟模型總參數量不同、影響推論速度上限">active parameter&lt;/a>」這個較小的數目；同硬體下 MoE 模型常比同總參數的 Dense 模型跑得快、且能力強於同 active parameter 的 Dense 模型。&lt;/p>
&lt;h2 id="概念位置">概念位置&lt;/h2>
&lt;p>MoE 在 transformer 架構中的位置：&lt;/p>





&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="ln">1&lt;/span>&lt;span class="cl">transformer block：
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">2&lt;/span>&lt;span class="cl"> ├── attention 層（所有 token 共用）
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">3&lt;/span>&lt;span class="cl"> ├── layer norm
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">4&lt;/span>&lt;span class="cl"> └── FFN 層
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">5&lt;/span>&lt;span class="cl"> ├── Dense 架構：所有 token 走同一組 FFN
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">6&lt;/span>&lt;span class="cl"> └── MoE 架構：FFN 拆成多個 expert、router 挑選 top-k 個啟用&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>主流 MoE 模型的設計選擇（依模型而異）：&lt;/p>
&lt;ul>
&lt;li>&lt;strong>expert 數量&lt;/strong>：通常 8 ~ 256 個&lt;/li>
&lt;li>&lt;strong>每 token 啟用 expert 數&lt;/strong>：通常 1 ~ 2 個（top-k routing）&lt;/li>
&lt;li>&lt;strong>shared expert&lt;/strong>：部分模型保留少數所有 token 共用的 expert&lt;/li>
&lt;li>&lt;strong>total / active parameter 比&lt;/strong>：常見 5x ~ 10x（如 Qwen3-30B-A3B：30B total / 3B active）&lt;/li>
&lt;/ul>
&lt;blockquote>
&lt;p>&lt;strong>事實查核註&lt;/strong>：MoE 架構的具體實作（router 演算法、load balancing loss、expert 並行策略等）依模型快速演進、引用前以該模型的技術報告或 paper 為準。&lt;/p>&lt;/blockquote>
&lt;p>代表性 MoE 模型（依公開資訊）：Mixtral 8x7B、DeepSeek V3、Qwen3-30B-A3B、Llama 4 Scout 等。&lt;/p>
&lt;h2 id="設計責任">設計責任&lt;/h2>
&lt;p>理解 MoE 後可以解釋三個現象：為什麼 MoE 模型的「30B 總參數」跟「3B active parameter」是兩個獨立指標（前者影響記憶體需求、後者影響速度）、為什麼 MoE 適合 &lt;a href="https://tarrragon.github.io/blog/llm/knowledge-cards/moe-cpu-offload/" data-link-title="MoE CPU 卸載" data-link-desc="把 Mixture-of-Experts 模型不活躍的專家層權重放在系統 RAM、用到再走 PCIe 拉回 GPU、讓有限 VRAM 跑得了更大模型">CPU 卸載&lt;/a>（不活躍的 expert 可以留在系統 RAM）、為什麼 MoE 在多 GPU 場景的並行策略跟 Dense 模型不同（expert 可以分到不同卡）。&lt;/p>
&lt;p>選 MoE 模型 vs Dense 模型、需考慮：MoE 對 RAM 容量要求較高（要放所有 expert 權重）、對 GPU 算力要求較低（每 token 走 active parameter）；Dense 對 VRAM 容量要求較低（可全載中型模型）、對 GPU 算力要求較高。詳見 &lt;a href="https://tarrragon.github.io/blog/llm/05-discrete-gpu/moe-cpu-offload-strategy/" data-link-title="5.1 MoE 模型與 CPU 卸載策略" data-link-desc="PC 場景把 MoE 不活躍專家層留在系統 RAM 的判讀：何時值得卸載、卸幾層、對 prefill 跟生成的影響各自不同">5.1 MoE 模型與 CPU 卸載策略&lt;/a> 跟 &lt;a href="https://tarrragon.github.io/blog/llm/05-discrete-gpu/model-selection-priority-pc/" data-link-title="5.5 PC 場景的模型選型優先順序" data-link-desc="PC 獨立 GPU 場景下、MoE 卸載讓「全載小模型 vs 卸載大 MoE」變成主要的選型軸；對應不同 VRAM 容量的模型推薦">5.5 PC 場景的模型選型優先順序&lt;/a>。&lt;/p></description><content:encoded><![CDATA[<p>MoE（Mixture of Experts）的核心概念是「把 transformer block 內的 FFN 層拆成多個專家網路、router 為每個 token 動態挑選少數啟用」。結果是模型總參數可以擴張到很大、但每個 token 實際計算量保持在「<a href="/blog/llm/knowledge-cards/active-parameter/" data-link-title="Active Parameter" data-link-desc="MoE 模型每生成一個 token 實際參與計算的參數量、跟模型總參數量不同、影響推論速度上限">active parameter</a>」這個較小的數目；同硬體下 MoE 模型常比同總參數的 Dense 模型跑得快、且能力強於同 active parameter 的 Dense 模型。</p>
<h2 id="概念位置">概念位置</h2>
<p>MoE 在 transformer 架構中的位置：</p>





<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="ln">1</span><span class="cl">transformer block：
</span></span><span class="line"><span class="ln">2</span><span class="cl">  ├── attention 層（所有 token 共用）
</span></span><span class="line"><span class="ln">3</span><span class="cl">  ├── layer norm
</span></span><span class="line"><span class="ln">4</span><span class="cl">  └── FFN 層
</span></span><span class="line"><span class="ln">5</span><span class="cl">        ├── Dense 架構：所有 token 走同一組 FFN
</span></span><span class="line"><span class="ln">6</span><span class="cl">        └── MoE 架構：FFN 拆成多個 expert、router 挑選 top-k 個啟用</span></span></code></pre></div><p>主流 MoE 模型的設計選擇（依模型而異）：</p>
<ul>
<li><strong>expert 數量</strong>：通常 8 ~ 256 個</li>
<li><strong>每 token 啟用 expert 數</strong>：通常 1 ~ 2 個（top-k routing）</li>
<li><strong>shared expert</strong>：部分模型保留少數所有 token 共用的 expert</li>
<li><strong>total / active parameter 比</strong>：常見 5x ~ 10x（如 Qwen3-30B-A3B：30B total / 3B active）</li>
</ul>
<blockquote>
<p><strong>事實查核註</strong>：MoE 架構的具體實作（router 演算法、load balancing loss、expert 並行策略等）依模型快速演進、引用前以該模型的技術報告或 paper 為準。</p></blockquote>
<p>代表性 MoE 模型（依公開資訊）：Mixtral 8x7B、DeepSeek V3、Qwen3-30B-A3B、Llama 4 Scout 等。</p>
<h2 id="設計責任">設計責任</h2>
<p>理解 MoE 後可以解釋三個現象：為什麼 MoE 模型的「30B 總參數」跟「3B active parameter」是兩個獨立指標（前者影響記憶體需求、後者影響速度）、為什麼 MoE 適合 <a href="/blog/llm/knowledge-cards/moe-cpu-offload/" data-link-title="MoE CPU 卸載" data-link-desc="把 Mixture-of-Experts 模型不活躍的專家層權重放在系統 RAM、用到再走 PCIe 拉回 GPU、讓有限 VRAM 跑得了更大模型">CPU 卸載</a>（不活躍的 expert 可以留在系統 RAM）、為什麼 MoE 在多 GPU 場景的並行策略跟 Dense 模型不同（expert 可以分到不同卡）。</p>
<p>選 MoE 模型 vs Dense 模型、需考慮：MoE 對 RAM 容量要求較高（要放所有 expert 權重）、對 GPU 算力要求較低（每 token 走 active parameter）；Dense 對 VRAM 容量要求較低（可全載中型模型）、對 GPU 算力要求較高。詳見 <a href="/blog/llm/05-discrete-gpu/moe-cpu-offload-strategy/" data-link-title="5.1 MoE 模型與 CPU 卸載策略" data-link-desc="PC 場景把 MoE 不活躍專家層留在系統 RAM 的判讀：何時值得卸載、卸幾層、對 prefill 跟生成的影響各自不同">5.1 MoE 模型與 CPU 卸載策略</a> 跟 <a href="/blog/llm/05-discrete-gpu/model-selection-priority-pc/" data-link-title="5.5 PC 場景的模型選型優先順序" data-link-desc="PC 獨立 GPU 場景下、MoE 卸載讓「全載小模型 vs 卸載大 MoE」變成主要的選型軸；對應不同 VRAM 容量的模型推薦">5.5 PC 場景的模型選型優先順序</a>。</p>
]]></content:encoded></item></channel></rss>