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

AI 落地的兩面:開放小模型的機會,與自架與雲端的資安陷阱

彙整本週素材:Build specialized multimodal models with、Fixing Tool-Call Accuracy in vLLM、Welcome Le Chonk: Mistral Large 4 on Hug、Backdoor in Claude Code for VS Code exte、Cross-request KV cache exposure in the G、NVIDIA Nemotron 3.5 Transcribe and Grana
📍 真實場景
小安,剛接手公司 AI 專案的行銷轉職工程新手,程式約高中程度

老闆要求小安評估:能不能不靠大型雲端服務,改用開放模型自己部署一個會聽會議錄音、會呼叫內部工具的小助理,而且資料不能外洩

😖 卡住的地方:新聞每週都在報新模型、新漏洞;小安分不清哪些是機會、哪些是風險,也不知道該先信任誰(模型、工具、雲端,還是開發工具)
💡 這門課帶小安走完一條完整路線:選對開放模型 → 讓它穩定呼叫工具 → 看懂資料與工具鏈可能在哪裡被攻破,最後得到一份自己能用的檢查清單
第 1 單元|單元一:開放模型的新選擇——小而專、大而全

🧭 本單元白話講

走進 AI 落地的現場,第一個問題往往不是「要不要用 AI」,而是「該選哪一種模型」。現在開放權重的模型(開放權重模型訓練好的「成果檔」公開讓人下載,你可以放在自己的電腦或伺服器上跑,而不是只能透過別人的網站使用)正朝兩個很不一樣的方向發展:一個是「小而專」,另一個是「大而全」。這一單元先看清楚這兩條路各自長什麼樣子。

先看「小而專」的代表:Liquid AI 的第三代小型模型 LFM3。它的文字、影像、聲音、全能(omni)與決策等模型,全都建立在同一個約 20 億參數(參數模型內部可調整的數字旋鈕,數量越多通常越有能力,但也越吃記憶體與算力)的底座上,共有六個 2B 等級的模型。重點在於:你可以依需求挑出對應的模型,用自己的資料在「單張顯卡」上微調,再部署到應用程式實際執行的地方。

為什麼它能放進裝置裡?素材給了幾個具體數字:文字模型在 4 位元精度下只要約 1 GB(量化把模型裡的數字用更少的位元來存,像把高畫質照片壓成較小的檔案,換取更小的體積和更快的速度,品質略有取捨);而且 LFM3-1.7B 用的參數比前代 LFM2.5-2.6B 少 35%,表現卻更好。它的文字模型還支援 256K token 的上下文長度,讓代理(agent,能自己呼叫工具完成任務的 AI)有機會在裝置端運作。架構搜尋涵蓋 14 種裝置與後端組合,從手機、Raspberry Pi 5 到筆電、雲端 CPU、GPU,以及高通的 Hexagon NPU。

再看「大而全」的代表:Mistral Large 4(暱稱 Le Chonk)。它能讀文字也能看圖,總參數約 1 兆、每次實際啟動的約 490 億,採用 MoE(MoE 混合專家把模型切成許多「專家」小組,每個詞只叫其中幾組出來工作,所以雖然總規模很大,每次實際運算量卻比較小)架構,上下文視窗長達 100 萬 token。授權是 Mistral 生態系開放權重授權,類似 MIT,但對「把模型當成服務賣給別人」有限制。

它特別擅長資安與寫程式。在 Artificial Analysis Cyber Index 測試中,要求模型重現開源軟體裡的真實漏洞再修補,Mistral Large 4 得 82%;Mistral 並指出幾個封閉的前沿模型因為拒絕嘗試而接近零分。這對防守方很重要,因為修漏洞通常得先重現漏洞。開放權重讓使用政策與部署方式都掌握在使用者手中,不必擔心 API 在事故處理到一半被停用。

