论文

Compile by Training: 将自然语言规范转化为本地神经函数

Compile by Training: 将自然语言规范转化为本地神经函数

许多常见文本函数容易描述但难以用规则实现,而对每个输入调用大型远程模型会带来重复的成本、延迟和提供商依赖。我们提出 compile by training ,将自然语言规范转化为可复用的神经函数。 在编译时,教师模型生成任务相关示例,用于为紧凑解释器训练一个小型适配器。生成的函数无需教师即可运行,并且可以像普通软件一样存储、版本化与组合。在 FuzzyBench-Hard 上,快速编译器 Program-as-Weights 没有产生精确匹配,而 compile by training 达到 83.6% 的语义准确率。 这一更高的准确率伴随更高的编译成本:约一分钟而非数秒。作者将编译器部署在公共交互服务中,并在多站点网站助手、语言控制的 3D 化身和双向英语-Claudish 翻译器里展示了编译得到的函数。

论文精读

TL;DR 将自然语言规范编译为可本地运行的神经函数:用教师模型生成示例训练小适配器,在 FuzzyBench-Hard 上达到 83.6% 语义准确率,编译约一分钟,运行时不依赖远程模型。

问题

问题背景

在文本处理领域,业界持续探索将自然语言规范转化为可执行代码或轻量模型,以支撑高频、低延迟的重复性任务。

现有方法局限

  • 规则/正则:难以覆盖模糊语义,如“签名需今日完成”到“紧急”的映射,维护成本高。
  • 直接调用远程 LLM:每次请求都产生网络延迟、按 token 计费的成本,以及外部服务可用性与隐私依赖。
  • 快速神经编译器(如 Program-as-Weights) 虽然编译时间仅秒级,但在困难子集 FuzzyBench-Hard 上 精确匹配率为 0,说明其离散权重搜索无法泛化到更复杂的语义函数。
  • 参数高效适配(如 LoRA) 通常依赖人工标注数据集,而自然语言规范到监督样本的自动生成尚未被有效利用。

为什么这个问题难且重要

核心挑战在于 从短期规范自动合成高质量训练样本,并在 紧凑解释器 上训练小型适配器,使语义准确率达到 83.6%,同时保持分钟级编译时间可交互。业界关注点包括 降低推理成本、消除云依赖、支持离线部署,以及将模型像普通函数一样 版本化、组合与复用,这契合了当前 MLOps 和边缘 AI 的趋势。

行业类比

类似将云端大模型蒸馏为 边缘设备上的专用小模型,用于高频文本分类或客服预处理,如同将远程 API 调用编译为本地可执行二进制。

核心洞察

  • **compile by training** 将自然语言规范编译为可复用的神经函数,其核心并非生成代码或规则,而是通过教师模型生成任务特定示例,训练一个小型适配器来固化任务知识。这让最终的神经函数无需远程模型即可运行,摆脱了每次推理的延迟、成本和供应商依赖,与直接调用大模型或使用基于规则的快速编译器有本质区别。相较 **Program-as-Weights** 在 **FuzzyBench-Hard** 上零精确匹配,该方法达到 83.6% 的语义精度,展示了训练式编译在模糊文本任务上的潜力。
  • **compile by training** 提出了一种新的工程权衡:接受约一分钟的编译时间代价,换取运行时的高精度与低依赖。在 **FuzzyBench-Hard** 上,即使 **Program-as-Weights** 的秒级编译无法产生任何精确匹配,该方法仍获得 83.6% 语义准确率。这种“编译时训练、运行时轻量”的模式适合需要高频调用的模糊函数,避免了每次推理都调用大模型或为每个任务手工编写规则的困境,为 AI 函数的生产化部署提供了新思路。

方法

从规范到监督

系统接收自然语言规范(如“将邮件按紧急程度分类”)。教师模型 根据规范生成任务特定的输入-输出对,作为监督数据;可能采用多种策略(如自我一致性、主动采样)提高覆盖度。这一过程在编译时完成,不依赖人工标注。

训练与打包

在 紧凑解释器(compact interpreter,一个小型可执行模型)上训练一个 适配器(adapter,参数高效微调,如 LoRA)。训练目标是最小化 adapter 输出与教师示例之间的语义差异,而非逐词匹配。训练完成后,adapter 与解释器一起打包为可复用的神经函数,支持存储、版本化、组合。

交互式编译

为适应约一分钟的编译时间,系统采用 合成与训练重叠执行、任务调度与工作复用 等机制,允许用户在等待时看到中间结果或增量更新。

输出:一个本地神经函数,运行时无需远程教师模型,可部署在边缘或应用中。

