论文研读系列——“TabuLa: Harnessing Language Models for Tabular Data Synthesis”

TabuLa: Harnessing Language Models for Tabular Data Synthesis

arxiv [Submitted on 19 Oct 2023]

链接:arXiv:2310.12746

代码:https://github.com/zhao-zilong/tabula

摘要

作者开发了Tabula,这是一种创建虚假但真实的数据表的新方法,它有助于保护私人信息的安全,同时仍允许公司像处理真实数据一样处理数据。这种方法很重要,因为欧洲的GDPR等法律使企业难以使用他们收集的真实数据,这促使他们在不违反隐私规则的情况下寻找其他使用数据的方式。Tabula 之所以特别,是因为它使用语言模型来制作这些数据表,类似于某些 AI 理解和生成人类语言的方式,这是该领域的一种新方法。作者想方设法更快地教导Tabula,使其更灵活地处理不同类型的数据,从而使Tabula变得更好,与旧方法相比,这是一个很大的改进。他们的实验表明,Tabula可以快速准确地制作数据表,使其成为需要数据的企业的有用工具,而不会危及人们的隐私。

1 INTRODUCTION(引言)

包括教育平台和旅行社在内的许多组织从网络上收集了大量的表格数据。这些数据集通常用于各种商业应用,如客户细分和动态产品定价。然而,自从欧洲通用数据保护条例(GDPR)实施以来,数据在欧洲市场的可访问性已大大受到限制。例如,旅行社现在被要求在旅行结束后三个月内从他们的网站上删除乘客旅行信息。由于表格数据是一种主要的数据格式,表格数据合成已成为一个关键的研究领域,旨在在保护隐私和保密性的同时生成逼真的数据。先前的研究已经使用生成对抗网络(GANs)、变分自编码器(VAEs)和扩散模型等方法探讨了这个话题。在这一领域的最新技术方法利用了大型语言模型(LLMs)来有效和高效地解决表格数据合成的挑战。

与之前的技术相比,LLMs在表格数据合成方面提供了两个主要优势:(1) LLMs的令牌化过程完全基于文本,消除了为几乎所有基于GAN和扩散模型的表格数据合成器预定义列数据类型(如分类或连续)的需要;(2) 完全基于文本的令牌化方法还解决了在使用one-hot编码处理高维数据时遇到的维度爆炸问题。然而,这些尖端技术也有它们自己的局限性,特别是在训练效率和保持跨列关联方面。GReaT框架是这类基于LLM的方法之一,由于其收敛速度慢,需要长时间的训练。根据报告,要达到与CTGAN相似的合成数据质量,CTGAN的1分钟训练作业需要GReaT超过9小时。REaLTabFormer是另一种基于LLM的表格数据合成器。为了减少不相关令牌的生成,REaLTabFormer采用固定集的词汇表来限制令牌化过程中的令牌种类。但它对数值的编码通过逐位编码数字打破了数字的整体性。这可能会改变数值与其他列之间的跨列关联。它还延长了令牌序列的长度,导致训练时间增加。

