趋近智
如你所知,对高质量数据的需求是现代大型语言模型开发的一个显著特点。当真实数据稀缺、昂贵或受隐私限制时,合成数据生成提供了一个实用的替代方案。本节概述了为大型语言模型创建人工数据的多种方法。这些方法涵盖了从简单的基于规则的系统到复杂的生成模型等不同种类。了解这些类别将有助于你为特定的大型语言模型项目选择合适的技术,无论是用于预训练还是微调。
合成数据生成方法大致可分为几类,每类都有其自身的技术、优点和需要考虑的事项。
常见合成数据生成方法的分类。
下面我们将详细介绍这些类别。
基于规则的方法是指利用预定义的规则、语法、模板或算法来生成文本。这些方法是数据生成中较为传统的技术,但在需要对输出结果有高精度和强控制时,它们仍然适用。
这种方式采用带有占位符的结构化模板,这些占位符通过程序或从列表中填充值。例如,要生成客服问题,你可以使用这样的模板:“我的[产品名称]的[功能]有问题。” [product_name]和[feature]将从预定义列表中填充。上下文无关语法(CFG)可以定义更复杂的句子结构,从而实现更广泛但仍受控的生成句子种类。
基于规则的系统常用于为高度特定的任务启动数据集、生成代码,或创建模仿API响应的JSON对象等结构化数据表示。
数据增强从现有的真实文本数据集开始,应用转换来创建新的合成样本。目标是增加数据集的大小和多样性,而无需从头开始创建全新内容。
这种技术涉及将源语言(例如英语)的句子翻译成一种或多种目标语言(例如德语、西班牙语),然后再翻译回源语言。回译后的句子通常保留了原始含义,但使用了不同的措辞或句子结构。
专门的转述模型经过训练,专门用于改写输入文本,同时保持其语义内容。这些模型可以是经过转述任务微调的神经网络。
这些是对文本进行的更简单、通常基于算法的转换:
同义词替换:随机将词语替换为其同义词(例如,“big”替换为“large”)。需要注意,并非所有同义词都适用于所有语境。
随机插入/删除:添加或删除词语。删除可以缩短句子,而插入可以添加填充词。
词语/句子重排:改变句子内词语或段落内句子的顺序。这更具风险,因为它很容易破坏连贯性和语法。
优点:
缺点:
基于模型生成采用统计模型或更普遍的神经网络模型来创建合成文本。这些模型从大量文本数据中学习模式,然后根据这些学习到的模式生成新的文本样本。
过去曾使用N-gram语言模型。N-gram模型根据前n−1个词预测下一个词。虽然是基础性的,但它们在捕获长距离依赖和生成高度连贯、新颖文本方面的能力有限。
在Transformer模型占据主导地位之前,曾研究其他神经网络架构用于文本生成:
生成对抗网络 (GANs):包含一个生成器负责创建文本,和一个判别器负责区分合成文本和真实文本。由于采样过程不可微等问题,为文本等离散数据训练GAN一直具有挑战性。
变分自编码器 (VAEs):学习文本的压缩潜在表示,然后从这个潜在空间解码以生成新句子。它们可以产生多样文本,但有时缺乏其他方法的清晰度或流畅性。
优点:
缺点:
这是目前功能强大且应用广泛的方法。大型语言模型在海量文本语料库上预训练,本身就是出色的合成数据生成器。它们可以通过提示或微调来生成用于多种用途的文本。
零样本或少样本提示:你向大型语言模型提供自然语言指令(提示),可能带有一些示例,然后它会生成遵循该指令的文本。例如,“为一台虚构的咖啡机写一篇产品评论,强调其易用性和快速冲泡时间。”
自我指令生成及其变体(例如,Evol-Instruct):这种技术涉及让大型语言模型生成新指令,然后让相同或另一个大型语言模型为这些指令生成响应(或输入-输出对)。这创建了一个反馈循环,用于生成多样化的遵循指令数据集。例如,一个大型语言模型可能首先生成任务“用简单的语言解释光合作用的原理”,然后生成一个适当的解释。
用于生成的微调:一个较小、针对特定任务的大型语言模型可以在种子数据集(可以是真实的或部分合成的)上进行微调,然后用于生成更大体量的相似数据。
优点:
缺点:
这些方法涉及对现有数据进行小幅修改,通常是为了增强隐私、提高稳定性,或创建特定类型的训练样本。
数据掩码:识别并将敏感信息(如姓名、地址或专有代码)替换为通用占位符(例如,[人名]、[地点])。这对于创建保护隐私的数据集很重要。
数据扰动:微调文本中的数值、日期或其他元素。例如,将价格从“19.99”更改为“20.05”。这有助于提高模型对微小输入变化的适应性。
Token掩码/损坏:随机掩盖或损坏句子中的token,这可用于训练模型完成文本填充或去噪等任务。
优点:
缺点:
需要注意的是,这些方法并非总是单独使用。通常,最有效的合成数据生成流程会结合多种技术。例如,你可以使用大型语言模型生成文本的初始草稿,然后应用基于规则的系统以确保满足特定限制或插入特定实体。数据增强可以应用于大型语言模型生成的数据集,以进一步增加其规模和多样性。
选择合成数据生成方法或其组合方式,很大程度上取决于以下因素:
在学习本课程的过程中,你将看到这些方法的更多详细介绍,特别是它们如何应用于大型语言模型的预训练和微调,以及它们实现的实际考虑事项。后续章节将提供实践示例,并更细致地介绍那些影响大的技术,尤其是那些涉及大型语言模型作为生成器的技术。
简洁的语法。内置调试功能。从第一天起就可投入生产。
为 ApX 背后的 AI 系统而构建
这部分内容有帮助吗?
© 2026 ApX Machine Learning用心打造