训练式编译:将自然语言规范转化为本地神经函数
Compile by Training: Turning Natural-Language Specifications into Local Neural Functions
论文信息
标题: Compile by Training: Turning Natural-Language Specifications into Local Neural Functions
作者: Yuntian Deng, Pengyu Nie, Stuart Shieber
发布日期: 2026-09-03
arXiv ID: 2609.04199v1
PDF 链接: 下载 PDF
3 分钟速览
- 研究问题:如何将自然语言描述的一次性模糊函数编译为本地可复用神经函数,避免每次输入都调用远程大模型。
- 核心方法:编译时用教师模型合成示例,再用这些示例训练一个 LoRA 适配器,专业化共享的 Qwen3-0.6B 解释器;运行时不需要教师。
- 关键结果:在 FuzzyBench-Hard 上,语义准确率从 PAW 快速编译器的 0.224 提升到 0.836,绝对提升 0.612(见论文第 5.2 节,图 4),编译约需 50.9 秒。
- 主要局限:合成监督可能继承教师错误;论文没有系统性用户研究;应用证据偏重组合与结构化执行(见论文第 9 节)。
- 适合读者:从事 LLM 应用、参数高效微调、本地神经函数或 “模糊文本函数” 工程化的研究人员与工程师。
论文背景和研究动机
许多重复出现的文本函数易于描述但难以用规则实现,例如邮件分类中把 “Signature needed by EOD” 映射为 immediate,把 newsletter 映射为 wait。规则编码繁琐,而每次输入都调用远程大模型会带来网络延迟、成本和对服务商的运行期依赖。这类函数处于两端之间:太模糊,不适合传统代码;太窄且频繁,不值得为每次调用付出大模型成本。论文提出 compile by training:把大模型用作编译期工具,而不是运行期依赖。
该方法建立在 Program-as-Weights(PAW)之上。PAW 使用共享本地解释器和神经程序来表示模糊函数,并引入摊销编译器,用一次前向传播预测程序权重。这使编译很快,但每个函数只能获得固定计算量。本文保留 PAW 的程序格式和运行接口,但把摊销预测作为起点,额外投入特定规范的示例合成与优化。作者的观点是:参数适配可以成为软件构建步骤,编译产物可存储、版本化、缓存和组合。
核心方法和技术细节
系统接口可用 与 描述。其中 是自然语言规范, 是编译得到的程序, 是新输入, 是输出。所有程序共享一个冻结的 Qwen3-0.6B 解释器,每个函数由 LoRA 适配器和运行时 prompt 模板(scaffold)表示。
编译分两阶段。首先,教师模型根据规范合成数据集 。论文使用结构化 JSON 请求,并校验响应,拒绝格式错误或不完整的批次。公共配置用 GPT-5.4-mini 和 GPT-5.5 的 2:1 混合教师;低成本教师提供大多数示例,较大教师补充监督。其次,合成示例被用于训练低秩适配器。训练目标是最小化负对数似然:
公共 Finetuned Standard 配置使用量化的 Qwen3-0.6B 解释器、rank-64 LoRA(alpha 16)、摊销编译器热启动、batch 48、100 步余弦学习率衰减。训练完成后,适配器、scaffold、原始规范和解释器元数据被打包进 .paw 工件。运行时 SDK 把新输入与 scaffold 和适配器组合,执行本地解释器,不再调用教师或远程服务。
交互式编译方面,论文把流式编译路径用于缩短关键路径:教师请求、模型加载和训练并发启动,训练在第一批所需示例到达后开始,调度器把后到示例填到较早批次的空槽中。服务层把 API 与 GPU worker 分离,队列调度、缓存教师输出、持久化任务状态,并在完成时返回同一任务记录。编译因此表现为后台构建任务,而不是阻塞表单提交。
创新点和贡献
该工作的主要贡献是把 “根据自然语言规范构建小型神经函数” 变成一个可工程化的编译过程。与 PAW 的快速摊销编译器相比,本文增加了额外的编译期计算预算,但不改变运行接口,因此形成速度与准确性的新权衡点。作者还将编译过程设计为交互式、可监控的后台任务,支持缓存和作业协调,使约一分钟的构建时间在服务中可行。
另一个贡献是展示了多个编译函数与普通代码的复合。论文部署的 paw-helper 包含 30 个编译程序,其中 28 个参与实时路由。它会根据页面上下文把问题送到分类器、回答器、选择器和验证器等不同组件,并让确定性代码负责 BM25 检索、缓存和分支控制。Avatar Director 则把自然语言指令编译成动作 DSL,浏览器解析并执行序列、持续时间和并行动作。双语 English-Claudish 翻译服务由两个独立编译程序分别处理两个方向。
实验结果分析
在 FuzzyBench-Hard 上,论文使用 LLM Exact Match(LEM)作为语义正确性指标。该指标由 GPT-5.5 担任裁判,并在与 128 个人工标注的比较中达到 0.977 准确率和 Cohen's (见论文第 5.1 节)。FuzzyBench-Hard 是 PAW 快速编译器没有产生精确匹配的规范子集,但快速编译器仍有非零 LEM,因为某些输出虽不完全匹配参考,却语义正确。
图 4 显示,compile by training 将平均 LEM 从 0.224 提升到 0.836,绝对提升 0.612;对应编译时间从 3.5 秒增加到 50.9 秒(见论文第 5.2 节)。这是该数据集下的中心结果,说明在该评测中,增加编译期计算换取了更高的本地函数质量。
表 1 的开发规范扫描中,使用 GPT-5.4-mini 单独监督时平均 LEM 为 0.746,而 2:1 混合 GPT-5.4-mini 与 GPT-5.5 后达到 0.851。数据规模方面,1440 个唯一样本为 0.821,2400 和 3600 均停在 0.836,7200 才达到 0.866。这些结果来自开发规范子集,不能视为普遍规律;但可以观察到,在该设置下教师质量和数据规模并非总是线性带来收益。
延迟测试中,同一代表性规范的冷编译在 B300 上为 50.9 秒,H200 上为 68.2 秒,RTX 上为 99.2 秒;四个编译作业并发时平均排队等待为 1.01 秒。论文认为教师合成占端到端主导地位,因此重叠合成与训练能直接缩短关键路径(见论文第 5.4 节)。
实践建议
如果你需要在本地处理高频、模糊且规则难以维护的文本函数,这类 “编译期训练、运行期零大模型依赖” 的模式值得考虑。首先要判断任务是否适合:输出格式相对明确、错误成本可控、且同一函数会反复调用。关键决策路径仍应保留确定性校验或人工复核,因为论文自己承认合成监督可能继承教师错误。
工程落地时,可以把教师合成、训练和 artifact 存储拆成异步队列;缓存教师输出可以降低重复编译成本。若单函数编译约一分钟,后台编译加任务状态查询足以保持交互体验。训练配置上,可以考虑低成本与高质量教师混合,而不是无脑增加数据量;论文在开发规范上显示 2:1 混合比单用低价教师更好,而数据量从 3600 到 7200 才再次改善(见论文表 1)。最后,编译产物应像普通软件一样版本管理,因为模型适配器、prompt 模板和解释器元数据一起构成可复现产物。