所以兩條路的選擇邏輯很清楚:場景需要在手機、小型設備上離線執行、或要用自己的資料量身微調,選 LFM3 這類小而專的模型;需要一次讀進超長文件、看圖、處理複雜的程式與資安任務,選 Mistral Large 4 這類大而全的模型。而「資料放在自己手上」這件事,正好帶出下一個要談的議題:當推論改在雲端做,資料會不會洩漏?

⚙️ 脈絡拆解

1
先釐清任務與地點你的應用要跑在手機或小設備上,還是在有大量算力的伺服器上?這決定了該往小模型還是大模型找。
▼
2
小而專:挑對應的 LFM3 模型依需求在文字、影像、聲音、全能、決策等 2B 等級模型中挑一個,量化後文字模型約 1 GB。
▼
3
用自己的資料單卡微調每個 LFM3 模型都能在單張顯卡上微調,讓它熟悉你的資料與專業術語。
▼
4
大而全:處理超長內容與複雜任務Mistral Large 4 擁有 100 萬 token 上下文,擅長程式、資安與看圖,適合一次吞下整個程式庫或大量日誌。
▼
5
確認授權與部署方式兩者都是開放權重,但授權條款不同,Mistral 的授權對提供模型即服務有限制,選用前要先看清楚。
小而專 vs. 大而全:兩種開放權重模型的取捨
比較項目LFM3(Liquid AI)Mistral Large 4
規模約 20 億參數(2B 等級)總參數約 1 兆、啟動約 490 億
輸入類型文字、影像、聲音、全能、決策各有對應模型文字與影像
上下文長度文字模型 256K token100 萬 token
部署重點量化後約 1 GB,可跑在裝置端大型模型,也有 GGUF 版本可供社群使用
客製方式單張顯卡即可微調可用其產生的資料訓練較小的模型
擅長場景裝置端代理、貼近自己資料的專用模型程式、資安、多模態

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

🔭 「模型越大越好」還成立嗎?
兩個案例給的答案是:看場景。LFM3-1.7B 用比前代少 35% 的參數就表現更好,顯示架構與訓練方法能讓小模型更有效率;Mistral Large 4 則靠 MoE 與稀疏注意力,讓 1 兆參數的模型每次只動用約 490 億。兩者都在用「選擇性運算」換效率,差別只在目標:一個把模型塞進裝置,一個把能力推到極致。
🔭 開放權重對「信任與控制」有什麼意義?
Mistral 強調,資安與事故處理的輸入常被封閉服務的過濾器誤判為攻擊,團隊若依賴 API,還可能在事故中途失去存取。開放權重讓使用政策與部署都在自己手中,研究者也能直接量測模型的拒絕行為,而不用只聽供應商的說法。這種「控制權」正是後面兩個單元要檢視的另一面:自己掌握,也要自己扛起安全的責任。

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

Q1. LFM3 文字模型「適合跑在裝置端」的主要原因是什麼?
✅ 素材指出 LFM3 文字模型在 4 位元精度下約 1 GB,並且每個模型都能在單張顯卡上微調,因此適合放到裝置端;而約 1 兆參數是 Mistral Large 4,LFM3 其實也有影像、聲音等模型。
Q2. Mistral Large 4 採用 MoE 架構,意思最接近下列哪一項?
✅ MoE 是由模型為每個詞挑選一小群專家來運算,因此雖然總參數約 1 兆,每次實際啟動的約 490 億;它也能看圖,並非只讀文字。
第 2 單元|單元二:聽得懂,也做得到——語音轉文字與穩定的工具呼叫

🧭 本單元白話講

上一單元看到,開放模型可以選「小而專」或「大而全」。這一單元要問的是:選好模型之後,一個 AI 助理怎麼從「聽見聲音」走到「做出正確的事」?這中間有兩道關卡:先把聲音變成文字,再把文字變成可靠的動作。

第一道關卡是語音轉文字。NVIDIA 釋出的 Nemotron 3.5 Transcribe 是一個開放權重模型模型訓練好的參數公開給大家下載,任何人都能拿來自己跑或自己調整。一個模型就包辦轉寫(40 種語言)、翻譯(其中 31 種可和英文互譯)、分辨誰在說話(13 種語言),還能回答關於錄音的問題。它能處理長達一小時的錄音,最多標示八位講者。

