🎓 AI-LECTURER 週末主題課|2026-10-18|約 150 分鐘(可分次讀)

把大模型搬回自己手上:開放權重、本機執行與 AI 寫程式的新日常

彙整本週素材:Welcome FLUX.3 Image Klein in Diffusers、Run fast, private agents on-device with 、How the Claude Code team does code revie、Welcome Beam: a 501B open model you can 、Welcome Muse Spark Open: open-weight fro、Janas: Run LLMs larger than RAM by strea
📍 真實場景
阿哲,一人接案的接案設計師兼半吊子工程師,筆電只有 32GB 記憶體

客戶要他做一個能處理內部文件的 AI 助理,但文件不能上傳到雲端,預算也有限

😖 卡住的地方:雲端 API 要把資料送出去、費用按量累積;網路上都說開放大模型很強,卻不知道自己的電腦跑不跑得動、跑出來的程式碼敢不敢用
💡 這門課讓他看懂:現在有哪些可以自己擁有的模型、怎麼在一般筆電上跑起來、以及 AI 產出的程式碼要怎麼把關,才能放心交給客戶
第 1 單元|單元一:開放權重大模型時代來了——是什麼、為何是現在

🧭 本單元白話講

想像一下:你的桌上有一台自己的電腦,而你想讓一個「頂尖等級」的 AI 在上面替你工作——不用把資料交給別人的雲端。這門課要談的,就是這件事為什麼突然變得可能。第一步,先把幾個關鍵詞搞清楚。

先講「開放權重」。權重AI 模型訓練完之後留下的一大堆數字,模型的「知識」和「能力」就存在這些數字裡一旦公開,任何人都能下載回家自己跑、自己微調。素材裡的兩個例子都是這樣:Meta 的 Muse Spark Open 在 Hugging Face 上提供下載,Reflection 的 Beam 則明講是給想「在自己的硬體、基礎設施或雲端上」使用並客製化的團隊。注意:「開放權重」不等於「連訓練過程都公開」,你拿到的是訓練好的成品。

再講「Apache 2.0 授權」。Apache 2.0一種很寬鬆的開源授權條款,白話就是:你可以拿去用、改、甚至商用,只要保留原本的授權聲明是 Beam 採用的授權。這讓「擁有(own)」這個詞真正有意義:模型放在你的機器上,你可以改它、客製它。素材中 Meta 那篇沒有在摘錄裡提到授權條款,所以 Muse Spark Open 的授權細節我們不在此下結論,要用之前務必自己看清楚。

最後是「混合專家(MoE)」。混合專家(MoE)把模型裡的神經網路拆成很多個「專家」小區塊,每處理一個字(token)時只叫醒其中幾位這是兩個模型共同的設計。Muse Spark Open 每層有 256 位專家、每個 token 只挑 8 位,總共約 8160 億參數,但每個 token 實際只動用約 420 億;Beam 同樣是 256 位專家挑 8 位,總參數 5010 億、每個 token 動用約 230 億。素材的說法是:它「跑起來的速度像小模型,容量卻像大模型」。

把兩件事擺在一起看,趨勢就浮現了:同一段時間內,Meta 與 Reflection 都釋出了數千億參數、主打寫程式與代理任務、上下文長度達 100 萬 token 的開放模型,而且都用 MoE,連「256 選 8」都一樣。這代表開放權重不再只是小模型的玩具,而是頂尖規模的選項。不過要留意一個現實:所有專家都得放在記憶體裡,所以部署時需要的記憶體仍是「8160 億參數等級」——Muse Spark Open 的 BF16 檔案就約 1.5 TB。這個矛盾,正是下一單元要解的題。

⚙️ 脈絡拆解

1
下載權重模型方把訓練好的「權重」放到 Hugging Face 等平台,附上不同格式(如 BF16、NVFP4)的檔案。
▼
2
看授權確認授權條款,例如 Beam 的 Apache 2.0,決定你能不能改、能不能商用。
▼
3
載入並執行用 transformers、vLLM、SGLang 等工具把模型跑在自己的硬體或雲端上。
▼
4
客製化透過微調(SFT)或強化學習(RL)把模型調成適合自己的用途。
兩個同期釋出的開放權重 MoE 模型
項目Muse Spark Open(Meta)Beam(Reflection)
總參數約 8160 億5010 億
每個 token 動用約 420 億約 230 億
專家配置每層 256 位,挑 8 位每層 256 位,挑 8 位
輸入文字、圖片、聲音、影片僅文字
上下文長度最高 100 萬 token100 萬 token
定位寫程式與代理任務寫程式與代理任務
授權素材未載明Apache 2.0

