并非所有合成数据都是一样的。就像食材的质量会影响一道菜的最终呈现,合成数据的特性对其在训练大型语言模型时的效用有显著影响。生成大量数据是一回事;而确保这些数据能推动你的LLM取得更好的性能、泛化能力和安全性,则是另一回事。区分高实用性合成数据与普通数字噪音需要了解具体特点。了解这些特性将指导你的生成策略,并帮助你评估所创建或使用的数据集。
相关性与任务对齐
合成数据要有效,必须与其LLM的预期目的相关。
- 预训练方面: 数据应广泛涵盖模型预期学习的知识类型和语言模式。如果预训练一个用于编码的模型,那么合成代码片段、文档和编程问答会比合成诗歌更具相关性(除非诗歌也是目标范畴)。
- 微调方面: 相关性变得更加具体。合成数据必须紧密模仿目标任务的格式、风格和内容。例如,如果对LLM进行客户支持聊天微调,合成数据应包含真实的客户查询和有帮助的客服回复,并以对话轮次格式呈现。不对齐的数据可能误导模型,使其学习到对期望任务无益甚至有害的模式。
多样性
LLM在多样化数据上表现良好。过于狭窄或重复的合成数据集可能导致几个问题:
- 过拟合: 模型可能过于深入地学习合成数据的特定特征,导致无法泛化到未见过的数据。
- 模式崩溃(生成方面): 如果使用LLM生成合成数据,它可能会陷入重复模式,产生相似的输出。当生成过程本身缺乏足够多样性时,这尤其值得关注。
- 泛化能力差: 缺乏接触多样化的语言风格、主题和复杂性,限制了模型处理人类语言丰富性的能力。
高实用性合成数据在多个维度上表现出多样性:
- 语言多样性: 词汇、句式、语气和风格的变化。
- 内容多样性: 广泛的主题和信息范围,特别是对于预训练。对于微调,则是在任务范围内的多样性(例如,问答模型的不同类型问题)。
- 格式多样性: 呈现信息的不同方式,如果适用于任务。
实现多样性通常涉及使用多种生成技术,或精心设计提示和种子来促进变化。
合理性和逼真度
虽然合成数据是人工的,但它通常需要合理才能有用。
- 合理性: 数据应类似于现实中可能出现的数据。它不总是需要与真实数据无法区分,但不应包含明显的荒谬之处或可能混淆模型或教导其错误模式的人工痕迹。例如,合成医学文本即使被简化,也应遵守基本的医学逻辑。
- 逼真度(尤其对于监督任务): 这指的是合成数据的准确性和正确性,特别是对于指令微调等任务。如果生成指令-响应对,合成响应必须准确且恰当地完成合成指令。低逼真度的数据,例如忽略指令或提供事实不正确信息的响应,会严重降低模型性能。
所需的合理性水平可能有所不同。对于某些预训练目标,如果数据仍能提供有用的统计模式,则即使稍微嘈杂或不那么真实的数据也可能是可接受的。对于微调特定行为,通常更高的逼真度是不可或缺的。
可控特性
合成数据的一个显著优势是能够控制其特性。这种控制可用于:
- 减轻偏见: 数据常包含社会偏见。合成数据生成可以旨在减少这些偏见或创建平衡数据集。例如,如果生成涉及职业的文本,可以确保使用性别中立的语言或平衡的代表性。
- 引入期望属性: 你可以有意地为数据赋予特定风格、角色或安全指南。例如,生成始终礼貌的响应,或明确避免某些话题的数据。
- 管理复杂性: 合成数据可以生成不同复杂程度。这种方法对课程学习有用,即模型首先在较简单的例子上训练,然后转向更复杂的例子。
有效控制需要精心设计生成过程,包括提示工程、规则集或种子数据选择。
可扩展性
LLM,尤其在预训练期间,需要海量数据。使用合成数据的一个主要原因是为了克服数据可用性的局限。因此,高实用性合成数据生成方法必须是可扩展的。这意味着:
- 数据量: 生产大量数据的能力。
- 效率: 生成过程在时间和计算资源方面应相当高效。
如果一种方法产生高质量数据,但只能生成极少量或成本过高,那么它对于大规模LLM训练的效用是有限的。
新颖性
尽管合理性通常意味着模仿现有数据模式,但合成数据也能提供新颖性。这意味着生成数据集中稀有或缺失的示例,或涵盖此类场景。
- 边缘情况: 为稀有情况合成数据可以改善模型处理这些不常见输入的方式。
- 创意内容: 对于生成任务,合成数据可以尝试新的组合或风格。
- 未来场景: 在一些专门应用中,合成数据可能用于训练模型应对尚未发生但合理的场景。
新颖性必须与合理性平衡。高度新颖但完全不切实际的数据不太可能带来益处。
数据完整性
高实用性合成数据必须具有良好的数据完整性。这意味着它应具备:
- 一致性: 没有内部矛盾,尤其是在单个数据实例(例如,指令-响应对)内部。
- 格式良好: 符合预期格式(例如,结构化数据的有效JSON,文本的连贯句子)。
- 相对干净: 最小化生成过程中可能对学习有害的噪音或人工痕迹。例如,如果使用LLM生成数据,确保删除“作为AI语言模型...”之类的样板短语,如果不需要的话。
差的数据完整性可能引入阻碍学习或教导模型错误结构模式的噪音。通常需要自动化清洗和验证步骤。
以下图表直观地总结了高实用性合成数据的这些特性:
这是高实用性与低实用性合成数据集的特性得分比较。这些维度上得分越高,通常能带来更有效的LLM训练。
归根结底,合成数据的“效用”是通过其对LLM的性能、行为和训练效率的影响来衡量的。追求这些特性并非要在每个方面都达到完美,因为其中可能存在权衡。例如,最大化新颖性在某些情况下可能略微降低合理性。重要方面是理解这些特点并做出明智决策,以创建有效服务你LLM发展目标的合成数据集。后续章节将提供生成和优化数据的技术,并考虑这些特性。