最有意思的是它「可以被指令調整」。同一段會議錄音,你說「轉寫這段錄音並標出每位講者」,它就給逐字稿;說「把這段音訊翻成英文」,它就給翻譯;問「這場會議做了哪些決定?」,它就直接回答。也就是說,你不用換模型,只要換一句話。

但光靠一句話,遇到陌生的專業詞彙(例如醫療用語)可能還是寫錯。素材建議先試「提供上下文」,不夠再訓練:在醫療案例中,針對沒聽過的講者做微調,字詞錯誤率(WER,也就是轉錯字的比例)比最好的一種提示寫法再降低 45.8%(相對值)。

第二道關卡是「做得到」。AI 要呼叫外部工具,需要兩步:先告訴模型有哪些工具,再教它用固定格式輸出呼叫。格式只要錯一點,後面的動作就接不起來。Ubicloud 用 vLLM 0.28 自架 Kimi K2.6 時,只有 92% 的工具呼叫符合預期格式,也就是每 25 次就失敗 2 次。錯誤的呼叫會讓模型在無意義的上下文上繼續累積,多輪的代理式任務尤其容易越做越歪。

修法是受限解碼模型每次挑下一個字時,只准它從符合格式規則的字裡選,所以不可能寫出格式錯誤的內容。vLLM 0.31 把它做成伺服器端的旗標(開關),打開後,較新的 Kimi 與 DeepSeek 模型在格式正確率上達到 100%。順帶一提,Liquid AI 的 LFM3 在訓練後段刻意加入較多代理操作紀錄與工具呼叫資料,可見「穩定呼叫工具」已是小模型訓練時的明確目標。

⚙️ 脈絡拆解

1
聲音進來錄音交給語音轉文字模型,附上一句文字指令,例如「轉寫並標出每位講者」或「翻成英文」。
▼
2
產出文字模型依指令輸出逐字稿、講者標示、翻譯或問答結果。遇到陌生專業詞,先補上下文,不夠再微調。
▼
3
告知可用工具推論引擎把工具清單(用 JSON 寫成的說明書)包進模型熟悉的特殊標記,交給模型。
▼
4
模型輸出工具呼叫模型要用固定格式寫出呼叫哪個工具、帶哪些參數。這一步沒保護時會出錯,素材中實測約 8% 失敗。
▼
5
受限解碼把關打開伺服器旗標後,模型只能產生符合格式的內容,工具呼叫才能穩定接上動作。
三種「讓 AI 更可靠」的手段,各管哪一段
手段管什麼素材中的成效或特點
文字指令(提示)決定語音模型輸出轉寫、翻譯、講者標示或問答同一個模型,換一句話就換一種輸出,不必重新訓練
微調讓語音模型適應專業詞彙與口音醫療案例中,錯誤率比最好的提示再降低 45.8%(相對值)
受限解碼讓工具呼叫的格式一定正確從約 92% 提升到 100%(vLLM 0.31 的伺服器旗標)

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

這是 OpenCode 傳給 Kimi 的工具說明書(節錄、簡化),描述一個叫 webfetch 的網頁抓取工具。模型輸出的呼叫必須符合這份格式,受限解碼守的就是這份規則。

●"name": "webfetch",
💬 工具名稱。模型呼叫時必須寫對這個名字。
●"type": "object",
💬 參數整體要是一個物件,也就是一組「名稱:值」。
●"url": { "type": "string", ... },
💬 必須給網址,且是文字。
●"format": { "type": "string", "enum": ["text", "markdown", "html"] },
💬 格式只能三選一。模型若自己發明一個值,就算格式錯誤。
●"timeout": { "type": "number", ... },
💬 逾時秒數,是選填的數字。
●"required": ["url"]
💬 只有 url 一定要給,其餘可省略。

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

