论文粗读系列-7: TabuLa

论文粗读系列-7

TabuLa: Harnessing Language Models for Tabular Data Synthesis

1.简介

arxiv [Submitted on 19 Oct 2023]

链接:[2310.12746] TabuLa: Harnessing Language Models for Tabular Data Synthesis (arxiv.org)

代码:GitHub - zhao-zilong/Tabula: Official git for “TabuLa: Harnessing Language Models for Tabular Data Synthesis”

鉴于表格数据在工业中的普遍使用以及对数据隐私和安全的日益关注,表格数据合成成为一个关键的研究领域。最近最先进的方法表明,可以采用大型语言模型(llm)来生成真实的表格数据。由于llm将表格数据预处理为全文,因此它们的优点是避免了与onehot编码高维数据相关的维数问题。然而,它们的训练时间长,在新任务上的可重用性有限,阻碍了它们取代现有的表格生成模型。本文提出了一种基于语言模型结构的表格数据合成器Tabula。通过Tabula,作者展示了在表格数据合成的背景下使用为自然语言处理(NLP)设计的预训练语言模型的固有局限性。作者的调查深入研究了专门为表格数据合成量身定制的专用基础模型的开发。此外,作者提出了一种token序列压缩策略,在保持合成数据质量的同时显著减少了训练时间。此外,作者还引入了一种新的标记填充方法,该方法可以在整个训练批中更好地对齐标记序列。在六个数据集上进行的大量实验表明,使用语言模型结构而不加载训练良好的模型权重可以为表格数据合成提供更好的起始模型。此外,以前在其他表格数据上训练过的Tabula模型可以作为新的表格数据合成任务的优秀基础模型。此外,token序列压缩方法大大减少了模型的训练时间。此外,所提出的填充方法优于传统的左填充和右填充策略。结果表明,与当前基于llms的最先进算法相比,Tabula平均每个epoch减少46.2%的训练时间,并且始终实现更高的合成数据效用。

llm是一种好的方法,可以避开连续数据与离散数据的复杂嵌入问题

2.方法

GReaT将列“X”中的每个值“Y”转换为用于模型训练的文本术语“X is Y”。在Tabula中,作者将此术语简化为“X Y”。当使用这种格式训练模型时,模型就会熟悉这种模式。随后训练的模型可以作为新任务的基础模型,因为它识别模式而适应得更快。作者的测试表明,虽然大多数在表格数据上预训练的模型在新的表格数据合成任务中优于随机初始化的语言模型。改善的程度各不相同。这些模型出色的主要原因是它们熟悉“X - Y”模式。模式不仅指文本顺序,还指变量数据类型。鉴于文本序列在所有数据列之间保持一致,对于基础模型来说,为“X”和“Y”在广泛的数据类型(例如,文本、符号、整数、十进制等)上进行预训练是至关重要的。然而,增强的范围并不是无限的。在掌握模式之后,为了识别X和Y之间的关系,或者X、Y和其他列的值之间的关系,模型需要进一步调优以适应新的任务。

在这里插入图片描述

  • Token Sequence Compression

为了优化训练速度,最小化token序列长度至关重要。Tabula采用以下预处理技术:

(1)列名和分类值的token长度缩减:计算分类列中所有列名和值的token长度。简化这些名称和值,以确保它们仅被标记为一个标记。列名和分类值可以缩写或用同义术语代替。如图所示,在将表转换为句子时,一个符号就足以表示列名和类别值。这允许LLM将它们与其他值关联起来。从本质上讲,一个指标就能奏效。重要的是要确保任何缩写或替换在表之间是一致的,从而使模型先前学习到的相关性与随后的合成任务相关。

(2)简化的句子转换:GReaT使用“X is Y”格式(其中“X”表示列名,“Y”表示其值)将表格转换为文本,而Tabula将其简化为“X Y”,省略了“is”,如图所示。GReaT选择“X是Y”源于它的基础模型蒸馏gpt -2,它经常在训练数据中遇到这种结构,使其更容易学习。然而,由于Tabula在没有先验知识的随机初始化的蒸馏器-2模型上运行,因此更简洁的“X - Y”格式不仅更有效,而且由于其简洁,可能更容易学习。通过实现这两种预处理策略,与以前的方法相比,token序列长度可以大大减少。

  • Middle Padding

GReaT提出在模型训练过程中对特征顺序进行排列。这允许模型稍后在任何给定的特征子集上进行条件反射,以生成剩余的部分。但由于特征顺序的随机性,增加了模型收敛的难度。为了解决这个问题,在不需要灵活条件生成并且在训练过程中省略特征排列的情况下,作者用一种新的token填充策略增强了Tabula算法。REaLTabFormer在训练阶段不改变特征顺序。它采用了固定集词汇表的标记化方法。这种标记化可以避免模型生成不相关的标记,但是它对数值的编码是逐个数字的,这会破坏整个值。它为模型捕获数值与来自其他数据列的值之间的相关性创建了一个额外的屏障。

默认的GPT-2标记器提供了2种填充模式:(1)右填充和(2)左填充。默认情况下使用右填充。图显示了左右填充的过程。当同一批中的句子标记为不同的序列长度时,标记器需要在所有较短序列的右侧或左侧添加填充标记(即图中的“50256”),以使它们具有相同的长度。对于自然语言,右填充或左填充就足够了,因为对于一个标记,它似乎与它的前一个或后一个标记相关。在不同的句子中,特定的模式并不一致。但是,通过使用我们当前的表转换方法,不同的句子现在共享一致的标记模式。因此,序列中每个记号的绝对位置具有结构意义。在图所示的示例中,如果采用右填充,子标记序列“7129,318”(表示文本“Age is”的标记化)的绝对位置在两个标记序列之间移动。相反,如果使用左填充,子标记序列“19221,560,318”(表示文本“Salary is”的标记化)的绝对位置不会在两个标记序列之间对齐。这种不对齐使得这两种填充策略都不适合表格数据。因此,作者提出了中间填充法。

在这里插入图片描述

作者的方法不仅仅是在单个数据批中填充标记序列。相反,我们确保token序列长度在整个数据集中保持一致。作者首先通过简化文本表示来实现这一点,如图所示。对于任何给定的句子,作者只保留主列名。后续的数据列只包含数据值,不包括列名,列值之间没有空格。接下来,作者按列对数据表示进行分段,并分别对每个列进行标记。对于每个列,作者找到特定于该列的令牌子序列的最长长度。然后在训练期间,始终将每个子序列填充到这个预先确定的长度。保留初始列名称有两个目的:它充当数据生成的起始提示符,并减轻可能缺少初始列值所引起的问题。作者只保留以下列的数据值的原因是,由于始终将每个列的数据填充到统一的长度中,并且数据列的顺序对每个数据行保持静态,因此可以根据每个列的绝对位置解码生成的令牌。作者不再需要它们的列名作为指示符。这种方法确保与每个列相关的令牌子序列在所有令牌序列中始终保持其绝对位置,同时减少令牌长度。这种细化有助于模型更快地识别模式,从而减少训练时间。

3.狗头保命

以上观点均为本人对于原文的粗鄙理解,仅作为个人学习笔记,如有错误烦请指正,如有侵权请联系我删除。

不摆了,加训!

  • 18
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值