谈LLM的数据工程,搞大模型等于洗数据?

在过去的一年中,关于大模型的研究揭示了一个不好的现象:许多人认为,只要向大模型输入大量数据即可,而不顾数据的噪声和质量。在计算机视觉(CV)时代,每张图片都需要人工标注,无论是分类、检测还是分割任务,标注数据的准确率必须达到97%以上。计算机视觉的先驱李飞飞通过人工标注了ImageNet 300M数据集,才使得她的研究走进了大众视野。这一过程充分说明了“有多少智能就需要多少人工”的道理。

在大型语言模型(LLM)的训练中,数据同样起着至关重要的作用。无论是预训练阶段还是监督微调阶段,有效的数据管理对增强模型性能和提高训练效率都具有重要意义。2023年的实践表明,即使是最强大的模型,如果缺乏领域知识的协同,仍然无法在生产环境中有效运行。

我们先尝试回答以下关键问题:

  1. 基础模型能否完成任务?
    首先需要评估基础模型的能力,看它是否能够满足特定任务的需求。如果基础模型无法胜任,则需要进一步的优化和调整。

  2. 需要什么数据?
    确定完成任务所需的数据类型和质量,包括领域特定的数据、噪声水平和标注准确率等。

  3. 数据从哪里来?
    识别可靠的数据来源,这些数据可以是公开的、合作伙伴提供的,或是通过自主采集获得的。

  4. 增量训练还是SFT,还是知识库?
    决定采用增量训练(Incremental Training)、特殊任务微调(SFT)还是通过构建知识库来提升模型性能。这取决于任务的具体需求和数据的可用性。

  5. 如何构造训练数据集、检索知识库?
    制定数据集和知识库的构建策略,包括数据收集、预处理、标注、分割和存储等步骤。

  6. 推理时能否用这些数据?如何管理这些数据?
    评估在推理阶段使用这些数据的可行性,并制定数据管理策略,确保数据在使用过程中的一致性和安全性。


在大模型研发过程中,数据工程的角色至关重要。为了更好地理解和应用这一概念,我们可以将大模型数据工程划分为狭义和广义两个层面。

狭义研发大模型数据工程

狭义上,研发大模型的数据工程可以定义为:依据具体的研发场景与任务,采集相关研发数据,并生成模型预训练语料或微调数据集。这一过程包括以下关键步骤:

  1. 数据采集:从多种来源获取相关数据,包括公开数据集、合作伙伴提供的数据、自主采集的数据等。

  2. 数据预处理:对采集的数据进行清洗、去噪和标准化处理,确保数据质量。

  3. 数据标注:根据任务需求对数据进行标注,以便在训练过程中使用。

  4. 数据集构建:将处理后的数据构建成适合预训练或微调的语料库或数据集。

这种狭义的数据工程关注的是为特定任务生成高质量的训练数据,以提高模型的性能和准确性。

广义研发大模型数据工程

广义上,研发大模型的数据工程不仅包括上述步骤,还涵盖了在增量预训练、SFT(特殊任务微调)、RAG(检索增强生成)和Prompt等不同阶段的数据处理和应用。广义的数据工程可以定义为:依据研发场景与任务,全面处理和应用相关数据,以支持大模型在各个阶段的研发和优化。这些数据可以视为研发资产,具体包括:

  1. 研发资产:高质量的数据是研发的宝贵资产,直接影响模型的性能和应用效果。

  2. RawData:用于各类作业的原始数据,未经过处理或仅进行初步清洗。

  3. 工程规范积累:在数据处理和应用过程中形成的规范和标准,指导未来的数据工程实践。

在广义的数据工程中,数据处理和应用的范围更加广泛,涉及以下几个方面:

  • 增量预训练:在已有模型的基础上,通过引入新的数据进行增量训练,以提高模型的泛化能力和性能。

  • 特殊任务微调(SFT):针对特定任务,通过微调模型参数,优化模型在特定任务上的表现。

  • 检索增强生成(RAG):结合检索和生成功能,通过实时检索外部数据源,提高生成内容的准确性和相关性。

  • Prompt工程:设计和优化提示词,以引导模型生成更符合需求的输出。


所以,在大模型(LLM)的研发过程中,数据处理的重要性不容忽视。尽管大模型在处理复杂任务方面展现出强大的能力,但事实证明,人工在数据处理中的角色依然不可或缺。

虽然大模型具备强大的自动化能力,但在数据处理环节,人工依然扮演着不可或缺的角色。高质量的数据是模型成功的基础,而这些数据的获取和处理过程,需要大量的人工参与和精细化操作。未来,随着技术的不断进步,自动化工具将会越来越完善,但人工在数据质量控制和模型优化方面的重要性依然不会减少。只有充分结合人工智慧和机器智能,才能在大模型研发中取得更加显著的进步和成果。

请使用浏览器的分享功能分享到微信等