🔭 為什麼「模型很強」不等於「助理好用」?
兩道關卡都顯示,能力要靠周邊機制才能兌現。語音模型要靠指令與微調,才能輸出你需要的樣子;工具呼叫要靠受限解碼,才能保證格式不出錯。Ubicloud 就指出,自架開放模型時,實際表現常遠不如評測分數,原因之一就是工具呼叫的格式沒做對。所以評估一個模型能不能落地,除了看成績,還要看它跑在什麼引擎上、開了哪些保護。
🔭 「靠提示」與「靠訓練」,什麼時候該換手?
素材的順序很清楚:遇到陌生詞彙,先試提供上下文,也就是便宜的提示;效果不夠,再投入微調。醫療案例中,微調讓錯誤率比最好的提示再降 45.8%,代表專業領域確實有提示碰不到的空間。反過來看,格式正確性不該靠模型「自覺」,而要用受限解碼從機制上保證。

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

Q1. 想讓同一個 Nemotron 3.5 Transcribe 模型把會議錄音從「逐字稿」改成「翻譯成英文」,最直接的做法是什麼?
✅ 這個模型把轉寫、翻譯、講者標示和問答放在同一個檢查點(checkpoint),只要換指令就能得到不同輸出,不需要換模型或重新訓練。
Q2. 素材中,受限解碼解決了什麼問題?
✅ 受限解碼限制模型每一步只能選符合格式的內容。Ubicloud 的實測中,工具呼叫格式正確率從約 92% 提升到 100%。其他兩項分別屬於語音模型與 LFM3 的特點。
第 3 單元|單元三:資料在哪裡洩漏——雲端推論的隔離風險

🧭 本單元白話講

上一單元我們看到,模型要「做得到」,靠的是穩定的工具呼叫。但當你把這些能力放到雲端或自己的機器上跑,另一個問題就浮現了:你的資料,會不會被別人看到?這一單元就用 Cloudflare 公布的一起真實事故來回答。

先講一個背景。AI 服務在處理你的長篇提問時,會把算過的中間結果存起來,這個暫存區叫做 KV 快取模型讀完你的文字後,把「已經算好的理解結果」暫存起來的記憶區,下次要接著用時不必重算。這樣做是為了快,而且很多使用者會同時共用同一批 GPU,所以快取必須確保「你的內容只屬於你」,這就是所謂的 租戶隔離同一套系統服務很多客戶時,保證客戶之間彼此看不到對方資料的機制。

事故經過是這樣:2026 年 8 月 27 日起,Cloudflare 上跑的 GLM-5.3 模型,讓少數客戶收到了「別人剛送出的請求內容」。總共 155 筆回應受影響,而且全部發生在提示長度超過 681,280 個 token 的情況。9 月 8 日由資安研究員 Gadi Evron 通報,Cloudflare 隔天重現問題,宣告事故後 40 分鐘內就把模型下線,當天修好並恢復服務。他們也查過,這些請求的時間與數量像是正常的長文件使用,沒有發現有人刻意利用漏洞。

原因是兩個問題疊在一起。第一,設定不一致:模型對外宣稱可以讀 1,048,576 個 token,但負責讀題的 GPU 上,快取空間只裝得下 681,280 個。Cloudflare 上線前就知道這個落差,但預期引擎遇到放不下的內容會直接報錯,而且他們的長文測試也都成功回應,所以沒當一回事。第二,是所用的開源推論引擎 SGLang 的程式錯誤:太長的請求被標記為拒絕,並換成一個只有一個 token 的佔位內容,但系統沒有中止並回報錯誤,反而照樣為佔位內容產生快取並往下傳,結果讀到的是別人留在那塊空間裡的內容。

把這件事放到「自架」的角度看,風險同樣存在,只是形式不同。第二篇素材講的是用 vLLM 自架開源模型:用 vLLM 0.28 跑 Kimi K2.6 時,工具呼叫格式只有 92% 正確,也就是每 25 次就有 2 次失敗,這是品質風險;不過這則素材談的是格式正確率,並沒有談資料外洩。所以評估時要分開看:雲端的風險是「你無法檢查別人家的設定與引擎」,自架的風險是「所有設定與修補都得自己負責」。