为了应对这些挑战,作者引入了一种新方法——基于大型语言模型框架的表格数据合成器Tabula。Tabula的主要目标是加快基于LLM的表格数据合成任务的收敛速度。作者通过四个关键特性实现了这一点:(i) 重新评估用于数据合成的预训练NLP模型。作者的工作挑战了将预训练的自然语言处理(NLP)模型(如GPT-2)作为表格数据合成起点模型的传统用途。相反,作者主张使用随机初始化的语言模型进行表格数据合成。这种战略选择使模型能够更快地适应表格数据合成任务的需求。(ii) 为表格合成定制基础模型。作者深入研究创建专门针对表格数据合成的复杂性定制的基础模型。与通常依赖预训练模型的方法不同,他们的新方法涉及从头开始初始化一个基础模型,并针对表格合成任务进行优化。通过这样做,作者释放了一个为表格数据构建的模型的固有优势,该模型从头开始构建,用于表格数据。(iii) 令牌序列压缩。为了训练LLMs进行表格数据合成,关键是要捕捉不同列之间以及分类值与其他列值之间的相互作用和关联。列名和分类值主要作为这些关系的指示。鉴于一个单一的令牌就足以表示这样的指示,作者选择将所有列名和分类值压缩成一个令牌。与此同时,在表到文本的转换过程中,作者简化了先前算法中使用的术语"X is Y"(其中’X’表示列名,'Y’代表它的值)为"X Y",以进一步减少令牌序列长度。这些令牌长度的减少不仅显著减少了训练时间,而且还增强了模型在训练期间有效学习和表示这些重要关系的能力。(iv) 定制的令牌填充策略。为了在训练批次中实现一致的令牌序列长度,作者引入了一种新颖的令牌填充策略,即中间填充,专门为表格数据表示设计。与传统的方法不同,将填充令牌放置在序列的开始或结束,作者的方法在序列本身中策略性地引入填充令牌。这种方法确保原始数据中同一数据列中的特征在新编码的令牌序列中保持相同的绝对位置。这种策略通过改善LLMs对表格数据的表示,从而提高合成质量。

作者的算法在6个常用的机器学习数据集上进行了广泛的评估,包括分类和回归任务。结果表明,随机初始化的语言模型的性能优于预先训练好的作为表格数据合成起点的模型。同时,作者展示了一个平板模型,以前微调的表格数据合成,可以作为新的表格数据合成任务的坚实基础。结果还表明,与基于llms的SOTA合成器相比,作者的标记序列压缩方法帮助Tabula平均减少了46.2%的训练时间,同时获得了更好的合成质量。此外,研究结果表明,作者的新型填充方法比传统的左右填充具有明显的优势。这种设计为在同一训练批中对齐标记序列长度的填充,显著提高了合成过程中表格数据表示的整体有效性和效率。

本研究的主要贡献可以总结如下: (1)强调了一个反直觉的结果,即随机初始化的语言模型比训练良好的语言模型收敛得更快。作者将其归因于不同的任务:表格合成和NLP。(2)设计一种有效的微调策略,重复利用之前训练过的合成模型,作为新的合成任务的滚动新基础,以提高合成质量。(3)通过使用单个令牌表示列名和分类值来压缩令牌序列,以减少模型训练开销和训练时间。(4)提出了一种针对表格数据表示的细微差别而专门设计的新型标记填充策略。

2 RELATED WORK(相关工作)

已经出现了多种合成表格数据的方法。概率模型如Copulas使用Copula函数来模拟多变量分布。但是,高斯Copula不能对分类数据进行建模。Synthpop通过逐变量地拟合一系列回归模型,并从相应的预测分布中抽取合成值来进行操作。由于它是逐变量进行的,训练过程在计算上非常密集。贝叶斯网络被用来合成分类变量,但它们缺乏生成连续变量的能力。

最近,深度生成模型如GANs、VAEs和扩散模型已经吸引了对表格数据合成的关注。Table-GAN引入了一个辅助分类模型以及鉴别器训练,以增强合成数据中的列依赖性。CT-GAN、CTAB-GAN和CTABGAN+通过引入多种数据类型和分布的预处理步骤来改善数据合成,这些步骤将数据编码为GAN和VAE训练的合适形式。CT-GAN设计的条件向量后来由CTAB-GAN+改进,以减少不平衡连续列上的模式崩溃问题。IT-GAN采用神经常微分方程(NODEs),它可以通过控制GAN训练期间真实记录的负对数似然来调整生成质量。FCT-GAN利用傅里叶网络更好地捕捉数据列的全局相关性。TabDDPM和SOS使用扩散模型进行表格数据合成。TabDDPM分别合成分类和连续数据,这不能很好地保持分类和连续列之间的相关性。SOS专门设计用于对表格数据的少数类别进行过采样。上述算法都不允许在分类和连续值的条件下生成数据。此外,除了Table-GAN之外,所有上述方法都使用one-hot编码对分类数据进行编码,因此很难合成具有高维分类列(如"邮政编码")的表格数据。

GReaT和REaLTabFormer是基于LLMs的最新表格数据合成器。它们目前建立在GPT-2上。通过在训练期间排列特征顺序,GReaT能够对任何给定的特征子集进行数据条件采样,并采样其余的特征。REaLTabFormer提供了合成关系表的功能。由于GReaT和REaLTabFormer都采用了完全基于文本的令牌化,它们不受编码高维分类列所产生的维度爆炸的影响。但它们的主要缺点是训练时间非常长。报告称,对于CTGAN需要1:10分钟的任务,GReaT需要9:10小时。为了解决这个限制,Tabula被精心设计为加快训练过程,而不影响合成质量。

3 MOTIVATION(动机)

正如LLMs在各种来源的广泛文本数据上进行了预训练,作者认为可以通过微调迅速使它们适应新的主题。这种初步训练使LLMs能够掌握一般的语言模式、语法结构,甚至基本的常识推理。当我们对特定任务或领域进行LLMs的微调时,我们实际上是在这个基础上构建,这一过程显著加快了学习曲线。按照同样的思路,为合成表格数据而预训练的LLMs也应该对后续任务有利。基于这个概念,作者制定了以下动机案例研究。

在这里插入图片描述

作者首先让GReaT对一个随机初始化的DistilGPT-2模型进行微调(即GPT-2的蒸馏版本),用于合成Adult、Covtype、Intrusion、King和Insurance数据集(见表1了解数据集描述),并保存每个微调后的模型。将表格转换为文本格式以训练语言模型的过程采用了GReaT框架。然后,作者分别使用微调后的模型、随机初始化的DistilGPT-2模型和预训练的DistilGPT-2模型作为基础模型,对Loan数据集进行100个周期的微调(100个周期对应于15500次训练步骤,批量大小为32)。图1显示了每种基础模型微调损失的演变。带有"NONE"和"DistilGPT-2"图例的曲线分别代表了使用随机初始化的DistilGPT-2模型和预训练的DistilGPT-2模型进行微调的情况。观察最终的训练损失,从默认预训练的DistilGPT-2模型开始微调得到了最差的结果。这种差异可以归因于DistilGPT-2模型的训练主要针对NLP任务,其训练数据主要来源于书籍,因此数据模式与表格数据结构相差甚远。有趣的是,从随机初始化的DistilGPT-2模型开始的微调过程显示出比从默认预训练的DistilGPT-2模型开始更快的收敛速度。我们推测,对于表格数据合成任务,最好从随机权重而不是针对其他任务优化的权重开始。实际上,另一个有趣的观察是,在表格数据合成任务上预训练的模型始终展现出比随机初始化的DistilGPT-2模型更优越的收敛速度。

在这里插入图片描述

不同的数据集对后续任务有不同的影响,其中Intrusion数据集预训练的模型在所有数据集中产生了最有利的结果。值得注意的是,为了在训练结束时实现"NONE"和"DistilGPT-2"曲线的同等性能水平,"Intrusion"曲线只需要总共15500次训练步骤中的3000和2000步。值得注意的是,"DistilGPT-2"曲线代表了GReaT设置的默认配置。通过在单个表格数据集——特别是Intrusion数据集上进行预训练——从随机初始化的DistilGPT-2模型开始,与标准GReaT方法相比,实现了惊人的87.1%的收敛加速。这些引人注目的结果激发了开发Tabula的动力。

4 TABULA METHOD(Tabula方法)

在本节中,作者首先解释表格数据合成的基础模型选择。接下来,作者讨论如何训练并为新任务重用预训练的语言模型。最后,作者为表格数据合成专门介绍了一种新的令牌填充策略。

4.1 Foundation Model(基础模型)

用于表格数据合成的大型语言模型(LLMs),无论是DistilGPT-2还是GPT-2,其选择取决于可用的计算资源。这些LLMs主要用于自然语言生成。当使用LLMs进行表格数据合成时,Tabula首先将每一行数据转换为一个句子。像GReaT这样的先前工作通过串联短的陈述结构,如“主语,谓语,宾语”——具体来说,就是“<列名> 是 <列值>”来构建句子。尽管GReaT旨在将表格数据塑造成类似于自然语言的句子结构,但很明显,像"X is Y"这样简洁且重复性强的陈述在用于训练GPT-2的训练数据集中(例如BookCorpus)可能并不常见。鉴于预训练领域和任务领域之间的差异,在此预训练模型上的微调可能并不像预期的那样高效。基于这一观察,我们建议采用语言模型的结构框架,而不是依赖于预训练模型权重。这种方法的理由是,尽管转换后的文本遵循自然语言句子的结构,但它形成了一种独特且专门的模式。由GPT-2定义的变换器架构可以有效地捕捉这种模式,而随机初始化的模型与在书籍文本内容上广泛训练过的模型相比,可以更快地收敛。

在这里插入图片描述

4.2 Re-usability of Pre-trained Model(预训练模型的可重用性)

回想一下,GReaT通过将列"X"中的每个值"Y"转换为文本术语"X is Y"来进行模型训练。在Tabula中,作者简化了这个术语为"X Y",下一部分将详细说明原因。当我们使用这种格式训练模型时,模型就会熟悉这种模式。随后训练的模型然后可以作为新任务的基础模型,因为它识别出这种模式而适应得更快。作者在实验部分的测试显示,尽管大多数在表格数据上预训练的模型在新的表格数据合成任务中的表现超过了随机初始化的语言模型,改进的程度是不同的。这些模型之所以表现出色,是因为它们熟悉"X Y"模式。该模式不仅意味着文本顺序,还意味着变量数据类型。鉴于文本序列在所有数据列中保持一致,对于基础模型来说,在"X"和"Y"的文本、符号、整数、小数等广泛的数据类型上进行预训练是至关重要的。然而,改进的范围并非无限。掌握了模式之后,为了区分X和Y之间,或者X、Y和其他列值之间的关系,模型需要针对新任务进行进一步的调整。

4.3 Token Sequence Compression(令牌序列压缩)

为了优化训练速度,最小化令牌序列长度至关重要。Tabula采用以下预处理技术:(1) 列名和分类值的令牌长度简化:评估所有列名和分类列中的值的令牌长度。简化这些名称和值,确保它们被令牌化为单个令牌。列名和分类值可以缩写或用同义词替换。如图2所示,在将表格转换为句子时,单个符号足以表示列名和类别值。这允许LLM将它们与其他值关联起来。基本上,一个指标就足够。重要的是确保任何缩写或替换在表格中保持一致,使模型之前学到的相关性对后续合成任务仍然相关。(2) 简化的句子转换:虽然GReaT使用"X is Y"(其中’X’表示列名,'Y’代表它的值)的格式将表格转换为文本,Tabula将其简化为"X Y",省略了"is"这个词,如图2所示。GReaT选择"X is Y"是因为它的基础模型DistilGPT-2在其训练数据中经常遇到这种结构,使其更容易学习。然而,由于Tabula在没有预先知识的情况下运行一个随机初始化的DistilGPT-2模型,更简洁的"X Y"格式不仅更有效,而且可能由于其简洁性而更易于学习。通过实施这两种预处理策略,与早期方法相比,令牌序列长度可以大幅减少。

4.4 Middle Padding(中间填充)

GReaT建议在模型训练期间排列特征顺序。这允许模型后来在任何给定的特征子集上进行条件生成以生成其余部分。但这增加了模型收敛的难度,因为特征顺序是随机的。为了解决这个问题,在不需要灵活的条件生成并且训练期间省略特征排列的情况下,作者通过一种新的令牌填充策略增强了Tabula算法。

REaLTabFormer在训练阶段不排列特征顺序。它采用了使用固定词汇集的令牌化方法。这种令牌化可以防止模型生成不相关的令牌,但它的数值编码是逐位进行的,这破坏了值的整体性。它为模型捕捉数值与其他数据列值之间的相关性创造了额外的障碍。

默认的GPT-2分词器提供2种填充模式:(1) 右填充和(2) 左填充。右填充是默认使用的。图3显示了左填充和右填充的过程。当同一批次中的句子在分词后变为不同的序列长度时,分词器需要向所有较短序列的右侧或左侧添加填充令牌(即图3中的"50256"),以使它们长度相等。对于自然语言来说,右填充或左填充已经足够,因为对于一个令牌,它与前面的或后面的令牌有关系是合理的。在不同的句子中,特定的模式并不一致存在。然而,通过作者当前的表格转换方法,不同的句子现在共享一个一致的令牌模式。结果,序列中每个令牌的绝对位置具有结构上的重要性。在图3所示的例子中,如果采用右填充,子令牌序列"7129, 318"(代表文本"Age is"的令牌化)的绝对位置在两个令牌序列之间发生了变化。相反,如果使用左填充,子令牌序列"19221, 560, 318"(代表文本"Salary is"的令牌化)的绝对位置在两个令牌序列之间不一致。这种不对齐使得这两种填充策略对表格数据都不适用。因此,作者提出了中间填充方法。作者的方法不仅在单个数据批次内填充令牌序列,而且还确保整个数据集中令牌序列长度的对齐。作者首先通过简化文本表示来实现这一点,如图3所示。对于任何给定的句子,作者只保留主要的列名。随后的数据列只包含数据值,不包含列名,并且列值之间没有空格。然后,我们按列分割数据表示,并且分别对每一列进行分词。对于每一列,我们找到该列特定的令牌子序列的最长长度。然后在训练过程中,我们一致地将每个子序列填充到这个预先确定的长度。保留初始列名有双重目的:它作为数据生成的起始提示,并解决了可能缺少的初始列值的问题。我们只保留后续列的数据值的原因是,由于我们一致地将每个列数据填充到统一长度,并且数据列顺序对每个数据行都保持静态,我们可以通过每个列的绝对位置来解码生成的令牌。我们不再需要它们的列名作为指示符了。这种方法确保了每个列的令牌子序列在所有令牌序列中始终保持其绝对位置,同时减少了令牌长度。这种改进有助于模型更快地识别模式,从而减少了训练时间。

在这里插入图片描述

5 EXPERIMENT(实验)

对该小节进行简单总结如下:

5.1 Experimental Setup(实验设置)

数据集选用六个公开的机器学习数据集,包括分类和回归任务。预处理是对部分数据集进行抽样,以适应计算资源限制。基线算法与五种先进的表格数据合成算法进行比较。实验环境在高性能GPU和CPU的Linux系统上执行。所有算法使用PyTorch实现,遵循原始论文的参数设置。训练周期根据数据集规模调整,以确保算法收敛。Tabula配置使用针对特定数据集(Intrusion)训练后的基础模型。每个实验重复三次,以确保结果的可靠性。

5.2 Evaluation Metrics(评估指标)

通过训练多种机器学习模型评估合成数据的质量,使用F1分数和MAPE作为性能指标。计算真实与合成数据集间的相关性矩阵,使用皮尔逊相关系数和不确定性系数。量化真实与合成数据集相关性矩阵的差异,作为合成质量的度量。结合机器学习模型性能和统计相似性,全面评估合成数据集的质量。

5.3 Result Analysis(结果分析)

在基础模型选择上,Tabula在所有数据集上均优于其他基线方法,显示随机初始化模型的优越性。在特定数据集上微调后的基础模型,提高了Tabula在新任务中的性能。Tabula简化令牌序列,减少了训练时间,提高了合成数据质量。Tabula的中间填充策略在没有特征排列的情况下,提高了模型的表征能力。Tabula在某些数据集上合成数据的机器学习效用超过了原始数据。连续在不同数据集上微调,基础模型性能提升,但存在性能改进的上限。Tabula显著减少了训练时间,提高了训练效率。Tabula生成的合成数据在机器学习和统计相似性方面均表现出色。与其他算法相比,Tabula在多个数据集上展现出优越的性能。实验结果验证了Tabula在提高训练效率和合成数据质量方面的有效性。

5.4 Further improvements to foundation model(进一步改进)

通过在一系列数据集上迭代微调,基础模型得到了进一步的改进,显著提高了合成数据的质量。尽管迭代微调提升了性能,但最终达到了一个性能饱和点,表明模型改进存在极限。经过迭代微调的模型不仅在特定数据集上表现良好,而且在其他数据集上也展现出了较好的泛化能力。通过优化令牌序列和填充策略,Tabula进一步减少了训练时间,提高了算法效率。通过实验验证了Tabula算法的改进措施,包括基础模型的选择、令牌序列压缩和填充策略的优化。

6 CONCLUSION(结论)

在本文中,作者介绍了一种新颖的表格数据合成算法Tabula,该算法基于大型语言模型(LLMs)。作者的研究直接解决了与基于LLM的表格数据合成相关的一个基本挑战——即训练时间长的问题。首先,作者质疑了针对自然语言处理优化的预训练语言模型是表格数据合成的理想选择的观点。相反,作者主张使用随机初始化的模型作为更有效的起点。其次,作者展示了通过在连续的表格数据合成任务上迭代微调语言模型的潜力。这种不断发展的微调模型成为后续任务更强大的基础。第三,作者引入了一种令牌序列压缩方法来简化训练数据的表示。这种方法不仅以更简洁的方式表示数据,还通过降低数据复杂性来增强模型性能。最后,作者提出了一种中间填充策略,以增强在训练期间没有特征排列的场景。这种策略不仅优于DistilGPT-2提供的默认令牌化填充,而且在固定特征顺序的场景中也超过了专用方法REaLTabFormer。总体而言,Tabula在保持一致产生更高质量合成数据的同时,平均减少了46.2%的训练时间。

最后感谢你看到这里,以上观点均为本人对原论文的个人理解,仅作个人学习使用,如有错误或侵权,麻烦联系我,本人定修改或删除。

祝你天天开心,多笑笑。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值