Program-as-Weights:把模糊功能編譯成可離線執行的神經權重
Program-as-Weights: A Programming Paradigm for Fuzzy Functions
背景
日常軟體開發中,有大量任務其實很難用明確規則寫死,例如「判斷哪些日誌行值得警示」「修復格式錯誤的 JSON」「依使用者意圖排序搜尋結果」。這類工作的共通點是:輸入輸出的對應關係模糊、難以窮舉條件分支,傳統程式碼寫起來又臭又長,於是工程團隊近年乾脆把它們外包給大型語言模型(LLM)API,每次呼叫都即時推論一次。這種做法雖然方便,卻犧牲了三件事:本地化(local)執行能力、結果的可重現性,以及成本——畢竟每次呼叫都要付費,且依賴雲端網路。
由 Wentao Zhang、Yuntian Deng 等六位作者(涵蓋多間機構)於 2026 年 7 月投稿 arXiv 的這篇論文,提出了一個新的程式設計典範,稱為「fuzzy-function programming」(模糊函式程式設計)。核心想法很直白:與其把「模糊函式」當成每次都要問一次 LLM 的問題,不如把它「編譯」成一個小巧、可在本地重複執行的神經網路產物(neural artifact),就像編譯器把原始碼編譯成執行檔一樣——只是這次編譯出來的不是機器碼,而是一組權重。
方法
論文提出的具體實作方案叫做 Program-as-Weights(PAW)。整個流程分成「編譯」與「執行」兩階段:
編譯階段由一個 4B 規模、經過訓練的 Qwen3 編譯器(compiler)負責,把開發者用自然語言寫的函式規格(specification)轉換成一組參數效率極高的 adapter(基於 LoRA)。具體來說,PAW 的「程式」是混合式的:一半是離散的「偽程式碼」(pseudo-program,由未經訓練、現成的 Qwen3-4B 模型透過提示直接改寫規格與範例產生),另一半是連續的 LoRA 權重——由訓練過的 LoRA 編譯器讀取規格與偽程式碼後,從 64 個學習出的前綴 token(T=64)、跨多層(L)萃取隱藏狀態,再透過一個「LoRA Mapper」映射成實際的 LoRA 參數。這個 Mapper 用共享的可學習基底(rank r=64、每種模組類型 N=64 組基底),每個函式大約注入 3850 萬個參數。
執行階段則交給一個凍結不動、輕量的 0.6B(或 0.8B)Qwen3 直譯器(interpreter),只要熱插拔對應的 LoRA adapter,就能離線執行任何已編譯好的函式。
訓練資料是團隊自建並公開釋出的 FuzzyBench,規模達 1000 萬筆範例。生成方式分兩階段:先用 gpt-5.2 產生超過 800 種模糊任務類別,涵蓋 29 個主題版本,再展開成七大任務家族(文字處理/NLP 佔 250 萬筆、解析、分類、命名實體辨識、結構化輸出生成、程式碼生成、安全性驗證等),並加入八種雜訊擾動(拼字錯誤、語法錯誤、表述模糊、格式混亂)三種強度等級,測試集則要求 gpt-5.2 與 gpt-5-mini 的輸出彼此一致才視為有效標註。訓練只更新 LoRA 編譯器,偽編譯器與直譯器全程凍結,3 個 epoch、有效批次大小 48、學習率 2×10⁻⁵,在 B300/H200 GPU 上耗時 3 到 72 小時不等。
實驗結果
在 FuzzyBench 上,0.6B 的 Qwen3 直譯器搭配 PAW 程式達到 73.78% 精確匹配率(exact match),反而超越直接對 Qwen3-32B 做提示(prompting)的 68.70%——用的推論記憶體卻只有約五十分之一(1.2GB vs. 60GB)。作為對照的上限,gpt-5.2 本身在此基準上是 96.09%,gpt-5-mini 是 91.87%。
消融實驗顯示 PAW 的優勢並非只靠訓練資料量:同樣資料下,全量微調 0.6B 模型只有 58.4%,固定 LoRA(r=64)只有 52.1%,分別比 PAW 低 15.4 與 21.7 個百分點;程式碼生成基線 ALCHEmist 更只有 23.1%。而作者早期嘗試用 KV-cache 前綴微調(prefix-tuning)取代 LoRA,在同等運算量下僅 50.4%,遠不如 LoRA 在 r=64 時的 65.7%,因此最終選定 LoRA 方案。
效能與部署面同樣亮眼:模型量化為 Q4_K_M 基底加 Q4_0 LoRA 後,總體積約 507MB(430MB 共享基底 + 每程式 23MB adapter),在 MacBook M3 上以 Metal 加速可跑到每秒 30 個 token,冷啟動載入僅需 0.48 秒。即使把直譯器換成更小的 GPT-2(124M參數),準確率仍有 54%;把編譯器換成 Qwen3-VL-4B,還能不改動文字直譯器就處理圖像任務,例如圖表理解(CoSyn-400K)在電路圖項目達 0.274,優於同量級 VLM 基線的 0.196。抗雜訊測試中,乾淨規格下 73.78% 的準確率,在重度拼字雜訊下,若保留偽程式碼這層「去噪」機制仍有 69.28%,拿掉則掉到 64.78%,顯示 4B 編譯器的改寫步驟能有效保護小型直譯器不受規格文字雜訊干擾。此外論文也展示了五個實際應用案例,包括一個由 10 個 PAW 函式串接的工具呼叫(tool-calling)流程,在 ToolCall-15 基準上拿下 93% 的分數。
意義
PAW 最重要的概念轉變,是把基礎模型(foundation model)從「每次輸入都要重新求解一次的問題解算器」,改造成「只需為每個函式定義呼叫一次的工具打造者(tool builder)」。編譯只發生一次,之後每次呼叫該函式都是離線、便宜、可重現的本地運算,不再依賴雲端 API 也不再產生持續性的推論成本。
這對實務工程有直接影響:過去許多「懶得寫規則、乾脆呼叫 LLM API」的小型判斷邏輯(日誌告警分級、模糊搜尋排序、資料格式修復),現在可以被編譯成一個幾百 MB、能塞進手機或筆電本地執行的小模型,速度、隱私與成本都大幅改善,同時保留了接近大型模型的準確度。更廣義地看,這篇論文也是超網路(hypernetwork)研究路線的一次延伸——不再只是根據問答情境生成連續型的 PEFT 模組,而是根據「工程師風格」的功能規格生成離散加連續混合的「程式」,並將其當作可版本控管、可分發的軟體產物來看待,為未來「用自然語言定義、編譯出本地小模型」的開發模式打開了一個具體可行的範例。