🧠 工程思維透鏡(資深工程師看到的是什麼)

🔭 為什麼「同時」出現數千億參數的開放模型,是一個值得注意的訊號?
兩家不同公司在同一時期做出幾乎相同的架構選擇(MoE、256 選 8、100 萬 token 上下文、主打寫程式與代理),說明這是一條被驗證過的路線,而不是個別實驗。對你這位學習者來說,意義是:『頂尖等級的模型可以放在自己手上』正從例外變成常態,值得現在就開始理解它的運作與限制。
🔭 MoE 省的是什麼,又沒省什麼?
MoE 省的是『每個 token 的計算量』:Muse Spark Open 只用約 420 億參數在算,速度接近 420 億的模型。但沒省的是『記憶體』:256 位專家全都要待命,需要的記憶體仍是 8160 億參數等級。分清楚『算得快』與『放得下』是兩回事,是看懂本機執行難題的關鍵。

📝 隨堂考(點選答案,立即回饋)

Q1. Muse Spark Open 約 8160 億參數,但每個 token 只動用約 420 億,主要原因是什麼?
✅ 這就是混合專家(MoE):總容量很大,但每個 token 只叫醒少數專家,所以計算量接近 420 億的模型。不過全部專家仍要放在記憶體中。
Q2. 依素材,Beam 採用 Apache 2.0 授權,對使用者最直接的意義是什麼?
✅ Apache 2.0 是寬鬆授權,搭配開放權重,讓團隊能在自己的硬體或雲端上擁有並客製化模型;它不代表準確度,也不限制只能用官方雲端。
第 2 單元|單元二:大模型怎麼塞進小電腦——MoE 與 SSD 串流的巧思

🧭 本單元白話講

上一單元我們談到,開放權重的大模型已經可以下載到自己手上。但下載之後有個現實問題:這些模型動輒幾十 GB,甚至上 TB,一般筆電的記憶體根本放不下。這一單元要看的,是兩個素材如何從不同角度解開這個難題。

先看 Meta 公開的 Muse Spark Open。它用的是 MoE(混合專家)把模型裡負責「思考」的那一大塊,拆成很多個各有專長的小專家,每次只叫其中幾位出來工作 架構:每一層有 256 位專家,一個 路由器在每個字詞進來時,負責決定該請哪幾位專家處理的小選擇器 會替每個 token 挑出 8 位來算。素材還說明,這些專家占了整個模型約 97% 的參數量。

結果就是:Muse Spark Open 總共約 816B 參數,但每個 token 實際只動用約 42B。素材的說法很精準——256 位專家全都得待在記憶體裡,所以部署時需要 816B 模型的記憶體,但算起來的速度卻像 42B 的模型。換句話說,MoE 省的是「運算」,並沒有省「放得下」的空間。

這就是 Janas 出場的地方。既然每個 token 只用到少數專家,何必把全部專家都放在昂貴的記憶體裡?Janas 把大型 MoE 模型的專家權重放在 SSD(固態硬碟),需要哪位才從硬碟 串流像看線上影片一樣,邊用邊讀,不必一次全部載入 進來。素材的實測是:48.4 GB 的 Qwen3-Next-80B,在只有 32 GB 記憶體的筆電上,寫字速度達 24 tok/s(加上 drafts 輔助為 37 tok/s),而同機的 llama.cpp 只有 2.8 tok/s。

有趣的是,這個技巧並不只對「放不下」的模型有用。素材的對照表顯示,連放得下的 Qwen3-30B-A3B,寫字速度也是 32 對 15 tok/s。不過取捨也看得到:3 位元量化的 Qwen3-30B 讀取提示詞比 llama.cpp 慢(100 對 112 tok/s),因為它的 Q3_K 權重還沒走上 GPU 的快速路徑,但寫字速度仍快了三倍左右。另外作者也提醒,換一台機器數字就會不同,要用 janas-bench 自己測。

⚙️ 脈絡拆解

1
路由器挑專家每個 token 進來時,路由器從 256 位專家中選出 8 位(以 Muse Spark Open 為例)。
▼
2
只讀需要的專家專家權重平時放在 SSD,Janas 只把被選中的專家讀進記憶體,不用一次載入整個模型。
▼
3
只算被選中的部分只有這幾位專家參與運算,所以每個 token 的計算量遠小於模型總大小。
▼
4
用速度換空間硬碟比記憶體慢,但因為每次只讀少數專家,換來的是 48 GB 的模型能在 32 GB 記憶體的筆電上跑得動。
同一台筆電(32 GB 記憶體)上,Janas-LLM 與 llama.cpp 的寫字速度(tok/s,數字越大越快)
模型模型大小/類型Janas-LLMllama.cpp
Qwen3-Next-80B-A3B48.4 GB,超過記憶體242.8
Qwen3-Coder-Next48.4 GB,超過記憶體222.2
Qwen3-30B-A3BMoE,放得進記憶體3215
Qwen3.8-27Bdense,17.6 GB4.42.1

