Program-as-Weights: A Programming Paradigm for Fuzzy Functions
作者: Wentao Zhang, Liliana Hotsko, Woojeong Kim, Pengyu Nie, Stuart Shieber, Yuntian Deng
分类: cs.LG, cs.AI, cs.CL
发布日期: 2026-07-02
💡 一句话要点
提出模糊函数编程以解决传统编程任务的局限性
🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)
关键词: 模糊函数编程 自然语言处理 编译器设计 神经网络 高效计算
📋 核心要点
- 现有的编程方法在处理模糊任务时面临局限,尤其是在可重复性和成本方面。
- 论文提出模糊函数编程,通过自然语言规范编译为可执行的神经工件,提升编程效率。
- 实验表明,PAW方法在性能上与大型模型相当,但显著降低了内存使用和运行成本。
📝 摘要(中文)
许多日常编程任务难以实现清晰的基于规则的实现,例如重要日志行的警报、修复格式错误的JSON或按意图对搜索结果进行排名,这些任务越来越多地外包给大型语言模型API,代价是局部性、可重复性和成本。我们提出了模糊函数编程:将自然语言规范编译成紧凑的、本地可执行的神经工件。我们通过Program-as-Weights (PAW)实现这一范式,其中一个在FuzzyBench上训练的4B编译器生成参数高效的适配器,用于一个冻结的轻量级解释器。执行PAW程序的0.6B Qwen3解释器在性能上与直接提示Qwen3-32B相匹配,同时使用大约五十分之一的推理内存,并在MacBook M3上以30个tokens/s的速度运行。PAW将基础模型从每个输入问题求解器转变为工具构建者:每次函数定义时调用一次,生成一个小的可重用工件,其后续函数应用调用成本低且可离线进行。
🔬 方法详解
问题定义:论文要解决的具体问题是如何高效地处理模糊编程任务,这些任务在传统编程中难以实现,且现有方法往往依赖于大型语言模型,导致局部性和可重复性差。
核心思路:论文的核心解决思路是模糊函数编程,通过将自然语言规范编译成紧凑的神经工件,使得编程任务可以在本地高效执行,降低对外部API的依赖。
技术框架:整体架构包括一个4B的编译器和一个0.6B的解释器。编译器负责将自然语言规范转换为参数高效的适配器,而解释器则执行这些适配器生成的程序。
关键创新:最重要的技术创新点在于将基础模型从每个输入的求解器转变为工具构建者,允许一次性生成可重用的工件,显著降低后续调用的成本。
关键设计:关键设计包括使用FuzzyBench数据集进行训练,确保编译器生成的适配器在参数效率上优于传统方法,同时在损失函数和网络结构上进行了优化,以适应模糊函数的特性。
🖼️ 关键图片
📊 实验亮点
实验结果显示,执行PAW程序的0.6B Qwen3解释器在性能上与直接提示的Qwen3-32B相当,且内存使用量仅为后者的五十分之一,运行速度达到30个tokens/s,展示了显著的效率提升。
🎯 应用场景
该研究的潜在应用领域包括日志分析、数据修复和搜索引擎优化等场景。通过提供一种高效的编程范式,PAW能够帮助开发者在本地快速实现复杂的功能,降低对外部API的依赖,提升系统的可控性和可重复性。未来,该方法有望在更多模糊任务的自动化处理中发挥重要作用。
📄 摘要(原文)
Many everyday programming tasks resist clean rule-based implementation, such as alerting on important log lines, repairing malformed JSON, or ranking search results by intent, and are increasingly outsourced to large language model APIs at the cost of locality, reproducibility, and price. We propose fuzzy-function programming: compiling such a function from a natural-language specification into a compact, locally-executable neural artifact. We instantiate this paradigm with Program-as-Weights (PAW), in which a 4B compiler trained on FuzzyBench, a 10M-example dataset we release, emits parameter-efficient adapters for a frozen, lightweight interpreter. A 0.6B Qwen3 interpreter executing PAW programs matches the performance of direct prompting of Qwen3-32B, while using roughly one fiftieth of the inference memory and running at 30 tokens/s on a MacBook M3. PAW reframes the foundation model from a per-input problem solver into a tool builder: invoked once per function definition, it produces a small reusable artifact whose subsequent calls per function application are cheap and offline.