TAG,一种用于复杂问题解答的统一模型
📖阅读时长:19分钟
🕙发布时间:2025-02-12
近日热文:全网最全的神经网络数学原理(代码和公式)直观解释
欢迎关注知乎和公众号的专栏内容
LLM架构专栏
知乎LLM专栏
知乎【柏企】
公众号【柏企科技说】【柏企阅文】
弥合AI和数据库之间的差距
承诺与瓶颈
人工智能(AI)正在迅速改变我们与数据交互的方式。强大的语言模型(LM)的出现为以更自然、更直观的方式查询和分析信息开辟了新的可能性。想象一下这样一个世界,您只需用简单的英语提出一个问题,系统就会从庞大的数据库中检索您需要的确切信息。这就是AI驱动的数据交互的承诺。
但是,存在一个瓶颈。传统数据库系统专为结构化查询而设计,而LM擅长理解和生成自然语言。弥合这一差距对于释放AI在数据管理中的全部潜力至关重要。
为什么Text2SQL和RAG达不到要求
最近弥合这一差距的努力主要集中在两种方法上:Text2SQL和检索增强生成(RAG)。Text2SQL旨在将自然语言问题转换为可在数据库上执行的SQL查询。虽然前景广阔,但Text2SQL在处理需要数据源以外的推理或知识的查询方面遇到了困难。
另一方面,RAG从知识库中检索相关信息,并使用它来回答问题。但是,RAG通常依赖于简单的点查找,无法利用数据库系统的全部计算能力。
Text2SQL可能难以处理此查询,因为它需要识别“经典”电影,这需要了解电影类型和评论界的好评,而数据库中没有明确存在这些内容。RAG也可能失败,因为它需要合并有关收入、类型和评论的信息(可能来自多个表),然后执行摘要。
进入TAG:一种统一的方法
为了克服这些限制,引入了表增强生成(TAG),这是一种结合了LM和数据库系统优势的统一模型。TAG利用LM的推理和知识功能,同时利用数据库的高效查询执行。这种方法使TAG能够处理更广泛的查询,包括需要推理、知识和复杂计算的查询。
在以下部分中,我们将深入研究TAG模型,探索其设计空间,并通过系统评估证明其有效性。
TAG如何处理示例查询
如图1所示,TAG分三个步骤处理示例查询:
- 查询合成:TAG将自然语言查询转换为数据库查询(例如SQL),该查询包含基于LM的运算符来识别经典爱情电影。
- 查询执行:该数据库可以有效地执行查询,并在需要时利用LM来检索票房最高的经典爱情电影(在本例中为《泰坦尼克号》)。
- 答案生成:TAG使用LM来总结检索到的电影的评论,为用户提供自然语言答案。
这种结构化方法使TAG能够有效地结合LM和数据库的优势,使其能够回答Text2SQL和RAG无法解决的复杂查询。
揭开TAG模型的神秘面纱
深入了解TAG的框架
表增强生成(TAG)模型提供了一种结构化的方法,用于回答数据库上的自然语言问题。它包括三个关键步骤:
查询合成(syn):此步骤将自然语言请求(R)转换为可执行数据库查询(Q)。它识别相关数据并执行语义解析,以数据库系统可以理解的语言(例如SQL)生成查询。
- 示例:对于查询“Summarize the reviews of the highest - grossing romance movie considered a classic”,syn将生成一个针对movie_title、评论、收入和流派等属性的SQL查询。这可能涉及在SQL查询中使用基于LLM的运算符来识别被视为“经典”的电影。
查询执行(exec):此步骤执行生成的查询(Q)。数据库获取相关数据(T)。它利用数据库引擎的效率来处理潜在的大量数据。数据库API的范围可以从传统的SQL引擎到使用基于LLM的运算符或本机ML函数增强的系统。
- 示例:将执行上一步中生成的SQL查询。该数据库将筛选出爱情电影,使用基于LLM的运算符来识别其中的“经典”,然后按收入对它们进行排名以找到票房最高的电影。在这种情况下,生成的数据T将包含“Titanic”的相关信息。
答案生成(gen):此步骤使用LLM根据用户的请求(R)和检索到的数据(T)生成自然语言答案(A)。它反映了RAG中的生成步骤,但受益于通过前面的步骤获得的结构化和相关数据。
- 示例:LLM将收到原始请求和有关“Titanic”的数据,包括其评论。然后,它将利用其语义推理功能生成这些评论的自然语言摘要。
TAG的结构化方法促进了负责高效数据检索的数据库系统与负责自然语言理解和生成的LLM之间的关注点的清晰分离。这使得TAG能够有效地结合两个世界的优势,使其能够回答超出Text2SQL和RAG能力的复杂查询。
探索TAG的广阔前景
查询类型:从点查找到复杂推理
TAG旨在处理各种查询类型,超越了以前方法的限制。这包括:
点查询:这些查询从数据库中有限数量的行中检索特定信息。它们通常类似于基于查找的问题。
- 示例:“What is the phone number of John Doe?”
聚合查询:这些查询需要分析和汇总数据库中多行的信息。它们通常涉及总结、排名或复杂推理等任务。
- 示例:“Summarize the customer reviews for the latest iPhone.”
数据模型:拥抱数据的多样性
TAG足够灵活,可以处理各种数据模型:
结构化数据:这是指以预定义格式组织的数据,通常存储在关系数据库中。TAG可以利用结构化数据中的架构和关系进行高效查询。
- 示例:具有姓名、年龄、地址和购买历史记录等属性的客户数据。
非结构化数据:这是指没有预定义格式的数据,例如文本、图像、音频或视频。TAG可以利用LLM从非结构化数据中提取相关信息和见解。
- 示例:买家评论、社交媒体帖子、新闻文章。
半结构化数据:这是指具有某些组织属性但不遵守严格架构的数据,通常以JSON或XML等格式表示。TAG可以处理半结构化数据中结构化和非结构化元素的混合。
- 示例:具有结构化属性(名称、价格)和非结构化描述的商品目录。
数据库API:高效数据检索的门户
TAG可以使用各种数据库API和执行引擎:
- 基于SQL的系统:TAG可以利用其高效的查询处理功能生成SQL查询以与关系数据库交互。
- 向量嵌入系统:对于非结构化数据,TAG可以利用向量嵌入技术在语义上表示数据并执行基于相似性的检索。
语义运算符系统:TAG可以利用带有基于LLM的运算符的系统,从而将自然语言理解和推理直接集成到数据库查询执行中。
- 示例:使用sem_filter运算符根据情绪或主题筛选行。
- ML增强系统:TAG可以利用具有内置机器学习功能的数据库来执行复杂的分析和预测。
LM生成:释放迭代和递归模式的潜力
TAG的答案生成步骤可以采用各种LLM生成模式:
- 单次调用生成:LLM在单个步骤中生成答案,在上下文中处理检索到的数据和用户查询。
- 迭代生成:LLM迭代优化答案,可能会与数据库多次交互以收集其他信息或澄清歧义。
- 递归生成:LLM将复杂查询分解为子查询,递归地为每个子查询生成答案并将它们组合起来形成最终答案。
这些灵活的生成模式使TAG能够适应不同的查询复杂性,并提供全面且信息丰富的答案。
对TAG进行测试
基准测试方法:追求现实的评估
表问题解答的现有基准主要侧重于可以仅使用数据源中明确提供的信息来回答的查询。为了全面评估TAG在处理需要外部知识或复杂推理的查询方面的能力,我们需要一个包含此类具有挑战性的场景的基准。
数据集和查询修改:为TAG定制BIRD
我们选择BIRD基准测试作为我们的基础,因为它具有大规模表、多样化的域和多种查询类型,包括基于匹配、比较、排名和聚合查询。我们从BIRD中选择了五个域:california_schools、debit_card_specializing、formula_1、codebase_community和european_football_2。
为了评估TAG处理真实场景的能力,我们修改了原始的BIRD查询,引入了两个关键挑战:
世界知识要求:我们添加了要求数据库中未明确存在的知识的子句或约束,迫使系统依赖外部世界知识。
- 示例:在california_schools域中,我们将查询 “What is the grade span offered in the school with the highest longitude?” 修改为 “What is the grade span offered in the school with the highest longitude in cities that are part of the 'Silicon Valley' region?” 这需要知道哪些城市构成了硅谷地区,这些信息在表中找不到。
语义推理要求:我们修改了查询,以需要对文本或关系数据进行复杂的推理,推动系统超越简单的查找并执行更深入的分析。
- 示例:在codebase_community域中,我们将查询 “What are the titles of the top 5 posts with the highest popularity?” 修改为 “Of the 5 posts with the highest popularity, list their titles in order of most technical to least technical.” 这需要了解帖子标题的技术性,这是一项涉及文本语义推理的任务。
我们的最终基准测试由80个修改后的查询组成,这些查询均匀分布在世界知识和语义推理需求之间,在四种BIRD查询类型中具有相等的代表性。
基线:一系列方法
我们根据几个基线评估了TAG,每个基线都代表了在数据库上回答自然语言问题的不同方法:
- Text2SQL:此基线直接将自然语言查询转换为SQL代码,然后在数据库上执行以获取答案。
- 检索增强生成(RAG):此基线根据嵌入相似性从数据库中检索相关行,然后使用LLM根据检索的数据和原始查询生成答案。
- 检索 + LM排名:此基线通过使用LLM对检索到的行进行重新排序,然后再将其提供给LLM以生成答案,从而扩展RAG。
- Text2SQL + LM:此基线使用Text2SQL检索可能相关的行,然后将它们提供给LLM以生成答案,类似于RAG,但具有不同的检索机制。
- 手写TAG:此基线表示一种理想方案,其中TAG管道是根据数据库架构和查询意图的专业知识手动构建的。
结果与分析:TAG的胜利
我们的评估表明,TAG,尤其是手写版本,在答案准确性方面明显优于所有其他基线。手写TAG实现了55%的总体精确匹配准确率,而其他基线则难以超过20%。这凸显了TAG的结构化方法在结合LLM和数据库系统的优势方面的有效性。
更广泛的研究前景
TAG建立在自然语言处理和数据库系统领域的先前研究之上并扩展了这些研究。以下是它与其他主要方法的关系:
- Text2SQL:有局限性的基础:Text2SQL方法旨在将自然语言问题转换为可执行的SQL查询。这已在WikiSQL、Spider和BIRD等各种数据集的上下文中进行了广泛的探索。但是,Text2SQL主要关注具有直接关系等效项的查询,并且经常难以处理需要外部知识或复杂推理的查询,而TAG旨在解决这些问题。
- RAG:扩展知识,但还不够:检索增强生成(RAG)通过从知识库中检索相关信息来回答问题,从而扩展了LLM的功能。虽然RAG可以整合外部知识,但它通常依赖于简单的点查找,并且可能无法充分利用数据库系统的计算能力进行复杂查询。TAG通过将LLM集成到数据库查询过程本身来解决这个问题,从而允许在自然语言理解和结构化数据检索之间进行更复杂的交互。
- 对半结构化数据的NL查询:处理真实世界:对半结构化数据的自然语言查询的研究探讨了结构化数据库元素与文本字段等非结构化组件之间的交互。STaRK和SUQL等方法解决了这一领域的挑战,专注于检索和语义解析技术。TAG通过提供更通用的框架来补充这项研究,以便在统一的查询方法中处理结构化和非结构化数据。
- 代理数据助手:数据交互的未来?:最近的工作探索了LLM代理作为数据助手的概念,能够与数据库和其他工具交互以执行复杂的任务。虽然TAG目前被定义为单轮交互,但未来的研究可以将其扩展到多轮次的代理场景,其中LLM与用户和数据库进行对话,以迭代优化查询和答案。
TAG:数据理解的新篇章
主要发现:TAG的优势和潜力
我们对TAG模型的探索及其评估产生了几个关键发现:
- 卓越的准确性:TAG在回答数据库上的复杂自然语言问题方面始终优于传统的Text2SQL和RAG方法,尤其是那些需要外部知识或语义推理的问题。这凸显了TAG统一方法的价值,它结合了LLM和数据库系统的优势。
- 处理不同的查询类型:TAG可以处理各种查询类型,从简单的点查询到涉及对数据进行汇总、排名或复杂推理的复杂聚合查询。
- 适应不同的数据模型:TAG足够灵活,可以处理结构化、非结构化和半结构化数据,使其适用于各种真实场景。
- 高效的查询执行:通过利用数据库系统的功能,TAG确保高效的查询执行,即使对于需要分析大量数据的复杂问题也是如此。
- 未来进步的潜力:TAG为在查询合成、基于LLM的运算符集成和答案生成方面开发更复杂的技术开辟了令人兴奋的研究机会。
未来研究方向:拓展TAG的视野
虽然TAG显示出巨大的前景,但未来的研究有几种途径:
- 多轮交互:扩展TAG以处理多轮对话,其中LLM可以迭代地与用户和数据库交互,以优化查询和答案。
- 解释生成:增强TAG为其答案提供解释,提高透明度和用户信任度。
- 处理歧义和不确定性:在TAG中开发强大的机制来处理数据中的模糊查询或不确定信息。
- 优化基于LLM的运算符:探索数据库查询执行中基于LLM的运算符的有效实现和优化。
- 基准测试和评估:创建更全面的基准来评估TAG在更广泛的任务和数据模式上的表现。
参考文献
[1] Text2SQL is Not Enough: Unifying AI and Databases with TAG. arXiv:2408.14717.
[2] Introduction to AI and ML in BigQuery
[3] https://ai.meta.com/blog/meta-llama-3-1/
[4] Open-Domain Question Answering Goes Conversational via Question Rewriting
[5] Spider2-V: How Far Are Multimodal Agents From Automating Data Science and Engineering Workflows? arXiv:2407.10956
## 推荐阅读
1. DeepSeek-R1的顿悟时刻是如何出现的? 背后的数学原理
2. 微调 DeepSeek LLM:使用监督微调(SFT)与 Hugging Face 数据
3. 使用 DeepSeek-R1 等推理模型将 RAG 转换为 RAT
4. DeepSeek R1:了解GRPO和多阶段训练
5. 深度探索:DeepSeek-R1 如何从零开始训练
6. DeepSeek 发布 Janus Pro 7B 多模态模型,免费又强大!
本文由mdnice多平台发布
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。