🧠 工程思維透鏡(資深工程師看到的是什麼)

🔭 MoE 到底省了什麼、沒省什麼?
Muse Spark Open 的數字說得最清楚:算力只要 42B 等級,記憶體卻要 816B 等級。MoE 省的是每個 token 的運算量,沒省存放全部專家的空間。Janas 的巧思就是補上這一塊:既然每次只用少數專家,就把沒用到的放在較便宜的 SSD,需要時再讀入。
🔭 為什麼 80B 的 MoE 模型寫字速度,反而比 27B 的 dense 模型快?
從素材表格看,48.4 GB 的 Qwen3-Next-80B 在 Janas 上寫字是 24 tok/s,17.6 GB 的 dense 模型 Qwen3.8-27B 卻只有 4.4 tok/s。dense 模型每個 token 都要用到全部參數,MoE 每次只動用被選中的專家。這是「模型總大小」與「每次實際要算的量」兩件事可以脫鉤的具體例子。

📝 隨堂考(點選答案,立即回饋)

Q1. Muse Spark Open 約 816B 參數、每個 token 約動用 42B。這代表部署時的資源需求是什麼?
✅ 素材明說:256 位專家全都留在記憶體,所以需要 816B 模型的記憶體;但每個 token 只算 8 位專家,速度接近 42B 模型。
Q2. Janas 能讓 48 GB 的模型在 32 GB 記憶體的筆電上執行,主要做法是什麼?
✅ Janas 的做法是把專家權重放在 SSD、用到才串流讀入,所以不需要整個模型同時待在記憶體裡。實測都在同一台筆電上進行,沒有用到雲端。
第 3 單元|單元三:在自己的裝置上動手——本機代理與圖像生成實戰

🧭 本單元白話講

上一單元我們看到,MoEMixture of Experts,把模型切成很多位「專家」,每次只叫其中幾位上工加上 SSD 串流,能把比記憶體還大的模型塞進筆電。這一單元換個角度:模型已經能在自己手上跑了,我們實際拿它來做什麼?素材裡有兩個很具體的例子,一個負責「做事」(代理),一個負責「畫圖」。

先看 Liquid AI 的 LFM2.5-24B-A2B。名字裡的「24B-A2B」意思是總共 240 億個參數,但每產生一個字只啟用其中約 20 億個(A2B = active 2 billion)。它的結構是 40 層、每個 MoE 區塊有 64 位專家、每次挑 4 位(top-4 routing),所以每個 token模型處理文字的最小單位,大約是一個字或一個詞的片段算起來很便宜。素材給的速度是:Apple M5 Max 上 184 tok/s,單張 NVIDIA B300 GPU 上最高 21K tok/s 的輸出。這個模型一定會先寫出完整思考過程再回答,因為每個思考 token 都便宜,所以「先想再答」的成本不高。

它的強項是當「代理」,也就是能自己呼叫工具、完成多步驟任務的 AI。在 LiveClaw 測試中它拿 48.09 分,勝過參數多約 50% 的 Qwen3.6-35B-A3B(38.19);AutomationBench 更是 27.69 對 8.72。訓練上先用 33 兆 token 預訓練,再歷經 SFT、兩階段 on-policy distillation讓學生模型從多位專科老師身上學本事,並用自己實際產生的答案來被修正,最後在 OpenClaw、Hermes Agent、OpenCode 等代理環境裡做強化學習。但要誠實看表:它不是全面第一。SWE-Bench Verified 只有 51.00,輸給 Qwen3.6 的 66.20;WebArena Verified 與 GPQA Diamond 也落後。亮點在工具呼叫與指令遵循(IFEval 96.75),不是所有任務。

第二個例子是圖像生成。Hugging Face 的 Diffusers 套件支援 Black Forest Labs 的開源模型 FLUX.3 Klein,用 pip install -U diffusers transformers 就能安裝。有兩個版本:蒸餾版(蒸餾讓小而快的模型模仿大而慢的模型,用更少步驟得到接近的結果,預設 16 步、不需 CFG,在 H100 上約 2 秒出一張 1024×1024 圖),以及 50 步並使用 CFG 的基礎版。同一個模型能做文字生圖、多張參考圖的圖生圖、以及用邊界框控制版面。