差异点:与 Program-as-Weights 这类快速编译器直接生成权重、缺乏显式训练不同,compile by training 引入了显式的监督生成和 adapter 微调,用更高的编译成本换取在困难子集上 83.6% 的语义准确率(快速编译器在该子集上无精确匹配)。

实验

实验设计

在 FuzzyBench-Hard 上评估,该子集是 Program-as-Weights 快速编译器无法产生精确匹配的困难样本。方法通过教师模型生成任务特定示例,训练小型适配器用于紧凑解释器,评估指标为语义准确率,并对比快速编译器。还分析了监督选择对正确性的影响,以及编译时间是否满足交互要求。

关键发现

  • compile by training 达到 83.6% 语义准确率,而快速编译器在同样子集上无精确匹配,表明训练适配器能有效捕获模糊文本函数。
  • 编译时间约 1 分钟,比快速编译器的秒级慢,但换来可复用本地神经函数,无需远程模型依赖。
  • 已部署在公开交互服务,并演示三个应用:多站点网站助手、语言控制 3D 头像、双向 English–Claudish 翻译。

与基线对比

Program-as-Weights 快速编译器在模糊任务上受限,无法产生精确匹配;compile by training 通过从教师生成示例训练适配器,引入灵活性,以额外编译时间为代价提升准确性。该权衡适合“编译一次、多次调用”的场景,编译产物可存储、版本化并像普通软件一样组合,降低每次推理的成本和延迟。

行业影响

落地场景

编译式训练最直接的价值在于高频、低延迟、规则难以覆盖的文本处理任务。典型场景包括:

  • 电商评论分析:将“识别抱怨物流慢的评论并标记优先级”这类自然语言规则编译为本地函数,替代对大模型 API 的每次调用。
  • 内容平台审核:自定义违规标准(如“隐晦人身攻击”)可通过少量示例编译成部署在边缘侧的过滤器。
  • 企业服务工单路由:将“按紧急程度和部门分类客户邮件”编译为轻量模型,嵌入现有工单系统,无需网络往返。

商业价值

  • 降本:消除远程推理的 token 费用与网络开销,单次编译成本约 1 分钟,之后可无限次本地调用,适合高频文本流。
  • 提速:本地 adapter 推理延迟从秒级降至毫秒级,改善用户体验。
  • 依赖解耦:编译产物不依赖特定 provider,可离线运行、版本控制,降低供应商锁定风险。

与现有工作流的接口

编译产物是加载于紧凑解释器上的小型 adapter,可像普通软件一样打包为容器、嵌入微服务、部署到边缘设备或浏览器插件。集成路径清晰:

  • 用自然语言描述任务 → 调用编译器生成 adapter → 将其注册为内部函数或 REST 端点。
  • 支持组合:多个编译函数可串联成复杂 pipeline,例如先分类后抽取。

原作者强调:"The resulting function runs without the teachers and can be stored, versioned, and composed like ordinary software." 这为 AI 能力的产品化提供了新范式:从 prompt 工程转向可部署的神经函数库。

具体落地 use case

  • 电商场景:某电商平台需要实时判断买家咨询中的售后意图,用自然语言描述“用户要求退款或换货”,编译后嵌入客服机器人,本地毫秒响应,无需调用大模型,单日节省数万次 API 调用。
  • 教育场景:在线学习平台对学员提交的代码注释进行质量初筛,将“注释是否解释算法核心思路”编译为本地评分函数,在提交时即时反馈,不依赖远程服务,支持离线作业环境。

局限

  • - **编译时间成本较高**:相较于 Program-as-Weights 快速编译器的秒级响应,本方法需要约一分钟的编译时间。虽然通过重叠合成与训练、工作复用等交互设计缓解了等待感,但在需要即时反馈或频繁更新函数的场景中仍受限。这引入了准确率与编译速度的权衡,生产部署时需要根据任务频率和延迟要求谨慎选择。
  • - **监督信号依赖教师模型**:训练数据完全由教师模型生成,其质量直接影响适配器的性能。论文未深入讨论教师模型选择、生成样本的多样性控制、噪声过滤以及错误示例的负面影响。在开放域或分布外输入上,教师偏差可能被适配器放大,导致函数可靠性下降。
  • - **适配器容量与任务复杂度限制**:使用紧凑解释器和小型适配器虽然有利于部署,但模型容量有限,可能无法捕获高度复杂或长尾的文本变换。在 FuzzyBench-Hard 上仍存在 16.4% 的语义错误,对于高精度要求的生产环境(如法律、医疗文本处理)可能不够稳健。
论文Yuntian Deng2026-09-03原文

相关内容