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-05
💡 一句话要点
提出模糊函数编程以解决传统编程任务的局限性
🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)
关键词: 模糊函数编程 自然语言处理 神经网络 编程效率 工具构建
📋 核心要点
- 现有编程方法在处理复杂任务时缺乏灵活性和可重用性,导致开发效率低下。
- 论文提出模糊函数编程,通过自然语言规范编译成可执行的神经工件,提升编程的灵活性和效率。
- 实验结果显示,PAW在性能上与大型模型直接提示相当,但内存占用显著降低,运行速度提高。
📝 摘要(中文)
许多日常编程任务难以实现清晰的基于规则的实现,例如重要日志行的警报、修复格式错误的JSON或按意图对搜索结果进行排名,这些任务越来越多地外包给大型语言模型API,导致局部性、可重复性和成本的损失。我们提出了模糊函数编程:将自然语言规范编译成紧凑的、可本地执行的神经工件。我们通过Program-as-Weights (PAW)实现这一范式,其中一个在FuzzyBench(我们发布的1000万示例数据集)上训练的4B编译器生成参数高效的适配器,供一个冻结的轻量级解释器使用。一个0.6B的Qwen3解释器执行PAW程序的性能与直接提示Qwen3-32B相匹配,同时使用的推理内存大约是其五十分之一,并在MacBook M3上以30个token/s的速度运行。PAW将基础模型从每个输入的问题解决者转变为工具构建者:每次函数定义调用时,它生成一个小的可重用工件,后续的函数应用调用成本低且可离线进行。
🔬 方法详解
问题定义:论文要解决的具体问题是如何高效地实现复杂的编程任务,这些任务通常难以用传统的规则基础方法来完成。现有方法在处理这些任务时往往需要依赖大型语言模型API,导致局部性和可重复性的问题,以及高昂的成本。
核心思路:论文的核心解决思路是模糊函数编程,通过将自然语言描述编译为紧凑的神经网络工件,使得这些工件可以在本地执行,从而避免依赖外部API。这样设计的目的是为了提高编程的灵活性和效率,同时降低资源消耗。
技术框架:整体架构包括一个4B的编译器和一个0.6B的解释器。编译器在FuzzyBench数据集上训练,生成适配器以供轻量级解释器使用。解释器负责执行PAW程序,提供高效的运行性能。
关键创新:最重要的技术创新点在于将基础模型转变为工具构建者,而非单纯的问题解决者。通过一次性定义函数,生成的小型可重用工件可以在后续调用中低成本地使用。
关键设计:关键设计包括参数高效的适配器生成、损失函数的优化,以及网络结构的轻量化设计。这些设计确保了在保持性能的同时,显著降低了内存占用和计算需求。
🖼️ 关键图片
📊 实验亮点
实验结果表明,使用PAW的0.6B Qwen3解释器在性能上与直接提示的Qwen3-32B相当,但内存占用仅为其五十分之一,且运行速度达到30个token/s,显示出显著的效率提升。
🎯 应用场景
该研究的潜在应用领域包括日志分析、数据修复和搜索引擎优化等。通过模糊函数编程,开发者可以更高效地实现复杂的编程任务,提升软件开发的灵活性和可维护性。未来,该技术可能在自动化编程和智能助手等领域产生深远影响。
📄 摘要(原文)
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.