Program-as-Weights:一种面向模糊函数的编程范式
Program-as-Weights: A Programming Paradigm for Fuzzy Functions
Program-as-Weights (PAW) 提出模糊函数编程范式,将自然语言描述的函数编译为紧凑、可本地执行的神经制品。PAW 使用在 10M 示例数据集 FuzzyBench 上训练的 4B 编译器,为冻结的轻量级解释器输出参数高效适配器。0.6B 的 Qwen3 解释器执行 PAW 程序性能匹敌直接提示 Qwen3-32B,推理内存仅约五十分之一,在 MacBook M3 上达 30 tokens/s。该方法将基础模型从每次输入的求解器重新定义为工具构建器,一次函数定义后生成的制品可离线廉价复用。
这篇论文把模糊任务从调用大模型API变成了本地轻量函数,0.6B就能跑赢32B,省掉几十倍成本。对需要处理日志、JSON修复等经常性模糊任务的开发者是个真信号。
{w564zhan, lhotsko, pynie, yuntian}@uwaterloo.cawk247@cornell.edushieber@seas.harvard.edu
摘要
许多日常编程任务难以通过清晰的基于规则的方式实现,例如对重要日志行进行告警、修复格式错误的 JSON、或按意图对搜索结果排序,这些任务正越来越多地被外包给大语言模型 API,代价是牺牲了本地性、可复现性和成本。我们提出模糊函数编程:将此类函数从自然语言规范编译为紧凑的、可本地执行的神经产物。我们通过“程序即权重”(PAW)来实例化这一范式,其中,一个在 FuzzyBench(我们发布的一个包含 1000 万示例的数据集)上训练的 4B 编译器,为冻结的轻量级解释器生成参数高效的适配器。一个执行 PAW 程序的 0.6B Qwen3 解释器,其性能可与直接提示 Qwen3-32B 相媲美,同时仅使用约五十分之一的推理内存,并在 MacBook M3 上以 30 tokens/s 的速度运行。PAW 将基础模型从每次输入的问题求解器重新定位为工具构建者:每个函数定义仅调用一次,即可生成一个可复用的轻量级产物,后续每次函数应用调用的成本低廉且可离线运行。
1 引言
编程历来都是关于用为此目的设计的正式语言(即编程语言)编写显式规则。函数由代码定义,计算机确定性地执行它。对于许多任务,这一范式效果极佳:对数字排序、处理结构化数据、计算矩阵乘积。然而,有一大类现实世界函数难以精确规范。例如,过滤计算机日志以仅对重要的日志行或消息进行告警、修复格式错误的 JSON、或按意图对搜索结果排序。即使是看似“简单”的任务,例如编写一个正则表达式来解析包含许多边缘情况的文本,也显得脆弱。除了规范不足之外,现实世界的输入也存在噪声:拼写错误和格式漂移经常破坏手写规则和正则表达式。这些就是模糊函数(Rubio Manzano, 2012):人类觉得直观但无法被清晰的符号规则完全捕捉的问题。
如今,开发者常常将这种模糊性外包给大语言模型 API。在代码库中,越来越常见的是调用远程大语言模型(例如 `gpt(‘‘提取答案’’, text)`)来实现那些原本难以编程的函数。这种方法无疑很方便,但它成本高昂、脆弱易碎,并且由于提供商可能会静默更新其模型(Kim 等人,2023),这破坏了可复现性,也使得软件无法做到自包含。
我们提出了一种不同的范式,包含三个步骤:开发者用自然语言描述函数;一个神经编译器将该描述转化为一个微小的神经二进制文件;一个冻结的、轻量级的神经解释器(在用户设备上一次性安装)像运行用户自定义函数一样运行该二进制文件(图 1)。我们将这种范式称为“程序即权重”(PAW)。任何由超网络生成的、具有足够表达能力的参数高效模块(PEFT)都可以作为程序形式;我们实例化了两种方法——前缀微调和文本到LoRA——并发现LoRA效果更好,而未来的PEFT方法可能会更好。
一个PAW程序包含两半部分。第一部分是一个自然语言的伪程序,是对用户规格说明的重新表述。第二部分是一个PEFT模块,它为这一特定任务重新调整冻结的解释器:在我们的前身系统中,这是一个前缀微调KV缓存;在我们当前的系统中,它是由编译器从其自身隐藏状态生成并注入到解释器中的一个LoRA模块。离散部分保护解释器免受原始规格说明中的拼写错误和歧义的影响;连续部分则提供了纯文本无法实现的细粒度行为控制。
该编译流程包含两个阶段,两个阶段均运行 4B 参数的 Qwen3 模型。第一阶段是一个伪编译器,采用我们从未训练过的现成模型:通过一个简短的任务重写模板进行提示,它将用户的规格说明转化为一个清晰的伪程序,该程序包含一段改写后的描述以及少量输入输出示例。第二阶段是我们训练的 LoRA 编译器:它读取规格说明和伪程序,并生成 LoRA 适配器。我们在 FuzzyBench 上训练该 LoRA 编译器,FuzzyBench 是本文随附发布的一个包含 1000 万示例的数据集,该数据集通过 29 个主题版本增量构建,涵盖超过 800 类模糊文本任务,例如分类、格式转换、解析、模糊匹配、自然语言指令、智能体工具使用等等。
最终成果是一个小巧、快速且精准的系统。一个执行 PAW 程序的 Qwen3-0.6B 解释器,其性能优于直接提示 Qwen3-32B(精确匹配率 73.78% 对比 68.70%),而推理内存消耗仅约为后者的五十分之一。经过量化后,同一系统在 MacBook M3 上以每秒 30 个 token 的速度运行,其基础部分基于一个跨函数共享的 430 MB GGUF 文件,外加每个程序 23 MB 的 LoRA 适配器;一个更小的 GPT-2 路径则通过 WebAssembly 完全在浏览器客户端运行。
我们将“程序即权重”视为迈向小模型未来(Belcak 等人,2025)的具体一步——在这一未来中,繁重计算在编译时一次性完成,而软件的日常运行则在本地进行。我们通过五个案例研究展示了其应用:输出分类(事件驱动的日志监控)、自定义分类(基于意图的站点导航)、模糊搜索(语义搜索重排序)、智能体预处理(一个在 ToolCall-15 上得分 93% 的工具调用流水线),以及创意生成(一个多语言猜词游戏)。每个案例都属于那种难以用符号化方式实现、但又无需对每个输入都调用 300 亿参数模型 API 的模糊任务。我们还展示了该抽象在模态上的通用性:只需将编译器替换为视觉语言模型,同时保留相同的解释器,即可在图像条件下的模糊任务上运行 PAW 程序。我们的代码可在 https://github.com/programasweights 找到,公开演示地址为 https://programasweights.com。
2 程序即权重
设 表示一个其行为更适宜通过自然语言、示例或约束而非符号化代码来指定的函数,即一个模糊函数。我们不再反复调用大语言模型来近似 ,而是提出编译一个神经程序,该程序将固定模型特化以实现 。
形式上,设 表示一个用户规范,以自然语言表达,并可附带示例输入-输出对 。神经编译器 将 映射为程序 。一个固定的小型神经解释器 在输入上执行 以产生输出 :
| (1) |
这种划分类似于经典编程:编译器将源代码翻译成可执行文件,随后由运行时环境执行。关键区别在于,这里的可执行文件是一个学习得到的参数块,而运行时环境是一个神经网络。解释器无需重新训练:引入新的模糊函数只需编译新的程序 。
混合程序。
为概念简洁起见, 可被视为一个单一的连续对象。然而,在我们的具体实现中, 是离散组件与连续组件的混合体:
| (2) |
离散组件是一个可变长度的 token 序列,它作为一个独立的“伪程序”呈现给解释器,作为其输入的一部分。连续组件可以使用任何 PEFT 方法来实现,例如注入到解释器中的 LoRA。
为什么叫“程序”?
这种框架之所以重要,是因为它决定了该工件如何使用。一个编译好的 PAW 程序是一个单一文件(对于 0.6B 的解释器为 23 MB,外加一次性的共享基础),可以保存、进行版本控制、通过包管理器分发,并通过两行 API 从 Python 或 JavaScript 调用。PAW 程序与 Python 模块属于同一类对象:它们有名称和版本,但其行为编码在权重中,而非源代码中。编译器负责完成繁重的工作;解释器是一个固定的运行时,类似于传统软件栈中的 CPU 或字节码解释器。
3 编译器–解释器系统
3.1 编译器–解释器抽象
PAW 流水线包含三个组件,它们都不依赖于为程序形式选择的特定 PEFT。伪编译器读取规格说明并生成一个离散的伪程序。PEFT 编译器读取规格说明以及该伪程序,并从其隐藏状态中输出一个小的参数高效模块。冻结的解释器在运行时接收该伪程序——通过将其附加到适当的目标模块并运行用户的输入——以产生输出。我们以两种方式实例化 PEFT 模块:前缀微调 KV 缓存(第 3.3 节)和 LoRA(第 3.2 节),其中后者是目前效果最好的。
伪编译器。
伪编译器是一个现成的 Qwen3-4B-Instruct-2507 模型,我们从未对其进行训练。给定一份规范说明后,我们使用一个简短的任务重写模板(完整文本见附录 C)来提示该模型,要求其对任务进行清晰的重述,并附上若干具有代表性的输入-输出示例。其输出是程序的离散组件。¹¹¹在早期原型中,我们训练了一个编译器,通过强化学习来生成这一离散组件,但观察到无论种子提示词如何,编译器都收敛到了相同的“释义加示例”格式;因此,我们直接手工设计了一个提示词,使现成模型能产出该格式,从而省去了强化学习阶段。该伪编译器由下文两种 PEFT 实例化方案共享。
3.2 文本到 LoRA:我们当前的最佳方案
LoRA 编译器。
LoRA 编译器是第二个 4B 规模的 Qwen3 模型,初始化为与 相同的检查点,但经过了训练(第 4 节)。给定规范说明和由 生成的伪程序后,它对拼接结果 执行一次前向传播,其中 是一个固定的已学习“前缀”token 序列。我们从按深度比例均匀间隔的编译器层(每个解释器层对应一个)中提取前缀位置的隐藏状态,并将它们堆叠成张量,输入给 LoRA 映射器(图 2)。
LoRA 映射器。
LoRA 编译器的隐藏状态通过一个参数高效的小模块(即 LoRA 映射器)转换为每个示例的 LoRA 权重。对于每种解释器目标模块类型(注意力模块和 MLP 模块),映射器维护着共享的可学习基。
这些隐藏状态在深度对齐的层和前缀位置上进行平均池化,然后通过一个浅层 MLP 主干,再经由单个线性头投影为每层、每模块类型和每个基索引的混合系数。第 层、模块 处的 LoRA 为:
| (3) |
我们对每种模块类型使用秩和共享基,并应用于所有层和模块类型。对于每个模糊函数,这大约向解释器注入了3850万个LoRA参数。我们在第7节中将该设计与几种更具表达力的替代方案(逐位置聚合、逐层基、逐位置与逐层基结合、LoRA与前缀微调结合)进行了比较;没有一种方案优于简单的共享基设计。
解释器。
解释器是一个冻结的语言模型。为了在输入上执行PAW程序,我们(i)将公式3中的LoRA附加到相应的目标模块上,(ii)将前缀拼接到输入前,以及(iii)自回归地生成输出。由于解释器是冻结的且LoRA可热插拔,单个驻留在设备上的解释器可以为无限多的PAW程序提供服务;图19以三个示例规范展示了这种“一个运行时,多个程序”的图景。
3.3 前缀微调:一种前身实例化
前缀编译器。
我们的前身系统用前缀微调映射器取代了 LoRA 映射器。前缀编译器是一个第二个 4B 规模的 Qwen3 模型,其训练方式与 相同,唯一的区别在于其前缀位置隐藏状态的消耗方式。给定 后,该模型在与第 3.2 节相同的深度对齐层生成隐藏状态。与池化并投影为 LoRA 权重不同,一个小的线性映射器将这些隐藏状态按位置投影为 KV 对,这些 KV 对以标准前缀微调的方式(Li 和 Liang,2021)被前置到解释器每一层的注意力 KV 缓存中(架构图见附录图 18)。然后,解释器在其冻结的注意力机制上运行,每个查询都能看到额外的前缀位置键和值。
两种方法都解决了任务。
在受控的比较规模下(相同的训练计算量),前缀微调实例在 FuzzyBench 上达到了 50.4% 的精确匹配率,而 LoRA 实例在 时( 与前缀微调的程序大小匹配)达到了 56.5%,在 时达到了 65.7%(表 1)。两者都优于无编译器的提示词基线(9.8%)。LoRA 是更强的 PEFT,也是我们在后续实验中扩展到完整训练数据的实例。
| 方法 | 准确率 |
|---|---|
| 提示词 | 0.098 |
| 前缀微调 | 0.504 |
| 文本到 LoRA, | 0.565 |
| 文本到 LoRA,(默认) | 0.657 |
4 训练
只有 PEFT 编译器被训练。伪编译器保持现成可用并冻结;解释器也被冻结。PEFT 编译器经过训练,能够生成一个 PEFT 适配器,当该适配器与固定的伪程序一起注入到冻结的解释器中时,能最大化目标输出的可能性。在两个端点都冻结的情况下,这简化为一个单一的监督目标。我们下面重点讨论 LoRA 实例;前缀微调前身(第 3.3 节)使用下面描述的相同 SFT 配方进行训练,只是将前缀微调映射器替换为 LoRA 映射器。
目标。
对于每个训练三元组,我们查找一个预先生成的伪程序,在模型上执行一次前向传播以获取前缀位置隐藏状态,将这些状态通过 LoRA 映射器得到结果,并将该结果注入解释器。损失函数是冻结解释器下目标序列的负平均 token 对数似然:
| (4) |
其中 是模型和 LoRA 映射器的参数, 是解释器参数。梯度通过冻结的解释器反向传播到 LoRA 映射器,再从那里传播到模型的隐藏状态。完整的超参数和计算配置见附录 G。
5 FuzzyBench:一个包含 1000 万示例的模糊函数数据集
训练 PAW 风格方法的一个核心障碍是缺乏用于“根据规范编译模糊函数”的公开数据集。我们构建了 FuzzyBench,这是一个包含 1000 万示例的数据集,其中每个示例都是一个(规范、输入、目标输出)三元组,使用 gpt-5.2 生成。
构建过程。
我们采用两阶段流水线。在第一阶段,我们提示 gpt-5.2 生成模糊函数的自然语言规范。每次提示调用生成八个规范,我们在不同类别约束下重复调用,以覆盖开发者实际遇到的模糊任务的广度。在第二阶段,对于每个规范,我们再次提示 gpt-5.2 生成八个输入/输出对。规范按 80/10/10 的比例划分为训练集/验证集/测试集,因此测试集中的规范在训练时完全不可见。为了评估,我们构建了一个经过验证的测试集,在该测试集中,一个独立的强模型(gpt-5-mini)和 gpt-5.2 对输出达成一致,从而去除了目标本身存在歧义的示例。完整提示词见附录 B。
主题覆盖范围。
FuzzyBench 是通过 29 个版本增量构建的,每个版本新增 10 万到 50 万个示例,覆盖一系列新的模糊任务类别。图 3 将最终生成的 1000 万个示例归纳为七个高层级任务族,涵盖了开发者在模糊逻辑中实际遇到的各种场景:从原始文本处理和解析,到智能体工具使用、网络智能、代码与命令生成,以及安全性与验证。完整的按版本时间线(共 29 个条目;仅第一个版本就建立了 277 个基础类别,最终数据集涵盖超过 800 个子类别)见附录 F。
噪声变体。
为了进行鲁棒性评估,我们还额外发布了测试集的噪声扰动版本,涵盖八个维度:拼写错误、语法错误、歧义、格式漂移、“全噪声”(组合)、简洁措辞、随意措辞和释义。每个维度分为三个强度级别(轻度、中度、重度)。第 8 节报告了鲁棒性数据。
经验上限。
数据生成模型本身,即 gpt-5.2,达到了 96.09% 的准确率;gpt-5-mini 达到了 91.87%。这些数值界定了任何在此数据上训练的编译函数所能达到的性能上限。
6 主要结果
我们将 PAW 与三个基线系列进行比较,所有基线均在相同的测试集上进行评估,以便计算或数据生成方面的差异在比较中被吸收。
基线。
(i) 对开放权重语言模型(Qwen3 0.6B、4B、8B、14B、32B;OLMo3-7B;gpt-oss-20B)以及两个界定经验上限的 API 模型(gpt-5-mini 和 gpt-5.2)进行直接提示。(ii) 符号化代码生成:ALCHEmist 的语言模型到代码流水线(Huang 等人,2024b),其中强大的语言模型编写 Python 代码来解决模糊任务,并在推理时执行该代码。(iii) 对相同 0.6B 基础模型的标准化适配:进行 1-4 个 epoch 的全量微调,以及使用固定(非编译器生成的)LoRA 秩。
主要结果。
表2总结了主要数据。一个执行PAW程序的0.6B参数解释器在FuzzyBench上达到了73.78%的精确匹配率,优于使用提示词的Qwen3-32B(68.70%),同时使用的推理内存更少(bf16下1.2 GB对比60 GB)。
| 自包含 | 解释器大小 | FuzzyBench | YouTube | SMS | Yelp | IMDB | ||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 方法 | 准确率 | PS | 准确率 | PS | F1 | PS | 准确率 | PS | 准确率 | PS | ||
| gpt-5.2(API) | – | 96.09% | 0.73 KB | 95.20% | 0.95 KB | 97.06% | 1.03 KB | 98.55% | 1.69 KB | 95.60% | 2.25 KB | |
| gpt-5-mini(API) | – | 91.87% | 0.73 KB | 93.60% | 0.95 KB | 91.03% | 1.03 KB | 98.13% | 1.69 KB | 94.96% | 2.25 KB | |
| 本地大语言模型(Qwen3 0.6B) | 0.6B | 9.84% | 0.73 KB | 52.80% | 0.95 KB | 0.00%∗ | 1.03 KB | 89.55% | 1.69 KB | 66.88% | 2.25 KB | |
| 本地大语言模型(Qwen3 4B) | 4B | 49.63% | 0.73 KB | 90.80% | 0.95 KB | 92.54% | 1.03 KB | 97.53% | 1.69 KB | 93.76% | 2.25 KB | |
| 本地大语言模型(Qwen3 8B) | 8B | 52.15% | 0.73 KB | 94.40% | 0.95 KB | 91.55% | 1.03 KB | 97.95% | 1.69 KB | 94.52% | 2.25 KB | |
| 本地大语言模型(Qwen3 14B) | 14B | 63.96% | 0.73 KB | 93.20% | 0.95 KB | 92.75% | 1.03 KB | 97.74% | 1.69 KB | 92.64% | 2.25 KB | |
| 本地大语言模型(Qwen3 32B) | 32B | 68.70% | 0.73 KB | 93.60% | 0.95 KB | 89.04% | 1.03 KB | 98.11% | 1.69 KB | 94.64% | 2.25 KB | |
| 本地大语言模型(OLMo3 7B) | 7B | 39.84% | 0.73 KB | 90.00% | 0.95 KB | 90.14% | 1.03 KB | 97.66% | 1.69 KB | 93.28% | 2.25 KB | |
| 本地大语言模型(gpt-oss-20B) | 20B | 85.45% | 0.73 KB | 91.60% | 0.95 KB | 89.05% | 1.03 KB | 97.42% | 1.69 KB | 92.08% | 2.25 KB | |
| LMCode(Huang等人,2024b) | 29 MB | – | – | 89.10%† | – | 90.00%† | – | 57.50%† | – | 66.20%† | – | |
| LMCode(重新实现) | 29 MB | 35.81% | 0.08 KB | 70.46% | 0.09 KB | 86.41% | 0.06 KB | 50.35% | 0.05 KB | 73.92% | 0.08 KB | |
| PAW(Qwen3 0.6B) | 0.6B | 73.78% | 23 MB | 90.40% | 23 MB | 80.77% | 23 MB | 95.82% | 23 MB | 90.64% | 23 MB | |
| PAW(Qwen3.5 0.8B) | 0.8B | 67.29% | 16 MB | 88.40% | 16 MB | 84.55% | 16 MB | 94.05% | 16 MB | 82.68% | 16 MB | |
| PAW(GPT-2 124M) | 124M | 54.39% | 38 MB | 93.60% | 38 MB | 77.50% | 38 MB | 93.16% | 38 MB | 82.12% | 38 MB | |
跨解释器缩放。
在三个解释器——GPT-2 124M、Qwen3 0.6B 和 Qwen3.5 0.8B 中,Qwen3 0.6B 是最强的解释器;混合型 0.8B 稍弱。GPT-2 124M 尽管参数量仅为 Qwen3 0.6B 的五分之一,且未经过指令微调,仍能达到 54% 的性能,这表明编译器生成的 LoRA 即使对于非常小、能力较弱的基座模型,也能编码出可用的任务适配。
在不更换解释器的情况下实现多模态泛化。
编译器-解释器抽象可扩展到图像条件模糊函数,且无需更换解释器。我们将纯文本的 Qwen3-4B-Instruct 编译器替换为同系列的 Qwen3-VL-4B 编译器(Bai 等人,2025),保留相同的 Qwen3 0.6B 解释器,并复用相同的 LoRA 映射器。图像条件完全编码在 VL 编译器发出的 PEFT 模块中,因此小型文本解释器从未接触过像素。表 3 报告了六项图像条件任务:三项 CoSyn-400K 图表理解任务(化学、电路、音乐)(Yang 等人,2025;Deitke 等人,2024)、结构化输出任务 Im2LaTeX-100K(Deng 等人,2017)和 Im2SMILES-20K(Deng 等人,2023),以及开放式视觉问答 TextVQA(Singh 等人,2019);完整提示词见附录 D。
PAW(LoRA)在三个 CoSyn 图表任务上(电路 0.274 vs. 最佳基线 0.196;化学 0.414 vs. 0.258;音乐 0.552 vs. 0.470)以 0.6B 的解释器规模超越了所有 VLM 基线(最高 4B 参数)。在长文本结构化生成任务 Im2LaTeX 上,PAW(LoRA)弱于其前缀微调前身(0.181 vs. 0.391);附录 D.1 中仅使用离散伪程序的消融实验表明,该差距是由于长输入/输出示例中的伪程序在长文本任务中挤占了小型解释器的上下文预算。
| 方法 | 解释器规模 | 电路 | 化学 | 音乐 | Im2SMILES | Im2LaTeX | TextVQA |
|---|---|---|---|---|---|---|---|
| AndesVL 0.6B(AndesVL 团队,OPPO AI 中心,2025) | 0.6B | 0.183 | 0.214 | 0.448 | 0.000 | 0.435 | 0.718 |
| Qwen3-VL 2B-Instruct(Bai 等人,2025) | 2B | 0.186 | 0.258 | 0.470 | 0.016 | 0.408 | 0.836 |
| Qwen3-VL 4B-Instruct(Bai 等人,2025) | 4B | 0.196 | 0.221 | 0.450 | 0.044 | 0.399 | 0.822 |
| PAW 前缀微调(Qwen3 0.6B) | 0.6B | 0.241 | 0.365 | 0.525 | 0.175 | 0.391 | 0.612 |
| PAW LoRA(Qwen3 0.6B) | 0.6B | 0.274 | 0.414 | 0.552 | 0.203 | 0.181 | 0.721 |
| PAW LoRA(Qwen3.5 0.8B) | 0.8B | 0.284 | 0.438 | 0.573 | 0.285 | 0.204 | 0.755 |
7 消融实验
LoRA 映射器的架构变体。
我们尝试了 LoRA 映射器的几种变体,这些变体在理论上比默认版本(对前缀 token 进行均值池化、浅层主干、共享基集)表达能力更强。但每一种都表现更差。表 5 报告了这些变体的准确率。最简单的设计——将前缀 token 的隐藏状态通过均值池化聚合为一个向量,运行一个残差 MLP,然后投影到共享基集上的混合系数——是最强的。我们对此没有清晰的理论解释;我们报告这一发现,以便未来的工作不必重新发现它。
| 映射器变体 | 准确率 |
|---|---|
| 默认(均值池化、浅层主干、共享基集) | 0.6223 |
| 逐位置聚合 | 0.5598 |
| 逐位置逐层基集 | 0.5559 |
| 仅逐层基集 | 0.6028 |
| LoRA 前缀微调(两条通路) | 0.6033 |
| 方法(0.6B 基础模型) | 准确率 |
|---|---|
| 固定 LoRA | 0.4236 |
| 固定 LoRA | 0.5210 |
| 固定 LoRA | 0.5159 |
| 全量微调 | 0.5840 |
| PAW(Qwen3 0.6B) | 0.7378 |
编译器 vs. 无编译器。
表 5 在 FuzzyBench 上将 PAW 与三个基于相同基础模型的“无编译器”基线进行了比较:对 0.6B Qwen3 解释器进行全量微调,以及三个不同秩的每任务固定 LoRA。使用相同的数据、相同的基础模型、相同的训练预算;唯一区别是移除了编译器。PAW 比全量微调高出 15.4 个百分点,比最强的固定 LoRA 高出 21.7 个百分点,这表明性能提升完全来自编译器生成的 LoRA。
其他消融实验。
关于模型架构决策的其他消融实验可在附录 H 中找到。
8 对含噪声规范的鲁棒性
开发人员编写的真实规格说明存在噪声:其中包含拼写错误、歧义和语法错误。我们在 test_clean 规格说明的噪声扰动版本上,从七个维度(拼写错误、语法、歧义、格式、全噪声组合、精简、释义)对 PAW 进行了评估。
表 6 报告了鲁棒性结果。PAW 即使在严重噪声下也仅略有下降——但这是为什么呢?我们假设,这种鲁棒性是通过离散伪程序实现的:4B 编译器在小型解释器看到噪声规格说明之前,会将其转换为干净的重新表述。为了验证这一假设,我们训练了一个变体,它绕过伪程序,直接将原始规格说明输入解释器。结果(表 7)证实了该假设。在干净输入上,向解释器输入伪程序而非原始规格说明仅高出 1.6 个点。然而,在严重拼写错误的规格说明上,差距扩大到了 4.5 个点。编译器是一个 4B 语言模型,其全部工作就是读取模糊的规格说明并输出干净的重新表述,它有效地对小型解释器看到的输入进行了去噪,这就是为什么当原始规格说明被破坏时,PAW 性能下降甚微的原因。
| 干净 | 拼写错误 | 语法 | 歧义 | 格式 | 全噪声 | 精简 | 释义 | |
|---|---|---|---|---|---|---|---|---|
| PAW Qwen3 0.6B (e2) | 0.6692 | 0.6621 | 0.6731 | 0.6511 | 0.6526 | 0.6326 | 0.6499 | 0.6614 |
| 与干净版本相比的下降 | – |
| 解释器输入 | 准确率(干净) | 准确率(严重拼写错误) |
|---|---|---|
| 伪程序(默认) | 0.6443 | 0.6108 |
| 原始规格说明 | 0.6285 | 0.5662 |
9 本地执行
除了基准测试之外,为了使 PAW 实用,我们构建了一个开发者界面。
开发者界面。
PAW 程序是一个单一文件,可通过小型 Python 或 JavaScript API 下载、缓存和调用。图 4 展示了一个完整的极简 Python 示例:`paw.compile(prompt)` 将一份规范发送给编译器服务,并返回一个可序列化的程序对象;`paw.function(id_or_path)` 加载一个已编译的程序,并将其暴露为 Python 可调用对象。首次下载后,所有执行均在本地完成,无需外部 API 调用。
⬇
import program as weights as paw
spec = """Classify if this email
requires immediate attention.
""".strip()
program = paw.compile(spec, \
slug="email-triage")
⬇
import program as weights as paw
fn = paw.function("email-triage")
print(fn("Thesis defense moved"
"to 3pm; need your"
"signature today."))
量化且无显著精度损失。
设备端执行需要较小的资源占用。我们将共享的解释器基础模型和每个程序的 LoRA 适配器均量化为与 llama.cpp(Gerganov 和 llama.cpp 贡献者,2023)兼容的 GGUF 格式。表 8 报告了我们在 0.6B Qwen3 解释器上的量化结果,并在 4096 个样本的测试子集上进行了验证:4 位基础模型(484 MB)加上 LoRA 适配器(每个程序 23 MB)相比 bf16 仅损失 1.3 个点,且基础模型加适配器与 bf16 在统计上无显著差异。
| 配置 | 基础模型大小 | 适配器大小 | 准确率 |
|---|---|---|---|
| PyTorch bf16(未量化) | 1515 MB | – | 0.6580 |
| fp16 基础模型 + fp32 LoRA | 1509 MB | 162 MB | 0.6594 |
| 基础模型 + LoRA | 805 MB | 23 MB | 0.6567 |
| 基础模型 + LoRA | 623 MB | 23 MB | 0.6575 |
| 基础模型 + LoRA | 551 MB | 23 MB | 0.6477 |
| 基础模型 + LoRA | 484 MB | 23 MB | 0.6453 |
| IQ4_XS 基础模型 + LoRA | 430 MB | 23 MB | 0.6462 |
MacBook M3 上的延迟。
在配备 Metal 加速的 MacBook M3 上,基础模型加适配器以 31.6 tokens/s 的速度运行,冷启动加载时间为 0.48 秒。GPT-2 124M 和 Qwen3.5 0.8B 的完整逐量化表格见附录 K。
案例研究。
我们将 PAW 应用于五个用例。事件驱动的日志监控取代了 Cursor 中基于等待的朴素终端监视,转而使用一个本地分类器,仅在有问题的行出现时触发。基于意图的网站导航为网站提供了一种自然语言的快速查找功能,且无需每次请求都调用大语言模型 API。语义搜索重排序为现有的关键词索引增加了意图感知的模糊搜索,同样无需在请求路径中引入大语言模型。在工具调用方面,一个包含 10 个 PAW 函数的流水线在 ToolCall-15 上取得了 93% 的分数,捕获了通常需要更大模型才能实现的工具路由行为。多语言猜词游戏(Alien-Taboo)是一个模糊交互式游戏,每位玩家的回合由一台小型服务器上的 0.6B PAW 解释器处理,每种语言对应一个 PAW 程序;大语言模型仅在编译时被调用,这使得此类游戏的托管变得经济实惠。完整细节见附录 M。
10 相关工作
超网络。
超网络(Ha 等人,2017)通过一个小型嵌入向量生成目标网络的权重,最初用于视觉和语言建模;后续工作将其用于持续学习(von Oswald 等人,2020)、通过跨任务和跨层的共享超网络实现多任务 NLP(Karimi Mahabadi 等人,2021b),以及作为参数高效的适配器本身(Karimi Mahabadi 等人,2021a)。与 PAW 相关的文本条件子系列通过单次前向传播将自然语言任务描述映射为 PEFT 参数:Hypter(Ye 和 Ren,2021)根据描述生成 BART-Large 适配器;HINT(Ivison 等人,2023)根据指令生成前缀和适配器模块,以分摊每次查询的编码成本;HyperTuning(Phang 等人,2023)引入了一个基于 T5 的超模型,能够从少样本示例中生成软前缀或 LoRA 参数;Text-to-LoRA(Charakorn 等人,2025)将文本任务描述映射为从预训练适配器中蒸馏得到的 LoRA;Generative Adapter(Chen 等人,2025)通过对上下文进行单次前向传播生成任务特定的适配器;HyperSteer(Sun 等人,2025)将该思路扩展到激活引导;Gist(Mu 等人,2023)通过注意力掩码训练将提示词压缩为少量前缀 token;MEND(Li 等人,2024)通过两阶段元蒸馏将示例蒸馏为向量。与 PAW 最接近的最新工作通过单次前向传播将自然语言上下文映射为 LoRA:SHINE(Liu 等人,2026)作为一种可扩展的上下文超网络;HypeLoRA(Trojan 和 Gębala,2026)用于通过跨层结构耦合实现校准的 PEFT 生成;Doc-to-LoRA(Charakorn 等人,2026)通过元学习将文档内化为 LoRA 适配器,基础模型无需重新消耗上下文即可查询该适配器;以及 Latent Context Compilation(Li 等人,2026),该工作明确将 LoRA 模块视为一种编译器,将长上下文蒸馏为紧凑的可移植缓冲 token。LoRA 组合方法(如 LoraHub,Huang 等人,2024a)在任务间共享基集,这与我们的共享基 LoRA 映射器类似。与这些方法相比,PAW (a) 生成的是混合型(离散伪程序与连续 PEFT 相结合)程序,而非仅连续的适配器;(b) 在程序员风格的模糊函数规范(FuzzyBench-10M 的 800 多个任务族)上进行训练,而非在问答上下文或蒸馏后的单任务适配器上训练;(c) 面向开发者 API,其中编译后的程序是一个带版本号、可分发的软件制品。
参数高效微调。
我们的编译器所生成的 PEFT 构建模块已得到充分研究。适配器(Houlsby 等人,2019;Pfeiffer 等人,2021)在冻结的主干网络中插入小型可训练瓶颈;前缀微调(Li 和 Liang,2021)在注意力机制前添加学习得到的键值对;提示词微调(Lester 等人,2021;Liu 等人,2022b)学习软输入嵌入向量;LoRA(Hu 等人,2022)学习对注意力层和 MLP 层的线性投影进行低秩分解更新;AdaLoRA(Zhang 等人,2023)跨层动态分配秩预算;DoRA(Liu 等人,2024)将预训练权重分解为幅度和方向,并仅对方向分量应用 LoRA,从而缩小了与全量微调的差距;QLoRA(Dettmers 等人,2023)将量化与 LoRA 相结合,实现内存高效的微调。PAW 的不同之处在于,其 PEFT 模块是由一个独立的编译器根据文本描述逐样本生成的,而非通过目标任务的梯度下降逐任务学习得到。T-Few(Liu 等人,2022a)认为,PEFT 能够以更低的部署成本超越上下文学习——这是一种相关的框架,区别在于 T-Few 逐任务学习其 PEFT 参数,而我们则根据描述生成这些参数。
合成指令数据生成。
FuzzyBench-10M 由一个大语言模型(gpt-5.2)生成,并遵循了 LLM 生成指令数据集的方法论先例。Self-Instruct(Wang 等人,2023)提示一个强大的 LLM 生成多样化的指令-输入-输出三元组,然后用这些三元组来微调一个较小的模型。Unnatural Instructions(Honovich 等人,2023)同样自动生成指令。Textbooks Are All You Need(Gunasekar 等人,2023)主张为小模型预训练使用合成教科书风格的训练数据。Magpie(Xu 等人,2025)从一个已对齐的 LLM 中自我合成了 400 万个对齐实例,且无需种子提示词。FuzzyBench-10M 的不同之处在于,其数据生成流程是针对特定任务类别的(涵盖开发者实际遇到的 29 个主题版本,而非开放式提示词),并且我们明确构建了一个经过验证的测试集划分(第 5 节),在该划分中,两个强大的 LLM 必须就输出达成一致,以过滤掉模糊的目标。近期的小模型技术报告(Abdin 等人,2024;Gemma Team,2025)同样强调,高质量合成数据是在小规模下缩小与前沿模型能力差距的主要手段。
模型知识蒸馏。
ALCHEmist(Huang 等人,2024b)将 LLM 的标注逻辑蒸馏为可在标准解释器上运行的 Python 程序。PAW 与减少 LLM 使用的动机相同,但它是直接编译为神经权重而非文本代码,这使得它能够实现难以用符号编码表达的模糊函数。Binder(Cheng 等人,2023)将任务输入转换为嵌入了 LM API 调用的 SQL/Python 程序;PAW 的不同之处在于,其程序本身就是权重,而非包含 API 调用的文本片段。Distilling Step-by-Step(Hsieh 等人,2023)将 LLM 的推理过程蒸馏到较小的微调模型中,并将推理链作为辅助监督信号;PAW 的目标同样是用小模型推理替代大模型推理,但它是通过按任务编译而非按任务微调来实现的。
神经程序。
在神经网络中表示程序是一个长期的研究方向(Graves 等人,2014;Reed 和 de Freitas,2016),部分工作将形式化代码编译为网络权重(Weiss 等人,2021;Gruau 等人,1995)。PAW 的不同之处在于其训练和使用模式:程序并非针对每个任务学习,而是由单个编译器按需生成,然后在固定解释器上执行,并可自由共享。近期趋势主张用小型本地执行模型替代 API 大语言模型(Belcak 等人,2025;Abdin 等人,2024;Gemma Team,2025);PAW 是这一理念的一种实现。PAW 与“直接使用小型大语言模型”的关键区别在于,小型模型的行为是由编译器针对每个模糊函数配置的,而非固化在微调中。小型模型在设备端的实际部署得益于训练后量化(GPTQ(Frantar 等人,2023)、AWQ(Lin 等人,2024)、QLoRA 的量化感知微调(Dettmers 等人,2023))以及轻量级推理运行时(llama.cpp(Gerganov 和 llama.cpp 贡献者,2023),通过 wllama 在浏览器中运行(wllama 贡献者,2024));我们直接使用了这些技术。近期大多数小型语言模型技术报告(Abdin 等人,2024;Gemma Team,2025)也采用 LoRA 风格的高效参数微调(PEFT)用于多模态扩展和下游适配,这与 PAW 所追求的开发者 API 方向形成互补。
11 结论
我们提出了“程序即权重”(Program-as-Weights)这一编程范式,其中模糊函数被一次性编译为小型神经网络二进制文件,并在固定解释器上本地执行。在 FuzzyBench 上,一个执行 PAW 程序的 0.6B 参数解释器在推理内存减少 50 倍的情况下达到了 Qwen3-32B 提示词调用的性能,并在搭载量化 GGUF 的 MacBook M3 上以 30 tok/s 的速度运行;我们通过五个案例研究展示了这一范式。同样的抽象可扩展到图像条件模糊任务,只需将编译器替换为视觉语言模型。我们希望“程序即权重”能够助力实现这样一个未来:小型语言模型作为运行时(Belcak 等人,2025),大型模型负责编译,小型模型负责执行,而基础模型的作用从逐个输入的问题解决者转变为按需构建函数的工具制造者。
致谢
我们感谢 Sasha Rush 在本工作奠基的早期项目中给予的指导和贡献。我们也感谢 Saarang Agarwal、Austin Dong、Mohammad Jaffer Iqbal、Bihui Jin、Yinxi Li、Jiale Amber Wang 以及匿名审稿人提出的宝贵意见和反馈。
本研究得到了滑铁卢大学启动基金以及加拿大自然科学与工程研究理事会(NSERC)资助号 RGPIN-2024-04909 和 RGPIN-2024-05178 的支持。计算资源由 Compute Ontario(computeontario.ca)和加拿大数字研究联盟(alliancecan.ca)提供。我们还感谢 OpenAI 研究访问计划提供的 API 额度。Wentao Zhang 部分得到了上述资助以及由 Mary Chen 女士慷慨资助的 Dr. Derick Wood 研究生奖学金的支持。
参考文献
- M. Abdin, J. Aneja, H. Behl, S. Bubeck, R. Eldan, S. Gunasekar, M. Harrison, R. J. Hewett, M. Javaheripi, P. Kauffmann, J. R. Lee, Y. T. Lee, Y. Li, W. Liu, C. C. T. Mendes, A. Nguyen, E. Price, G. de Rosa, O. Saarikivi, A. Salim, S. Shah, X. Wang, R. Ward, Y. Wu, D. Yu, C. Zhang, and Y. Zhang (2024) Phi-4 technical report. External Links: 2412.08905, Link 被引用:§10, §10.
- AndesVL Team, OPPO AI Center (2025) AndesVL technical report: an efficient mobile-side multimodal large language model. External Links: 2510.11496, Link 被引用:Table 3.
- S. Bai, Y. Cai, R. Chen, K. Chen, X. Chen, Z. Cheng, L. Deng, W. Ding, C. Gao, C. Ge, W. Ge, Z. Guo, Q. Huang, J. Huang, F. Huang, B. Hui, S. Jiang, Z. Li, M. Li, M. Li, K. Li, Z. Lin, J. Lin, X. Liu, J. Liu, C. Liu, Y. Liu, D. Liu, S. Liu, D. Lu, R. Luo, C. Lv, R. Men, L. Meng, X. Ren, X. Ren, S. Song, Y. Sun, J. Tang, J. Tu, J. Wan, P. Wang, P. Wang, Q. Wang, Y. Wang, T. Xie, Y. Xu, H. Xu, J. Xu, Z. Yang, M. Yang, J. Yang, A. Yang, B. Yu, F. Zhang, H. Zhang, X. Zhang, B. Zheng, H. Zhong, J. Zhou, F. Zhou, J. Zhou, Y. Zhu, and K. Zhu (2025) Qwen3-vl technical report. External Links: 2511.21631, Link 被引用:§6, Table 3, Table 3.
- P. Belcak、G. Heinrich、S. Diao、Y. Fu、X. Dong、S. Muralidharan、Y. C. Lin 和 P. Molchanov(2025)《小语言模型是智能体 AI 的未来》。外部链接:2506.02153,链接,被引用自:§1、§10、§11。
- R. Charakorn、E. Cetin、Y. Tang 和 R. T. Lange(2025)《文本到 LoRA:即时 Transformer 适配》。载于《第四十二届国际机器学习大会》,外部链接:链接,被引用自:附录 N、§10。
- R. Charakorn、E. Cetin、S. Uesaka 和 R. T. Lange(2026)《文档到 LoRA:学习即时内化上下文》。外部链接:2602.15902,链接,被引用自:§10。
- T. Chen、H. Fang、P. Xia、X. Liu、B. V. Durme、L. Zettlemoyer、J. Gao 和 H. Cheng(2025)《生成式适配器:通过单次前向传播在参数中上下文化语言模型》。载于《第十三届国际学习表征大会》,外部链接:链接,被引用自:附录 N、§10。
- Z. Cheng、T. Xie、P. Shi、C. Li、R. Nadkarni、Y. Hu、C. Xiong、D. Radev、M. Ostendorf、L. Zettlemoyer、N. A. Smith 和 T. Yu(2023)《在符号语言中绑定语言模型》。载于《第十一届国际学习表征大会(ICLR)》,外部链接:链接,被引用自:§10。
- M. Deitke、C. Clark、S. Lee、R. Tripathi、Y. Yang、J. S. Park、M. Salehi、N. Muennighoff、K. Lo、L. Soldaini 等人(2024)《Molmo 和 PixMo:面向最先进视觉语言模型的开源权重与开源数据》。arXiv 预印本 arXiv:2409.17146。被引用自:§6。
- Y. Deng、A. Kanervisto、J. Ling 和 A. M. Rush(2017)《基于由粗到细注意力的图像到标记生成》。载于《第 34 届国际机器学习大会论文集》,D. Precup 和 Y. W. Teh 编,《机器学习研究论文集》第 70 卷,第 980–989 页。外部链接:链接,被引用自:§6。
- Y. Deng、N. Kojima 和 A. M. Rush(2023)《基于调度采样的标记到图像扩散模型》。载于《第十一届国际学习表征大会》,外部链接:链接,被引用自:§6。
- T. Dettmers、A. Pagnoni、A. Holtzman 和 L. Zettlemoyer(2023)《QLoRA:量化大语言模型的高效微调》。载于《神经信息处理系统进展》,外部链接:链接,被引用自:§10、§10。
- E. Frantar、S. Ashkboos、T. Hoefler 和 D. Alistarh(2023)《GPTQ:面向生成式预训练 Transformer 的精确训练后量化》。载于第十一届国际学习表征会议(ICLR),外部链接:链接,被 §10 引用。
- Gemma 团队(2025)《Gemma 3 技术报告》。外部链接:2503.19786,链接,被 §10、§10 引用。
- G. Gerganov 与 llama.cpp 贡献者(2023)《llama.cpp:用 C/C++ 实现大语言模型推理》。外部链接:链接,被 §10、§9 引用。
- A. Graves、G. Wayne 和 I. Danihelka(2014)《神经图灵机》。外部链接:1410.5401,链接,被 §10 引用。
- F. Gruau、J. Ratajszczak 和 G. Wiber(1995)《神经编译器》。载于《理论计算机科学》第 141 卷第 1 期,第 1–52 页。ISSN 0304-3975,文献标识码:链接,被 §10 引用。
- S. Gunasekar、Y. Zhang、J. Aneja、C. C. T. Mendes、A. Del Giorno、S. Gopi、M. Javaheripi、P. Kauffmann、G. de Rosa、O. Saarikivi、A. Salim、S. Shah、H. S. Behl、X. Wang、S. Bubeck、R. Eldan、A. T. Kalai、Y. T. Lee 和 Y. Li(2023)《教科书就是一切》。外部链接:2306.11644,链接,被 §10 引用。
- D. Ha、A. M. Dai 和 Q. V. Le(2017)《超网络》。载于第五届国际学习表征会议(ICLR),外部链接:链接,被 §10 引用。
- O. Honovich、T. Scialom、O. Levy 和 T. Schick(2023)《非自然指令:用(几乎)零人工调教语言模型》。载于第 61 届计算语言学协会年会(ACL)论文集,外部链接:链接,被 §10 引用。
- N. Houlsby、A. Giurgiu、S. Jastrzebski、B. Morrone、Q. de Laroussilhe、A. Gesmundo、M. Attariyan 和 S. Gelly(2019)《面向 NLP 的参数高效迁移学习》。载于第 36 届国际机器学习大会(ICML)论文集,外部链接:链接,被 §10 引用。
- C. Hsieh、C. Li、C. Yeh、H. Nakhost、Y. Fujii、A. Ratner、R. Krishna、C. Lee 和 T. Pfister(2023)《逐步蒸馏!用更少的训练数据和更小的模型规模超越更大的语言模型》。载于计算语言学协会(ACL)2023 年发现集,外部链接:链接,被 §10 引用。
- E. J. Hu、yelong shen、P. Wallis、Z. Allen-Zhu、Y. Li、S. Wang、L. Wang 和 W. Chen(2022)《LoRA:大语言模型的低秩适配》。发表于国际学习表征会议,外部链接:链接,被 §10 引用。
- C. Huang、Q. Liu、B. Y. Lin、T. Pang、C. Du 和 M. Lin(2024a)《LoraHub:通过动态 LoRA 组合实现高效的跨任务泛化》。发表于第一届语言建模会议(COLM)论文集,外部链接:链接,被 §10 引用。
- T. Huang、C. Cao、V. Bhargava 和 F. Sala(2024b)《炼金术士:比 LLM 数据标注员便宜 500 倍的自动化标注》。发表于神经信息处理系统进展,A. Globerson、L. Mackey、D. Belgrave、A. Fan、U. Paquet、J. Tomczak 和 C. Zhang 编,第 37 卷,第 62648–62672 页。外部链接:文档、链接,被 §10、§6、表 2、表 2、表 2 引用。
- H. Ivison、A. Bhagia、Y. Wang、H. Hajishirzi 和 M. Peters(2023)《HINT:面向高效零样本和少样本泛化的超网络指令微调》。发表于第 61 届计算语言学协会年会论文集(第 1 卷:长文),加拿大多伦多,第 11272–11288 页。外部链接:链接、文档,被 §10 引用。
- R. Karimi Mahabadi、J. Henderson 和 S. Ruder(2021a)《Compacter:高效的低秩超复数适配器层》。发表于神经信息处理系统进展,外部链接:链接,被 §10 引用。
- R. Karimi Mahabadi、S. Ruder、M. Dehghani 和 J. Henderson(2021b)《通过共享超网络实现 Transformer 的参数高效多任务微调》。发表于第 59 届计算语言学协会年会暨第 11 届自然语言处理国际联合会议论文集(第 1 卷:长文),C. Zong、F. Xia、W. Li 和 R. Navigli 编,在线会议,第 565–576 页。外部链接:链接、文档,被 §10 引用。
- H. Kim、M. Sclar、X. Zhou、R. Bras、G. Kim、Y. Choi 和 M. Sap(2023)《FANToM:用于在交互中压力测试机器心智理论的基准》。载于《2023年自然语言处理经验方法会议论文集》,H. Bouamor、J. Pino 和 K. Bali 编,新加坡,第14397–14413页。外部链接:链接,文献编号。被 §1 引用。
- B. Lester、R. Al-Rfou 和 N. Constant(2021)《规模对参数高效提示词调优的作用》。载于《2021年自然语言处理经验方法会议(EMNLP)》,外部链接:链接。被 §10 引用。
- X. L. Li 和 P. Liang(2021)《前缀调优:为生成任务优化连续提示词》。载于《第59届计算语言学协会年会暨第11届自然语言处理国际联合会议(第1卷:长文)》,C. Zong、F. Xia、W. Li 和 R. Navigli 编,在线会议,第4582–4597页。外部链接:链接,文献编号。被图18、图18、§10、§3.3 引用。
- Y. Li、X. Ma、S. Lu、K. Lee、X. Liu 和 C. Guo(2024)《MEND:用于高效且有效的上下文学习的元演示知识蒸馏》。载于《第十二届国际学习表征会议(ICLR)》,外部链接:链接。被 §10 引用。
- Z. Li、Y. Zhou 和 Q. Xu(2026)《潜在上下文编译:将长上下文蒸馏为紧凑的可移植记忆》。外部链接:2602.21221,链接。被 §10 引用。
- J. Lin、J. Tang、H. Tang、S. Yang、W. Chen、W. Wang、G. Xiao、X. Dang、C. Gan 和 S. Han(2024)《AWQ:用于大语言模型压缩与加速的激活感知权重量化》。载于《机器学习系统会议论文集(MLSys)》,外部链接:链接。被 §10 引用。
- H. Liu、D. Tam、M. Muqeeth、J. Mohta、T. Huang、M. Bansal 和 C. Raffel(2022a)《少样本参数高效微调优于且成本低于上下文学习》。载于《神经信息处理系统进展》,外部链接:链接。被 §10 引用。
- S. Liu、C. Wang、H. Yin、P. Molchanov、Y. F. Wang、K. Cheng 和 M. Chen(2024)《DoRA:权重分解低秩适配》。载于《第41届国际机器学习会议论文集(ICML)》,外部链接:链接。被 §10 引用。
- X. Liu, K. Ji, Y. Fu, W. L. Tam, Z. Du, Z. Yang, 和 J. Tang (2022b) 《P-Tuning v2:提示词调优可在不同规模和任务上与微调相媲美》。载于《第60届计算语言学协会年会论文集》(ACL),外部链接:Link。被 §10 引用。
- Y. Liu, X. Wang, Y. Mao, Y. Gelberg, H. Maron, 和 M. Zhang (2026) 《SHINE:一种可扩展的上下文超网络,用于单次将上下文映射到 LoRA》。外部链接:2602.06358, Link。被 §10 引用。
- J. Mu, X. L. Li, 和 N. Goodman (2023) 《学习使用要点 token 压缩提示词》。载于《神经信息处理系统进展》,外部链接:Link。被 §10 引用。
- J. Pfeiffer, A. Kamath, A. Rücklé, K. Cho, 和 I. Gurevych (2021) 《AdapterFusion:用于迁移学习的非破坏性任务组合》。载于《第16届欧洲计算语言学协会会议论文集》(EACL),外部链接:Link。被 §10 引用。
- J. Phang, Y. Mao, P. He, 和 W. Chen (2023) 《HyperTuning:迈向无需反向传播即可适配大语言模型》。载于《第40届国际机器学习大会论文集》,机器学习研究论文集,第202卷,第27854–27875页。外部链接:Link。被 §10 引用。
- S. Reed 和 N. de Freitas (2016) 《神经编程器-解释器》。外部链接:1511.06279, Link。被 §10 引用。
- C. Rubio Manzano (2012) 《使用弱合一设计并实现一种模糊逻辑编程语言》。《AI 通讯》25 (4),第365–367页。外部链接:ISSN 0921-7126。被 §1 引用。
- A. Singh, V. Natarajan, M. Shah, Y. Jiang, X. Chen, D. Batra, D. Parikh, 和 M. Rohrbach (2019) 《迈向能够阅读的 VQA 模型》。载于《IEEE/CVF 计算机视觉与模式识别大会论文集》(CVPR),第8317–8326页。被 §6 引用。
- J. Sun, S. Baskaran, Z. Wu, M. Sklar, C. Potts, 和 A. Geiger (2025) 《HyperSteer:使用超网络进行大规模激活引导》。外部链接:2506.03292, Link。被 §10 引用。
- B. Trojan 和 F. Gębala (2026) 《HypeLoRA:用于校准语言模型微调的超网络生成的 LoRA 适配器》。外部链接:2603.19278, Link。被 §10 引用。
- J. von Oswald、C. Henning、B. F. Grewe 和 J. Sacramento(2020)《基于超网络的持续学习》。发表于国际学习表征会议(ICLR),外部链接:链接,被 §10 引用。
- Y. Wang、Y. Kordi、S. Mishra、A. Liu、N. A. Smith、D. Khashabi 和 H. Hajishirzi(2023)《Self-Instruct:利用自生成指令对齐大语言模型》。发表于第 61 届计算语言学协会年会(ACL),外部链接:链接,被 §10 引用。
- G. Weiss、Y. Goldberg 和 E. Yahav(2021)《像 Transformer 一样思考》。外部链接:2106.06981,链接,被 §10 引用。
- wllama 贡献者(2024)《wllama:用于 llama.cpp 的 WebAssembly 绑定》。外部链接:链接,被 §10 引用。
- Z. Xu、F. Jiang、L. Niu、Y. Deng、R. Poovendran、Y. Choi 和 B. Y. Lin(2025)《Magpie:通过无提示词引导已对齐大语言模型从零开始合成对齐数据》。发表于第十三届国际学习表征会议(ICLR),外部链接:链接,被 §10 引用。
- Y. Yang、A. Patel、M. Deitke、T. Gupta、L. Weihs、A. Head、M. Yatskar、C. Callison-Burch、R. Krishna、A. Kembhavi 等人(2025)《通过代码引导的合成多模态数据生成实现富文本图像理解的规模化》。arXiv 预印本 arXiv:2502.14846。被 §6 引用。
- Q. Ye 和 X. Ren(2021)《学习从任务描述生成任务特定适配器》。发表于第 59 届计算语言学协会年会暨第 11 届国际自然语言处理联合会议(第 2 卷:短论文),在线会议,第 646–653 页。外部链接:链接,DOI:文档,被 §10 引用。
- Q. Zhang、M. Chen、A. Bukharin、N. Karampatziakis、P. He、Y. Cheng、W. Chen 和 T. Zhao(2023)《AdaLoRA:面向参数高效微调的自适应预算分配》。发表于第十一届国际学习表征会议(ICLR),外部链接:链接,被 §10 引用。
附录 A:PAW 编译的 Web 界面
我们提供了一个托管式网页界面,该界面接受模糊规格说明,对其进行编译,让用户能够交互式测试,并将编译后的程序导出为序列化权重文件或可通过 Python API 加载的程序标识符。工作流的三个步骤如图 5、图 6 和图 7 所示。编译在配备 GPU 的服务器上运行,因此用户无需在本地配置 GPU;一旦下载完成,编译后的程序即可在本地解释器上完全离线运行。
附录 B FuzzyBench 构建提示词
图 8、9 和 10 展示了用于生成自然语言规格说明的提示词。一半的规格说明是在没有示例的情况下生成的(图 9),另一半则带有示例(图 10);我们发现这种混合方式比单独使用任何一种风格都能产生更多样化的规格说明。图 11 和 12 展示了用于根据规格说明生成输入-输出示例的提示词。
附录 C 编译器和解释器提示词
本文使用了两种编译器提示词风格:最小化风格,即单一的 `[SPEC]…[END_SPEC] [PSEUDO_PROGRAM]` 封装器;以及示例风格,即生成包含任务描述和示例的伪程序。在训练开始时,现成的参考编译器(Qwen3-4B-Instruct-2507)使用示例风格来生成参考展开结果;而训练后的 PAW 编译器在推理时则使用最小化风格。解释器使用单一的最小化提示词,该提示词简单地将伪程序与输入拼接在一起。
附录 D 图像处理
本附录整理了支持表 3 中多模态泛化实验的材料:编译和推理时使用的编译器与解释器提示词(如下所示),以及针对相同六个图像任务的前缀微调前身组件的消融实验(第 D.1 节)。回顾一下,图像任务 PAW 流水线仅替换了编译器基座(Qwen3-4B-Instruct 替换为 Qwen3-VL-4B);设备端驻留的解释器与用于文本模糊函数的解释器相同,同为 Qwen3 0.6B,而图像条件信息则完全编码在由 VL 编译器生成的每个示例的 PEFT 模块中。
D.1 图像任务 PAW 的组件分解(前缀微调时代)
表˜9 将前缀微调前身 PAW(第 3.3 节)分解为其离散组件和连续组件,分解基于表˜3 中报告的同一组六个图像任务。“仅离散伪程序”使用早期原型中经 REINFORCE 训练的编译器仅输出一个伪程序,不注入任何连续 PEFT;然后小型解释器仅在该伪程序上运行。“仅连续 KV-cache”从编译器隐藏状态注入一个逐样本的前缀微调 KV cache,但向解释器提供原始规格说明(无离散伪程序)。完整的“PAW 前缀微调”行与表˜3 中的相同。
| 变体 | Circuit | Chemical | Music | Im2SMILES | Im2LaTeX | TextVQA |
|---|---|---|---|---|---|---|
| 仅离散伪程序(REINFORCE) | 0.009 | 0.004 | 0.007 | 0.041 | 0.267 | 0.025 |
| 仅连续 KV-cache(无伪程序) | 0.181 | 0.364 | 0.493 | 0.234 | 0.471 | 0.439 |
| PAW 前缀微调(两者结合) | 0.241 | 0.365 | 0.525 | 0.175 | 0.391 | 0.612 |
跨任务的模式是一致的:当输出是短短语时(Circuit/Chemical/Music 理解、TextVQA 短答案),离散伪程序是一种强归纳偏置,在仅连续变体的基础上增加了 5–40 个 EM 点。当输出是长结构化序列时(Im2SMILES、Im2LaTeX),离散伪程序的输入/输出示例似乎挤占了小型解释器的上下文预算,移除伪程序后恢复了 6–8 个 EM 点。我们将此解读为,对于图像到标记类任务,未来 PAW 的 PEFT 实例化可能需要在部署时放弃伪程序,或者重新设计其内容使其更轻量(例如,仅保留释义,不包含示例)。
附录 E 前缀微调前身架构
本附录为第3.3节提供前缀调优前驱架构的可视化辅助说明,与图2中LoRA实例化的结构相对应。该图(原为PAW的ICML版本概览)展示了前驱架构中“编译/解释”的高层节奏:编译器输出一个紧凑的KV前缀,构成编译后的程序,而冻结的解释器则将其作为可调用函数在本地执行。
附录F FuzzyBench-10M数据集版本
FuzzyBench是分29个主题版本逐步构建的,每个版本新增10万至50万个示例,覆盖一系列新的模糊任务。表10总结了每个版本的规模以及各阶段新增的类别。完整的按版本分类的类别列表(超过800个子类别)以及用于生成每个批次的规格生成命令,均随本文一同发布。
| 版本 | 规模 | 规格数 | 新增类别(主题) |
|---|---|---|---|
| 1 | 250万 | 81,920 | 核心文本处理(解析、分类、命名实体识别、指代消解、情感分析等;277个基础类别) |
| 2 | 270万 | +24,576 | 新增类别 + 自由格式(数据过滤、差异解析、定时任务、简历解析等) |
| 3 | 300万 | +32,768 | 模糊/软匹配(模糊搜索、近似字符串匹配、语音匹配、实体解析) |
| 4 | 3.25M | +32,768 | 格式修复(JSON/XML/CSV/YAML/SQL 修复、模式合规性、编码修复) |
| 5 | 3.50M | +32,768 | 自然语言命令(NLshell/jq/awk/git/curl/find、命令参数推断) |
| 6 | 3.75M | +32,768 | 智能体/工具使用(工具调用生成、工具选择、模式生成) |
| 7 | 4.00M | +32,768 | 自定义分类/过滤(基于标准、日志过滤、显著性、异常) |
| 8 | 4.25M | +32,768 | 文件/代码语义分类(文件路径分类、代码用途、提交信息) |
| 9 | 4.50M | +32,768 | DSL/代码清理(自然语言转 DSL、注释剥离、对话提取、构建错误解释) |
| 10 | 4.75M | +32,768 | 日志监控(重要性检测、流式异常、告警评估) |
| 11 | 5.00M | +32,768 | 自然语言约束验证(约束形式化、密码策略、模式综合) |
| 12 | 5.25M | +32,768 | 约束满足(布尔 SAT、类型检查、依赖顺序、API 契约) |
| 13 | 5.50M | +32,768 | 操作安全/机密(命令风险分类、机密检测、编辑脱敏) |
| 14 | 5.75M | +32,768 | 可逆性/输出掩码/模型 token 缩减(回溯蒸馏、输出摘要) |
| 15 | 6.00M | +32,768 | 自动补全(上下文感知、基于历史、基于当前工作目录、领域特定) |
| 16 | 6.25M | +32,768 | 伪程序执行(执行轨迹、结果预测、自然语言转 Python) |
| 17 | 6.50M | +32,768 | 化学属性 + 领域常识(SMILES、反应提取、服务时间估算) |
| 18 | 7.00M | +65,536 | 领域知识插件 + 反事实推理(涵盖 STEM/健康/社会等 30 个类别) |
| 19 | 7.25M | +32,768 | 浏览器语义匹配 + 转录清理 + 窄域翻译 |
| 20 | 7.50M | +32,768 | 智能体看门狗/等待中断(进程状态分类、完成检测) |
| 21 | 7.75M | +32,768 | AI 文本检测/作者归属/风格分析 |
| 22 | 8.00M | +32,768 | 语义搜索 + 显式 AI 检测(相关性、查询改写、片段提取) |
| 23 | 8.25M | +32,768 | spaCy 超集/自定义 NLP 流水线(自定义命名实体识别、跨度标注、依存句法分析) |
| 24 | 8.50M | +32,768 | HTML 理解/浏览器智能(广告检测、样板文件移除) |
| 25 | 8.75M | +32,768 | 基于意图的 HTML + 语义等价/去重 |
| 26 | 9.00M | +32,768 | 智能体工具商店 / 流式智能 |
| 27 | 925 万 | +32,768 | 意图到导航 / 设置发现 |
| 28 | 975 万 | +32,768 | 基于文档的问答 / 基于规范的分类 |
| 29 | 1000 万 | +32,768 | 智能搜索流水线补全(关键词提取、词项加权、重排序) |
附录 G 训练配置
我们对 Qwen3 0.6B 和 Qwen3.5 0.8B 的 PAW 运行采用以下配置(GPT-2 124M 运行使用相同的超参数,但目标模块替换为 GPT-2 特有的 c_attn、c_proj、c_fc,因为 GPT-2 将 Q/K/V 融合为单个投影):
- •
伪编译器(未训练)。使用 Qwen/Qwen3-4B-Instruct-2507,以示例模板(附录 C)作为提示词。整个 1000 万示例训练集的伪程序预先通过 vLLM 一次性生成,按规范建立索引,并存储在 JSONL 文件中。训练期间,每个示例的伪程序从磁盘读取,从不从实时模型采样。
- •
LoRA 编译器(已训练)。使用 Qwen3-4B-Instruct-2507,完全解冻,学习率 ,bf16 参数,启用梯度检查点。输入格式为最小规范包装器,后接伪程序 和一组固定的已学习"前缀"token。
- •
LoRA 映射器。为保持数值稳定性而采用 fp32 格式。均值池化聚合,单残差 MLP 主干,共享基。秩 ,每个模块类型的基础数,目标模块 q_proj、k_proj、v_proj、o_proj、gate_proj、up_proj、down_proj。
- •
解释器。冻结状态。默认使用 Qwen/Qwen3-0.6B。
- •
训练循环。在 1000 万示例数据集上训练 3 个 epoch;批次大小 16,梯度累积 3(有效批次 48);最大序列长度 1280,最大解释器序列长度 1024。损失函数是冻结解释器下目标 token 的负平均对数似然(公式 4);不包含策略梯度项,不包含组基线。
- •
硬件。单块 B300(早期阶段)或 8 块 H200(后期阶段)。0.6B Qwen3 运行在 3 块 GPU 上完成三个 epoch 的训练,耗时 72 小时。
我们使用 AdamW 优化器,采用 PyTorch 默认设置;无预热;无学习率调度。
附录 H 额外消融实验
表 11 重现了第 7 节中总结的额外消融实验及其完整数值。其中几行取自早期的 KV 前缀运行(已标注),用于锚定第 7 节所述的架构过渡。
| 消融维度 | 变体 | 精确匹配(test_clean) |
|---|---|---|
| 连续组件 | KV 前缀(第 2 轮) | 0.5044 |
| LoRA(第 2 轮) | 0.5652 | |
| LoRA,7 个模块(第 2 轮) | 0.6572 | |
| 编译器输入用于 LoRA | 仅规范 | 0.6411 |
| 仅伪代码 | 0.6165 | |
| 规范 + 伪代码(默认) | 0.6443 | |
| 离散与 LoRA 耦合 | 共享(一个头) | 0.6350 |
| 分离(默认) | 0.6443 | |
| LoRA 映射器输入归一化 | 使用 LayerNorm | 0.6377 |
| 不使用(默认) | 0.6443 | |
| 解释器初始化 | 从微调后的解释器开始 | 0.6038 |
| 从基础模型开始(默认) | 0.6223 |
附录 I 编译器缩放与冻结(尚无定论)
表 12 报告了在 test_clean 上,不同编译器规模(0.6B–32B)在冻结和未冻结两种变体下的精确匹配结果,这些结果均与 Qwen3.5 0.8B 解释器配对,并使用其他相同的训练设置。我们将此项研究标记为尚无定论,因为其模式是非单调的,我们目前无法将其归因于单一原因:解冻 4B 编译器的表现优于冻结的 32B 编译器,而作为冻结编译器的 gpt-oss-20B 表现不如冻结的 Qwen3-4B-Instruct-2507。我们尚未在大规模数据下进行受控研究,因为每种组合成本高昂;我们在此以描述性方式报告这些数字,而非得出缩放结论。
| 编译器 | 是否冻结? | test_clean |
|---|---|---|
| Qwen3 4B | 否 | 0.6455 |
| Qwen3 4B | 是 | 0.6128 |
| Qwen3 4B + 输入归一化 | 是 | 0.6228 |
| Qwen3 14B | 否 | 0.6257 |
| Qwen3 32B | 是 | 0.6174 |
| gpt-oss-20B | 是 | 0.5823 |
| Qwen3.5 4B(混合) | 是 | 0.5046 |
附录 J 按噪声类型划分的鲁棒性
表 13 报告了 Qwen3 0.6B 解释器在第 2 轮时,针对全部八个噪声轴在轻/中/重三种强度下的完整噪声鲁棒性数据。
| 噪声轴 | 轻度 | 中度 | 重度 |
|---|---|---|---|
| 拼写错误 | 0.6709 | 0.6685 | 0.6621 |
| 语法 | 0.6687 | 0.6672 | 0.6731 |
| 歧义 | 0.6731 | 0.6628 | 0.6511 |
| 格式 | 0.6702 | 0.6575 | 0.6526 |
| 所有噪声(组合) | 0.6670 | 0.6650 | 0.6326 |
| 简洁(仅重度) | – | – | 0.6499 |
| 随意(仅重度) | – | – | 0.6675 |
| 释义(仅重度) | – | – | 0.6614 |
附录 K 完整量化表
表˜14 报告了 Qwen3 0.6B 在 4096 样本规模下每个量化级别的完整精确匹配数值,包括 IQ4_XS/IQ4_NL 整数量化格式。表˜15 和表˜16 分别报告了 GPT-2 124M 和 Qwen3.5 0.8B 在 36 个样本下的对应数据(36 样本的数值在 0.6B 规模以下不具备统计意义;这些解释器的完整规模验证正在进行中)。
| 基础格式 | bpw | 基础大小 | 适配器大小 | EM(test_clean) |
|---|---|---|---|---|
| PyTorch bf16 | 16 | 1515 MB | – | 0.6580 |
| fp16 | 16 | 1509 MB | 162 MB | 0.6594 |
| 8.5 | 805 MB | 162 MB | 0.6550 | |
| 6.56 | 623 MB | 162 MB | 0.6558 | |
| 5.5 | 551 MB | 162 MB | 0.6499 | |
| 4.8 | 484 MB | 162 MB | 0.6460 | |
| IQ4_XS | 4.25 | 430 MB | 162 MB | 0.6484 |
| 4.5 | 449 MB | 162 MB | 0.6348 | |
| 3.9 | 416 MB | 162 MB | 0.6055 | |
| 3.5 | 395 MB | 162 MB | 0.5874 | |
| 适配器(23 MB)替代 fp32(162 MB): | ||||
| + | 6.56 | 623 MB | 23 MB | 0.6575 |
| + | 5.5 | 551 MB | 23 MB | 0.6477 |
| + | 4.8 | 484 MB | 23 MB | 0.6453 |
| IQ4_XS + | 4.25 | 430 MB | 23 MB | 0.6462 |
| 基础格式 | bpw | 基础大小 | tok/s | EM(36) |
|---|---|---|---|---|
| fp16 | 16 | 252 MB | 100.7 | 21/36 |
| 8.5 | 137 MB | 115.7 | 23/36 | |
| 6.5 | 107 MB | 111.0 | 22/36 | |
| 5.5 | 99 MB | 108.0 | 24/36 | |
| 4.8 | 91 MB | 110.5 | 24/36 | |
| IQ4_NL | 4.5 | 85 MB | 107.1 | 24/36 |
| IQ4_XS | 4.25 | 82 MB | 115.4 | 24/36 |
| 3.9 | 88 MB | 116.6 | 23/36 | |
| IQ2_M | 2.7 | 63 MB | 192.5 | 16/36 |
| 基础格式 | bpw | 基础大小 | tok/s | EM(36) |
|---|---|---|---|---|
| fp16 | 16 | 1517 MB | 6.1 | 30/36 |
| 8.5 | 774 MB | 6.4 | 30/36 | |
| 6.5 | 601 MB | 6.7 | 30/36 | |
| 5.5 | 551 MB | 6.5 | 30/36 | |
| 4.8 | 505 MB | 6.5 | 31/36 | |
| 4.5 | 505 MB | – | 崩溃 | |
| 及以下 | – | – | – | 崩溃 |
附录 L 定性分析
我们人工检查了三个解释器(GPT-2 124M、Qwen3 0.6B、Qwen3.5 0.8B)各自最后 20 次训练 rollout,以刻画每个模型成功与失败的模式。汇总统计如下:GPT-2 在 20 次中有 12 次完美执行,0.6B 模型有 8 次完美执行,0.8B 模型有 13 次完美执行。0.8B 模型的优势在于:结构化输出生成(JSON、CSV、BibTeX、DOT 图)、多候选标签分类、模式匹配与转换,以及基于显式案例的逻辑推理(循环检测、排他性违规、同义改写检测)。其失败模式包括:精确数值计算(单位换算出现微小偏差)、字符级位置追踪(跨度起止索引偏差几个字符),以及创造性改写(同义词替换导致含义改变)。0.6B 模型具有相似的优势,但跨度偏移错误更多,且在构建多步骤 JSON 时存在困难。GPT-2 无法进行多步骤推理(情感时间线、评分标准打分),也无法追踪精确位置,但在答案空间较小时,模式匹配和分类能力较强。我们在发布的补充材料中提供了每个模型的示例转录文本。
附录 M 完整案例研究详解
图˜19 勾勒了后续案例研究所填充的多程序库架构:每条自然语言规约被一次性编译为其对应的神经程序,所有生成的程序在运行时由单个驻留设备的解释器统一调度。下文将详细展开第˜9节总结的五项案例研究,包含完整规约及迭代历程。
M.1 事件驱动型日志监控(完整详解)
最终规约如下:
监控循环是一个简单的文件尾部封装器,它将每个新数据块截断以适配 2048 模型 token 的上下文窗口,调用 PAW 函数,并输出 ALERT 数据块。另设一个停滞计时器用于处理"数分钟无新输出"的情况——分类器因仅能识别已写入内容而无法检测此类异常。
M.2 基于意图的站点导航(完整详解)
页面分类器规约如下:
完整流水线由五个 PAW 函数顺序组成:页面分类器、问题类型分类器、是非题回答器、如何/什么类问题回答器,以及答案验证器。每个程序在数秒内完成编译,毫秒级运行。验证器可捕获语法正确但未回应问题的答案(例如对"许可证是什么?"回答"是")。
M.3 语义搜索重排序(完整详解)
重排序模板如下:
该重排序器与基于全文索引的关键词搜索组合使用:关键词搜索返回前 10–20 个候选结果,PAW 重排序器根据查询将每个结果评分归入四个等级(映射为整数分值 3–0),最终按分值降序返回候选结果。
M.4 工具调用流水线(完整详解)
该流水线使用了 10 个 PAW 函数:tc15-needs-tool、tc15-tool-router、tc15-impossible-check、tc15-second-tool,以及六个参数提取函数(tc15-extract-location、tc15-extract-ticker、tc15-extract-units、tc15-extract-search-query、tc15-extract-person、tc15-extract-translate)。日期/时间解析由正则表达式处理;OpenAI tool_calls JSON 由确定性 Python 构建。代理服务器通过追踪已调用的工具并在步骤之间传递数据来处理多轮对话。唯一失败的场景(TC-13,空结果重试)被追溯到代理代码中过于激进的循环防止逻辑,而非 PAW 函数的问题;我们在主论文中如实报告了这一点。
M.5 猜词游戏(完整演练)
英文规范如下:
中文版本是同一模板翻译成普通话,并附有 20 个提示词示例。该项目最困难的部分,到目前为止,是对 361 个词库的审核:一个候选词生成步骤,通过 gpt-5.4 在 40 个主题下生成了 4000 个候选词;一个模拟游玩步骤,提示 gpt-5.4-mini 扮演人类描述者的角色,并将这些描述路由到已部署的 PAW 程序中,保留在 5 次随机种子试验中各轮次内被猜中的词;一个常见度过滤器(基于 wordfreq 语料库的 Zipf 值);以及最后的人工审核。
附录 N 局限性
耦合的编译器–解释器对。
经过训练的 PAW 系统会将一个特定的编译器与一个特定的解释器家族配对。切换解释器(例如,从 Qwen3 0.6B 切换到 Qwen3.5 0.8B)需要重新训练编译器。这是大多数参数生成方法共有的特性 [Charakorn et al., 2025, Chen et al., 2025];PAW 的主要泛化维度是跨任务(一个训练好的配对可以处理无限多的模糊规约)和跨模态(只需替换编译器,见表 3)。
编译后程序的可解释性。
一旦编译完成,PAW 程序中唯一可供人类检查的部分是离散的伪程序。连续的 PEFT 组件(LoRA 或 KV cache)是不透明的。我们认为这类似于源代码与编译后二进制文件之间的可检查性差距;用于检查和调试神经二进制文件的具体工具仍是一个开放的研究方向。
单步模糊函数。
本文中的所有评估都是单步的(一个输入,一个输出)。多步/长程推理尚未得到验证;原则上,PAW 函数可以在用户代码中组合(如第 9 节的案例研究所示),但学习一个能生成组合式程序的编译器留待未来工作。
合成训练数据。
FuzzyBench 是由一个大语言模型(gpt-5.2)生成的。我们训练的编译器是 Qwen3-4B-Instruct-2507,属于不同的模型家族,因此数据并未与编译器自身的偏好对齐;测试规约是保留的,并由一个独立的强模型进行验证。尽管如此,更广泛的外部验证正在进行中;第 9 节的五个案例研究是初步步骤。
任务依赖的最佳 PEFT。
我们在第 3.3、3 和 D.1 节中观察到,最佳的 PEFT 实例化方式是任务依赖的:LoRA 在文本和图表式图像分类上表现最强,而前缀微调(KV cache)在长格式结构化图像到标记的生成任务上表现更强。我们目前还没有一个原则性的规则,可以在没有经验比较的情况下预测对于新任务类别应该部署哪种 PEFT。
附录 O 更广泛的影响
PAW 将基础模型的使用模式从按输入调用云端服务,转变为先按函数编译、再在本地执行。积极影响包括:减少对 API 的依赖和成本(函数在设备端一个 500 MB 的解释器上运行,无需往返于云端大语言模型);可复现性(编译后的程序是一个带版本号的单一文件);以及离线可用性(浏览器内路径无需网络即可运行)。负面影响是有限的:发布版解释器体积小(B 参数),且是针对模糊函数而非开放式生成进行微调的,因此与通用大语言模型(如生成虚假信息、大规模欺诈文本)相关的滥用风险是可控的;训练数据完全为合成数据,不包含任何抓取或个人信息。我们认为,从这一范式出发,不存在直接通向需要明确缓解措施的负面应用的路径,因此我们未对发布物设置使用门槛。
来源:HuggingFace Daily Papers(社区热门论文) · arxiv.org