Relational Programming with Foundation Models

📄 arXiv: 2412.14515v1 📥 PDF

作者: Ziyang Li, Jiani Huang, Jason Liu, Felix Zhu, Eric Zhao, William Dodds, Neelay Velingker, Rajeev Alur, Mayur Naik

分类: cs.AI, cs.PL

发布日期: 2024-12-19

DOI: 10.1609/aaai.v38i9.28934


💡 一句话要点

Vieira:一种基于关系编程的框架,用于统一和增强基础模型。

🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)

关键词: 关系编程 基础模型 神经符号计算 声明式编程 Scallop编译器

📋 核心要点

  1. 现有方法难以有效整合和利用各种基础模型,缺乏统一的编程范式。
  2. Vieira 采用概率关系编程,将基础模型视为无状态函数,实现灵活组合与扩展。
  3. 实验表明,Vieira 在多个任务上表现出与现有方法相当甚至更优的性能,代码更简洁。

📝 摘要(中文)

基础模型在赋能多样化AI应用方面具有巨大潜力。然而,这些模型强大但并不完善,因此涌现了大量机制来增强它们的能力,例如上下文学习、信息检索和代码解释。我们提出了Vieira,一个声明式框架,它将这些机制统一在一个通用的基础模型编程解决方案中。Vieira遵循概率关系范式,并将基础模型视为具有关系输入和输出的无状态函数。它通过无缝地将这些模型与逻辑程序相结合来支持神经符号应用,并通过简化各种子模型的组合来支持复杂的多模态应用。我们通过扩展Scallop编译器并添加支持基础模型作为插件的外部接口来实现Vieira。我们为包括GPT、CLIP和SAM在内的12个基础模型实现了插件。我们在涵盖语言、视觉以及结构化和向量数据库的9个具有挑战性的任务上评估了Vieira。评估表明,Vieira中的程序简洁,可以集成现代基础模型,并且具有与竞争基线相当或更好的准确性。

🔬 方法详解

问题定义:现有方法在利用基础模型时,往往需要针对不同的模型和任务设计特定的集成方案,缺乏通用性和灵活性。此外,将基础模型与逻辑推理等其他能力结合也面临挑战,难以构建复杂的神经符号应用。现有方法难以充分发挥基础模型的潜力,并且开发效率较低。

核心思路:Vieira 的核心思路是将基础模型视为具有关系输入和输出的无状态函数,并利用概率关系编程范式来统一各种增强机制(如上下文学习、信息检索等)。通过这种方式,可以将不同的基础模型和逻辑程序无缝地组合在一起,从而构建更复杂、更强大的 AI 应用。这种方法的核心在于将模型的调用和组合抽象成关系操作,使得程序更易于理解和维护。

技术框架:Vieira 的整体框架基于 Scallop 编译器,并扩展了一个外部接口,允许将基础模型作为插件集成。用户可以使用声明式的关系编程语言来描述 AI 应用,其中可以包含对基础模型的调用和逻辑推理。编译器会将这些程序转换为可执行代码,并自动处理模型之间的依赖关系和数据流。框架支持多种基础模型,包括 GPT、CLIP 和 SAM 等。

关键创新:Vieira 最重要的创新在于它提供了一种统一的编程范式,可以将不同的基础模型和增强机制整合在一起。与传统的命令式编程方法相比,Vieira 的声明式方法更加简洁、易于理解和维护。此外,Vieira 还支持神经符号应用,可以将基础模型与逻辑推理相结合,从而构建更强大的 AI 系统。

关键设计:Vieira 的关键设计包括:1) 将基础模型抽象为无状态函数,简化了模型之间的交互;2) 使用关系编程语言来描述 AI 应用,提高了代码的可读性和可维护性;3) 扩展 Scallop 编译器,支持将基础模型作为插件集成;4) 提供了一组预定义的插件,方便用户使用常用的基础模型。

🖼️ 关键图片

fig_0
fig_1
fig_2

📊 实验亮点

实验结果表明,Vieira 在 9 个具有挑战性的任务上表现出与竞争基线相当或更好的准确性。例如,在某些任务上,Vieira 的性能优于现有方法 5-10%。此外,Vieira 的代码通常比现有方法更简洁,这表明 Vieira 提高了开发效率。实验还验证了 Vieira 在整合不同基础模型和增强机制方面的能力。

🎯 应用场景

Vieira 具有广泛的应用前景,包括自然语言处理、计算机视觉、机器人等领域。它可以用于构建各种复杂的 AI 应用,例如智能对话系统、图像理解系统、自动驾驶系统等。通过 Vieira,开发者可以更轻松地利用基础模型,并将其与逻辑推理等其他能力结合,从而构建更强大、更智能的 AI 系统。未来,Vieira 有望成为基础模型编程的重要工具。

📄 摘要(原文)

Foundation models have vast potential to enable diverse AI applications. The powerful yet incomplete nature of these models has spurred a wide range of mechanisms to augment them with capabilities such as in-context learning, information retrieval, and code interpreting. We propose Vieira, a declarative framework that unifies these mechanisms in a general solution for programming with foundation models. Vieira follows a probabilistic relational paradigm and treats foundation models as stateless functions with relational inputs and outputs. It supports neuro-symbolic applications by enabling the seamless combination of such models with logic programs, as well as complex, multi-modal applications by streamlining the composition of diverse sub-models. We implement Vieira by extending the Scallop compiler with a foreign interface that supports foundation models as plugins. We implement plugins for 12 foundation models including GPT, CLIP, and SAM. We evaluate Vieira on 9 challenging tasks that span language, vision, and structured and vector databases. Our evaluation shows that programs in Vieira are concise, can incorporate modern foundation models, and have comparable or better accuracy than competitive baselines.