⚙️ 脈絡拆解

1
長文提示送進推論服務你送出一段超過 68 萬個 token 的超長內容,而這個服務宣稱可以處理到約 105 萬個。
▼
2
快取空間放不下負責讀題的 GPU 快取只有 681,280 個 token 的空間,比宣稱的上限小,這個落差在上線前就已知道。
▼
3
引擎處理過長請求出錯SGLang 把過長請求換成一個佔位內容,卻沒有中止並回報錯誤,仍繼續產生並傳送快取。
▼
4
讀到別人的內容回應中混入同一個模型稍早其他客戶的請求內容,共 155 筆回應受影響。
▼
5
通報、下線、修復研究員 9 月 8 日通報,Cloudflare 隔天重現並在 40 分鐘內下線,修正設定與引擎後當天恢復。
雲端與自架的資料風險比較(依本單元兩份素材整理)
面向用雲端 AI 服務自架開源模型
設定與引擎誰負責服務商負責,你看不到細節你自己負責,包含設定與更新
素材中的實例GLM-5.3 因快取隔離出錯,155 筆回應含他人內容vLLM 0.28 跑 Kimi K2.6,工具呼叫格式僅 92% 正確(品質問題,非外洩)
發現與修復靠外部研究員通報,服務商下線修復要自己追蹤引擎版本與修正
你能做的事了解服務是否與他人共用,並留意公告自己控管設定、測試並及時升級

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

🔭 為什麼 Cloudflare 上線前就知道設定不一致,事故還是發生了?
因為他們把希望放在「引擎遇到放不下的內容會報錯」,而且測試都成功。這顯示:只靠「測試通過」不夠,若測試沒有刻意覆蓋會失敗的極端情況,已知的小落差也可能在引擎有程式錯誤時變成資料外洩。對使用者的提醒是,長文件、超長提示這類極端用法,最容易碰到服務的邊界。
🔭 自架就一定比較安全嗎?
不一定。素材顯示,自架代表你必須自己面對引擎的缺陷與設定,例如 vLLM 的工具呼叫曾有約 8% 失敗,要升級並開啟新功能才改善。自架把「看不到別人家設定」的風險,換成「自己要負責維護」的風險,要看你有沒有能力持續更新與測試。

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

Q1. Cloudflare 這起事故中,別人的內容為什麼會跑到你的回應裡?
✅ 素材指出是兩個問題疊加:快取只裝得下 681,280 個 token 卻宣稱支援 1,048,576 個,且 SGLang 對過長請求沒有中止並回報錯誤。Cloudflare 也表示沒有發現刻意利用漏洞的證據。
Q2. 素材中 vLLM 0.28 跑 Kimi K2.6 的 92% 數字,代表什麼?
✅ 素材說的是工具呼叫的格式正確率(schema accuracy),不是資料外洩,也不是回答內容正確率。這提醒我們自架要自己負責品質與維護。
第 4 單元|單元四:信任鏈上的缺口——當開發工具本身被植入後門

🧭 本單元白話講

上一單元我們看到,雲端推論服務可能因為快取隔離出錯,把別人的資料送到你手上。這一單元要把視野再拉大一步:從「模型」到「推論服務」再到「開發工具」,它們串成一條信任鏈,任何一環出缺口,整條鏈都不可靠。

先看 Cloudflare 的事故。他們用開源的 推論引擎負責把模型載入並真正算出回答的軟體 SGLang 跑 GLM-5.3,上線時設定的 context window模型一次能讀進去的內容長度上限 是 1,048,576 個 token,但 KV cache模型為了加速而暫存先前計算結果的記憶區 池只容得下 681,280 個 token。團隊在上線前就知道這個落差,卻以為超長的請求會被引擎直接報錯;結果引擎把超長請求換成一個佔位符,卻沒有中止,反而把別人的快取內容送了出去。受影響的是 155 筆回應,全都是超過 681,280 token 的長提示。這告訴我們:「我以為它會報錯」不是安全保證。