顯卡較小怎麼辦?素材提到 NVFP4 與 FP8 量化把模型數字改用更少位元儲存,換取更小的體積與記憶體用量權重可用 from_single_file 載入;想客製風格,則有文字生圖與圖像編輯兩種 LoRA 微調腳本。提示詞要寫成完整場景描述:主體、場景、光線、構圖、風格。把這兩個例子放在一起,本機執行的價值就清楚了:資料不離開自己的機器(隱私),也不必排隊等雲端(速度)。

⚙️ 脈絡拆解

1
安裝套件執行 pip install -U diffusers transformers,transformers 是為了載入 Qwen3-VL 文字編碼器。
▼
2
載入模型用 ModularPipeline.from_pretrained 讀取蒸餾版 checkpoint,再以 bfloat16 載入元件並搬到 GPU。
▼
3
文字生圖給一段完整場景描述,預設 16 步就產出 1024×1024 圖片,可用 seed 固定結果。
▼
4
圖生圖修改把上一張圖放進 image 參數,提示詞寫成「含修改後的圖說」,例如把白天改成月夜。
▼
5
量化與微調GPU 小就載入 NVFP4 或 FP8 權重;想要專屬風格就用 LoRA 訓練腳本。
LFM2.5-24B-A2B 與同級 MoE 模型的部分基準分數(取自素材表格)
基準LFM2.5-24B-A2BQwen3.6-35B-A3BGemma-4-26B-A4B-it
LiveClaw(代理)48.0938.1941.25
AutomationBench27.698.725.46
IFEval(指令遵循)96.7593.0692.00
SWE-Bench Verified(寫程式)51.0066.2025.80
GPQA Diamond(知識推理)74.4283.6974.90

🔍 程式碼漫遊(點有 ● 的行看白話講解)

素材中的 FLUX.3 Klein 最小範例:從載入模型到存出第一張圖。

●import torch
💬 載入 PyTorch,後面要指定數值精度。
●from diffusers import ModularPipeline
💬 Diffusers 的模組化管線,可拆換或新增區塊。
●pipe = ModularPipeline.from_pretrained("black-forest-labs/flux-3-image-klein")
💬 讀取蒸餾版(快速版)模型設定。
●pipe.load_components(dtype=torch.bfloat16)
💬 以 bfloat16 載入權重,兼顧品質與記憶體。
●pipe.to("cuda")
💬 把模型搬到 NVIDIA GPU 上執行。
●pipe(prompt="a red fox", output="images")[0].save("fox.png")
💬 輸入提示詞生成圖片,取第一張存檔。

🧠 工程思維透鏡(資深工程師看到的是什麼)

🔭 「小而快」的本機模型,是不是就等於「全面更強」?
不是。LFM2.5 只啟用 20 億參數,在工具呼叫與指令遵循上贏過更大的模型,但在 SWE-Bench Verified(51.00 對 66.20)與 GPQA Diamond 上落後。選本機模型要看自己的任務類型:做自動化代理很划算,要處理困難程式修復則未必。
🔭 本機執行真正換到了什麼?
換到的是隱私(資料留在自己裝置)與延遲(蒸餾版 FLUX.3 約 2 秒出圖、LFM2.5 在 M5 Max 達 184 tok/s)。代價是需要自己處理安裝、量化與硬體差異。

📝 隨堂考(點選答案,立即回饋)

Q1. LFM2.5-24B-A2B 名稱中的「A2B」代表什麼?
✅ A2B 指 active 2 billion,總參數約 240 億,但每個 token 只啟用約 20 億,所以推論便宜又快。
Q2. 想在較小的 GPU 上跑 FLUX.3 Klein,素材提到可以怎麼做?
✅ 素材指出 NVFP4 與 FP8 權重可用 from_single_file 載入,專為較小的 GPU 設計。
第 4 單元|單元四:AI 寫的程式碼,人怎麼把關——Claude Code 團隊的審查心法

🧭 本單元白話講

上一單元我們在自己的裝置上讓本機代理和圖像生成動了起來,接著會冒出一個很實際的問題:這些 AI 寫出來的程式,你敢直接拿去用嗎?Claude Code 團隊正好面對過這件事,而且規模大得多。他們說 Claude 寫了 Claude Code 自己約 90% 的程式碼,所以得認真回答「程式碼多到人看不完時,怎麼審?」

先看壓力有多大。素材提到,在 Anthropic 的 monorepo(monorepo把很多專案的程式碼全放在同一個大倉庫裡管理)裡,每天進來的變更從 5 月約 2,500 筆,到 9 月已超過 30,000 筆。Claude Code 自己的倉庫雖然獨立,也承受類似壓力。團隊直言,在這種速度下,一行一行用人眼逐行審查「就算不是不可能,也極度困難」。

