2026.08.14 —— 今日 10 則
TODAY'S THREAD 今天的題目多半在講同一種錯位:保護、成本或信任被畫在某一層,真正決定結果的卻是更底下那一層——memory controller 看不見 SMRAM 的鎖、reflection 讓攻擊方不必自己出力、Fil-C 想把「用 C 比較便宜」這個假設整個翻過來,而 HeyGen 要在 32 GB 的晶片上重新安排 36 GB 的權重。
36 GB 的權重,32 GB 的晶片
HeyGen 把 Avatar IV 搬上八晶片的 Trillium (v6e) TPU host,先撞上一道很硬的算術——這套系統「超過 18B 參數」、「超過 36 GB 的 bf16 權重」,而每顆 Trillium 只有 32 GB HBM。解法是 FSDP 權重切分疊上 Ulysses sequence parallelism 共用同一個 mesh,再讓 Trillium 的 SparseCore 非同步扛下每一層的 weight gather。另外兩刀砍在 kernel 上:sparse attention 的 block 限制從 128 的倍數放寬到 16 的倍數,softmax 的 running maximum 換成用 Cauchy-Schwarz 算出的上界(適用於 98% 到 99% 的 head),最後比第一個可運作版本快 1.86 倍。
脈絡給得太多,模型就不記了
這篇 preprint 提出 Information Abundance Paradox,主張訓練脈絡裡「充足的相關資訊會降低把該資訊寫進參數的誘因,因而提高對脈絡的依賴」。在長文件預訓練上,加大 context window 對語言模型、自然語言理解與 closed-book MCQA 的幫助只到一個中間最佳點,之後表現持續下滑;在 SFT 上,訓練時餵越多任務相關脈絡,測試時脈絡缺席或誤導就越脆弱。機制面的線索是梯度壓力從常被連結到參數知識的 feed-forward network 移向 attention 模組,作者再以 causal intervention 確認這個位移確實提高了推論時對脈絡的依賴。
把位址攪亂,保護區就露了出來
page table、TLB 與 SMRAM lock 這些保護都建立在虛擬與實體位址上,但實體位址翻譯成 DRAM 座標的最後一段發生在 memory controller,而那一層看不到上面的安全邊界。這個專案改掉 AMD Family 16h 的 MCT/DCT 設定,讓同一個 DRAM cell 能被另一組位址別名讀到,於是 PSP 的私有 carveout、SMRAM 裡的 SMM handler、C6 存下的 CPU 暫存器與等著重載的 microcode patch 都跟著露出來。作法是丟 sentinel 值觀察它們在哪裡浮出來,把 (target, alias) 配對餵給 Z3,用 GF(2) 上的線性代數解出未知的轉換矩陣,而作者挑上 Family 16h 的理由是「最後一個公開文件記載了 DRAM controller 翻譯暫存器的世代,而且文件顯示它們無法被鎖住」。
讓寫 C 變成要付代價的那一邊
Fil-C 用 capability、執行期檢查與並行 GC 重新編譯 C 與 C++,「記憶體安全違規會 panic 而不是變成 exploit」,代價由執行期買單。作者想要的是 Rust 端的 extern "fil-c":今天的 extern "C" 對上的是 Fil-C 口中的 Yolo-C ABI,而 Fil-C「與 C 源碼相容,但刻意不做 ABI 相容」,還要求整個程式與相依都走它的 ABI,任何橋接都得保住這個全世界一致的保證。真正有意思的是誘因反轉——橋接一旦成立,繼續用 C 才要付效能代價,把熱點改寫成 Rust 反而是拿掉檢查的那條路。
攻擊方換了引擎,不再自己出力
Cloudflare 在 2026 上半年擋下 2,320 萬次 network-layer DDoS 攻擊與 29.64 兆次 HTTP DDoS 請求,平均大約每小時 5,343 次。比總量更值得記下的是向量的位移:DNS flood 佔 network-layer 攻擊的比例季增從 25.7% 升到 40.0%,CLDAP flood 季增 580% 成為 Q2 第三大向量,重心明顯從 botnet flood 移向 reflection 與 amplification。超過 1 Tbps 的攻擊從 Q1 到 Q2 增加 519%,整個上半年合計 935 次。
日全食走過,流量跟著掉下去
日食帶從阿拉斯加時間 15:35 UTC 起掃過大西洋北緣,Cloudflare 的量測顯示全食帶上的網路流量下降「大約 15% 到 30%」,偏食程度淺的地區則幾乎沒有變化。基準線的取法是「前三個星期三的中位數,依時段逐格對齊」,冰島、西班牙與葡萄牙的跌幅最深,挪威與瑞典反而略高於基準,丹麥的變化最小。恢復通常「在最大遮蔽後幾分鐘內」就發生,這也是這類量測少見地能把一個天文事件對照到人的上線行為。
雙向綁定拖垮了一套 Rust GUI
這篇評論直指 Xilem 的核心設計失誤在雙向資料綁定,作者的說法是「雙向綁定在 Rust 裡行不通(在其他語言裡也只是勉強可用)」,而且「它至少有一半的問題來自把雙向綁定烤進 API」。具體症狀是 Lens、MapMessage、Memoize 這些高階元件產出無法見人的公開簽章,以及 fork、run_once、worker 這類帶副作用的 view 破壞了反應式模型的前提。框架本身大約 30 個 trait 與大約 70 個 View 實作,作者開的處方是改用型別抹除的 Component、把副作用移出 view rebuild,並砍掉 virtual scrolling、environment context 與核心對 Tokio 的相依。
內容憑證的驗證留在本機
Google 開源了 Credentio,一套處理 C2PA Content Credentials 的 C++ 函式庫,目前聚焦在驗證這一側:trust list 整合、manifest 解析與逐項的 verdict 報告。關鍵設計是「Credentio 提供的 API 設計成完全在開發者的應用程式內本機執行」,因此「不需要把媒體檔送到雲端伺服器驗證」。官方說同一套引擎已經撐起「將近 40 個符合 C2PA 規範的 Google 產品」並擴展到數百億個生成資產,不過公告只說記憶體佔用比其他方案小,沒有給出可比對的數字。
換哪個模型,交給路由器決定
Microsoft.Extensions.AI 10.9.0 加進四個實驗性型別——RoutingChatClient、SemanticRoutingChatClient、FailoverChatClient 與 OrderedFailoverChatClient,全部掛在診斷代號 MEAI001 底下。路由是每次請求選一次:callback 收到一個帶著訊息與 ChatOptions 副本的 RoutingContext,而「呼叫端自己的 options 物件永遠不會交給任何 client」。語意路由用 embedding 相似度比對範例語句,官方的建議是「平均數個匹配比賭最接近的那一個更穩」;失效轉移只在輸出尚未送出前重選,目前不支援 model cascading、ensemble 與 hedging。
發布金鑰只剩三十天
NuGet.org 從 2026 年 8 月 17 日起把新 API key 的效期上限從 365 天縮到 30 天,8 月 17 日以前建立的金鑰則在 11 月 1 日全數到期。官方推的替代路徑是 Trusted Publishing:「一個 OIDC 工作流程把簽章過的短期身分 token 交給發布流程,NuGet.org 依套件擁有者設定的政策驗證那個 token,再為該次發布操作簽發一把臨時 API key」,目前支援 GitHub Actions 與 GitLab。公告拿 NX Console 遭入侵當例子,攻擊者用偷來的憑證發布的惡意套件在被移除前的 36 分鐘內被觸發了 6000 次。