轻量级LLM实现文本到结构化数据转换
新型训练流程和解码机制使该模型在相同任务中的表现超越了规模更大的基础模型。
SoLM框架
当今生成模型最重要的特性之一是能够接受非结构化、部分非结构化或结构不良的输入,并将其转换为符合特定模式的结构化对象——关系数据库固定模式、文档存储灵活模式、函数签名、API规范等。
大型语言模型如果接收到所有模式规范和处理输入的指令,可以执行此任务。此外,当今大多数LLM都包含专用的JSON模式或结构化输出模式,为用户抽象了部分提示工程。
然而,这种方法存在一些限制。首先是当需要扩展到包含数百万或数十亿记录或请求的数据库时,使用LLM的成本;其次是提示工程的潜在复杂性;第三是内置JSON和结构化输出模式支持的模式复杂性有限。
在最近发表的两篇论文中,我们提出了一种原生方法来解决这个问题,即专门化的轻量级结构化对象语言模型。与通用LLM不同,SoLM经过训练仅生成特定模式中的对象。SoLM的贡献包括一种称为自监督去噪的特殊训练方法,以及在推理时使用的特殊解码方法——置信感知子结构束搜索,可减轻幻觉风险。
在实验中,我们发现SoLM的输出准确性匹配或超过了最先进的LLM,而其成本效率提高了一个数量级。我们还发现,在产品属性生成问题上,当精度固定为90%时,CABS解码方法相对于传统束搜索解码的召回率提高了16.7%。
应用
在论文中,我们将多个看似无关的人工智能/机器学习问题统一在结构化输出框架下。例如,当结构化对象具有多个方面或相互依赖的冗余信息时,就会出现挑战。对象的一个方面可能是自然语言的长描述性文本;其他方面可能是短类型约束的结构化事实。
这些类型的多面对象常见于列表场景(产品、房屋、工作等),其中对象包含描述部分和列出关键属性的部分。SoLM使我们能够生成具有这些不同类型方面的对象,同时确保对象内的相对一致性和与世界知识的绝对一致性。
结构化输出模型的典型用法是向其输入一段非结构化数据,让其生成相应的结构化对象。在论文中,我们还提出将SoLM用作所谓的自再生机器。在这种情况下,我们只需向模型输入已根据模式结构化的对象,并让模型端到端地重新生成它。
这里的任务不再是结构化输入,而是清理、规范化、纠正和/或完成输入并使其自一致。当然,输入可以包括任何组合:已结构化记录和额外非结构化内容,或根据不同模式结构化的记录。SoLM对输入不可知,始终根据目标模式生成干净记录。
自再生机器可以同时解决多个问题:完成缺失事实、纠正错误事实、规范化未规范化事实、完成缺失描述以及纠正描述中的不准确信息。所有这些任务都是相互依赖的,当独立处理时会引入依赖循环(例如,应该从描述中提取事实还是基于事实编写描述?)。自再生以最自然的方式解决了这些依赖关系。
创新
为了训练SoLM模型,我们使用自监督去噪。思路是使用现有数据库中的任何对象样本,向这些对象中引入人工噪声,并训练模型恢复其原始形式。因此,模型学会提高我们输入的任何对象的质量。通过使噪声更加激进——例如,通过完全移除对象的结构或随机打乱标记——我们不仅教会模型提高现有对象的质量,还教会其在完全非结构化输入上操作。
尽管LLM经过训练只是为了生成标记序列中最可能的下一个标记,但在推理时,它们通常使用不同的解码策略来选择输出。最流行的方法之一是束搜索解码,其中模型并行考虑多个候选序列,最终选择具有最高累积概率的序列。(简单地每轮选择最高概率标记——贪婪解码——不能保证在固定轮数内获得最高概率的标记序列。)模型一次考虑的序列数量称为束宽度。
SoLM的输出由一系列键值对组成,其中键是模式中的某种数据类型——比如产品列表模式中的"品牌",值是该类型的值——比如特定产品的品牌。我们还使用特殊标记("
在置信感知子结构束搜索中,键值对而非标记是束搜索的原子组件。键值对的概率可以从LLM对其输出的置信度推断出来。但我们还试验了单独训练的置信度评分模型,该模型将LLM内部层产生的中间表示作为输入。实际上,这种方法比直接依赖模型的置信度得分效果更好。
在论文中,我们展示了具有70亿参数的SoLM模型在事实完整性、事实正确性以及描述内容质量和事实性等指标上,匹配或超越了在更大基础模型上进行的各种提示工程技术。通过CABS解码,我们通过移除解码过程中幻觉产生的事实,进一步提高了事实的正确性。