他們的做法不是取消審查,而是換個問法。與其問「有沒有人讀過這段程式碼?」,不如問「這個變更可能出什麼錯?哪一種檢查(自動的或人工的)最適合抓到它?」這也改變了審查的時間點:以前審查是路的盡頭的一道關卡,寫完、開 PR(PRPull Request,把你改好的程式碼提交出去、請別人檢查後才合併進主線的申請單)、等同事看;現在審查像打字時的拼字檢查,持續進行。多數變更在真人看之前,Claude 已經審過並修過至少一輪,把例行錯誤先擋掉,人的注意力留給只有人能判斷的問題。

目標也講得很具體:Claude Code 各個倉庫裡,多數 PR 合併時最多只需一位真人把關(可以就是作者本人),而且還款不能讓還原(還原率已經合併的修改,後來因為出問題又被撤回的比例)或事故增加。他們追蹤每個 PR 的真人核准數(中位數與第 95 百分位)、真人留言數、PR 等人的時間;還原與事故率則是「護欄」。成果是:6 月到 9 月,合併的 PR 數量增加超過一倍,而需要還原的比例下降超過 40%。

回到你自己的情境:用開放模型(例如單元一的 Beam、單元三的 LFM2.5-24B-A2B)產出的程式,也該用同一套思路。Beam 與 LFM2.5 的素材都強調它們擅長寫程式與工具呼叫,但 LFM2.5 的表格也顯示,同樣是程式任務,SWE-Bench Verified(OpenCode)只有 51.00,低於 Qwen3.6-35B-A3B 的 66.20。所以「能不能放心交付」不看模型名氣,而看你有沒有搭配自動檢查,並且讓出錯時能快速撤回。

⚙️ 脈絡拆解

1
寫的時候就持續審像拼字檢查一樣,AI 在你寫的過程中就先審過、修過至少一輪,而不是等到最後才檢查。
▼
2
機器先讀完大部分例行錯誤交給自動檢查抓,不浪費真人時間逐行閱讀。
▼
3
真人只看機器判斷不了的多數 PR 最多一位真人把關,可以是作者本人,專心處理需要人類判斷的新問題。
▼
4
用護欄數字確認沒變糟持續追蹤還原率與事故率,只要它們升高,就代表省下的人力其實換成了事後修補。
▼
5
讓錯誤容易還原投資在快速撤回修改的能力,萬一漏網也能迅速補救。
傳統審查與 Claude Code 團隊做法的差異
面向傳統審查Claude Code 團隊
審查時間點寫完後的最後一道關卡寫的過程中持續進行
主要閱讀者人逐行閱讀大部分交給機器,人看高層問題
核心問題有沒有人讀過?可能出什麼錯?哪種檢查最適合抓?
成功指標人工核准數真人時間下降,且還原與事故不增加

🧠 工程思維透鏡(資深工程師看到的是什麼)

🔭 為什麼「有沒有人讀過」不是好的品質指標?
素材指出,「真人是否讀過程式碼」只是「這個變更可能出什麼錯、哪種檢查最適合抓」的粗略替代品。當變更量暴增,堅持人人逐行讀只會拖慢,卻不一定更安全。更好的指標是結果面:真人時間少了,而還原與事故沒有增加。這給用開放模型寫程式的人一個重要啟發:交付前該問的不是「我看過沒」,而是「有哪些檢查擋過它、出錯時能多快撤回」。
🔭 為什麼「容易還原」和「機器先審」要一起做?
只做機器審查,漏網的錯誤要付出高昂代價;只做容易還原,錯誤會不斷進到線上。素材中的結果是兩者並用:合併量翻倍、還原比例卻降超過 40%。他們也提醒,省下審查時間若只是變成修壞掉的程式的時間,並沒有真正節省,所以兩邊的人力成本要一起算。

📝 隨堂考(點選答案,立即回饋)

Q1. Claude Code 團隊重新定義審查時,真正想問的核心問題是什麼?
✅ 素材指出「有沒有人讀過」只是粗略替代,真正要問的是變更可能出什麼錯,以及該由哪種檢查來抓。
Q2. 素材中,6 月到 9 月 Claude Code 的審查流程調整後,結果是什麼?
✅ 原文提到,這段期間合併的 PR 數量增加超過一倍,而被還原的比例下降超過 40%,顯示把閱讀交給機器並沒有讓品質變差。

✅ 離開前自測(全勾=這課真的學會了)

0%