接著是更貼近日常的例子。資安公司 Phorion 發現,Cursor 擴充市集上的官方 Claude Code for VS Code 擴充套件 2.1.313 版被植入後門。擴充套件是以你本人的權限執行的,所以一載入就能碰到本機檔案、原始碼與開發工具。這個後門會設定 SSH 遠端登入並留下持久的存取方式,還會把主機資訊回傳給操作者。Cursor 已下架該版本,並同時從 NPM 與 VS Code 的來源撤下 2.1.313。

有趣的是,這個後門在 macOS 上有個失誤:它用 systemsetup -getremotelogin 檢查 SSH 是否關閉,但一般使用者執行時,這個指令只會印出需要管理員權限的錯誤,並且回傳狀態 0,而不是 Off,所以惡意程式沒有真的把 SSH 打開。但 SSH 金鑰和持久化機制仍被放下,所以仍然必須當成事件處理。運氣好不等於安全。

把三則素材放在一起,就能建立三個實用習慣。安裝前:確認來源與版本、留意有無異常更新。事後排查:若曾安裝受影響版本,檢查是否出現不明的 SSH 金鑰與遠端登入設定,並通知資安人員。最小權限:開發工具不要用超過需要的權限,也不要把敏感資料放在不需要的地方。開放權重模型如 Mistral Large 4 讓你自己掌控部署與使用政策,但它同樣是信任鏈的一環,自架不代表可以省略檢查。

⚙️ 脈絡拆解

1
安裝前確認確認擴充套件的發布來源與版本號,留意官方是否發出警告或撤下版本。
▼
2
盤點是否中招檢查有沒有安裝過 Claude Code for VS Code 2.1.313,這是這次事件已知的受影響版本。
▼
3
檢查遠端存取痕跡查看電腦上有沒有不明的 SSH 金鑰、被開啟的遠端登入設定或不認得的常駐項目。
▼
4
通報並處理若發現使用過受影響版本,通知資安人員啟動事件應變,不要只是解除安裝了事。
▼
5
縮小權限讓開發工具只拿到它必須的權限,萬一被攻破,損害範圍較小。
信任鏈三個環節的缺口比較
環節本單元事件缺口原因你能做的事
模型/推論引擎GLM-5.3 快取外洩快取池小於宣告的長度上限,且引擎沒有正確中止請求了解服務上限,不要假設超長輸入會被擋下
推論服務Workers AI 租戶隔離多個客戶共用服務,資料隔離出錯敏感內容不要隨意送上共用雲端服務
開發工具Claude Code 擴充套件後門官方發布管道的套件被植入惡意程式碼核對版本、排查 SSH 痕跡、最小權限

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

🔭 為什麼要把模型、推論服務與開發工具看成同一條信任鏈?
因為攻擊者只需要找最弱的一環。Cloudflare 事故來自設定與引擎的落差,擴充套件事件來自發布管道被汙染,兩者表面無關,但結果都是你的資料或電腦被他人碰觸。資安不能只守其中一段。
🔭 後門的 SSH 檢查出錯,是不是就代表可以放心?
不能。素材明確指出 SSH 開啟步驟被跳過,但金鑰與持久化仍已落地,也會回傳主機偵察資訊。程式碼的瑕疵只是降低了衝擊,並沒有消除風險,仍應當成事件處理。

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

Q1. 如果你曾安裝 Claude Code for VS Code 2.1.313,最合適的做法是什麼?
✅ 後門已留下 SSH 金鑰與持久化機制,只解除安裝不夠,需要排查並進行事件應變。
Q2. Cloudflare 的 GLM-5.3 事故中,造成資料外洩的關鍵之一是什麼?
✅ 配置的快取池只有 681,280 token,卻宣告 1,048,576 token 的上限,引擎又沒有中止超長請求,導致跨請求內容外洩。

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

0%