ProgramAsWeights:用英语描述AI函数,编译一次,在本地CPU上运行
摘要
ProgramAsWeights是滑铁卢大学开发的一个工具,允许用户用英语描述AI函数,将其编译成LoRA适配器,并使用共享的基础模型在本地CPU上运行,实现无需API调用的离线执行。
近期人们对Jev的兴趣,尤其是开源和可本地执行的替代方案,我想分享一个我们在滑铁卢大学开发的相关项目:ProgramAsWeights (PAW)。这个想法很简单:用英语描述一个函数,编译一次,然后从Python调用它。生成的函数在您自己的CPU上运行,无需将每个输入发送到API。例如:
https://preview.redd.it/xlsfp5rl6cqh1.png?width=1800&format=png&auto=webp&s=fb05ea259fdbf53c965a8373a3c1fc9688347cab
import programasweights as paw
fn = paw.compile_and_load("Classify urgent emails")
fn("Need this today") # "urgent" (runs locally)
工作原理:我们训练了一个更大的模型来从英语函数描述中生成LoRA适配器。该适配器为共享的Qwen3 0.6B解释器专门化任务。您可以保留多个编译后的函数并重用相同的基础模型。SDK默认使用我们托管的编译器。一旦编译后的程序和基础模型下载完成,推理就在本地运行,并可离线工作。编译器权重也公开发布,供那些希望自行运行编译的人使用。我用这个构建了一个课程网站助手,其中包含约30个小神经程序,通过普通的决策树代码连接。一个函数决定哪个回答者应该处理问题,周围的代码控制接下来发生什么。以下是我的课程网站助手,如果您感兴趣的话:https://yuntiandeng.com/teaching/spring2026/cs486-introduction-to-artificial-intelligence/#ask
你们中的一些人可能记得之前在此发布的一个版本(https://www.reddit.com/r/LocalLLaMA/comments/1sm9fmw/compile_english_function_descriptions_into_22mb/)。当时,人们要求发布编译器本身。它的权重现在公开了,还有解释其工作原理的论文。
Python SDK: https://github.com/programasweights/programasweights-python
编译器权重: https://huggingface.co/programasweights/paw-4b-qwen3-0.6b
论文: https://arxiv.org/abs/2607.02512
您可以在安装前尝试浏览器演示版:https://programasweights.com/playground
相似文章
Program-as-Weights: 面向模糊函数的编程范式
Program-as-Weights (PAW) 引入了一种编程范式,其中40亿参数的编译器将自然语言规范翻译成紧凑的神经工件,可由6亿参数的解释器执行,性能与320亿参数的模型相当,但内存和推理成本大幅降低。
@_akhaliq:Program-as-Weights —— 面向模糊函数的编程范式
介绍了'Program-as-Weights',一种为模糊函数设计的新编程范式,由 @_akhaliq 分享。
权重空间编程的火花:LLM 能够原生读写神经网络权重
一篇研究博客文章发现,前沿 LLM 能够原生读写神经网络权重——诊断训练后的策略、编辑权重以修复推理循环并将 Qwen3.5-0.8B 在 MATH-500 上的成绩从 7.9% 提升至 48.1%、以及手工编写小型游戏网络——作者将这一能力称为「权重空间编程」(Weight-Space Programming)。
使用 llama.cpp 在本地运行的自动化 AI 研究员
ml-intern 是一个面向 AI 代理的工具,它与 Hugging Face 的库集成,现在支持通过 llama.cpp 或 ollama 运行本地模型,使得自动化 AI 研究员可以在笔记本电脑上全天候运行。
ConwAI
ConwAI 是一个自定义的 5 亿参数 AI 模型,经过五个月开发,具备自我学习能力和独特个性,本地运行在 iMac 上。