人工智能数据集建设全流程详解(之五)

1 阅读3分钟

第五阶段:数据预处理与格式化(训练前准备)

本阶段核心目标是将清洗、标注后的高质量数据,转换为模型训练可直接使用的格式,完成数据的标准化、结构化处理,确保数据与训练框架兼容。

5.1 Tokenization预处理

• 编码处理:使用模型对应的Tokenizer(词表),将文本数据转换为模型可识别的token编码,确保编码格式与模型训练框架(如PyTorch、TensorFlow)兼容。

• 超长文本处理:针对超过模型最大序列长度(如4k、8k、32k tokens)的文本,采用截断、分块、文档打包等方式处理,确保文本长度符合模型要求,同时保留文本的核心语义。

• 序列长度控制:统一控制所有样本的序列长度,根据模型训练需求,设定合理的序列长度阈值,避免过长或过短样本影响训练效果。

5.2 训练样本格式构建

• 预训练样本:采用连续文本拼接、packing(打包)、chunking(分块)等方式,构建预训练样本,确保样本的连续性与完整性,适配自监督学习任务。

• SFT样本:添加模型训练所需的模板标记(如指令输出),明确指令与输出的边界,便于模型区分输入与输出。

• 对话样本:添加角色标记(如、),明确对话角色,确保多轮对话的逻辑连贯性,便于模型学习对话流程。

• loss mask设置:对训练样本进行loss mask处理,仅对输出部分(如SFT样本的“output”、对话样本的“assistant”回复)计算loss,输入部分不计算loss,提升训练效率。

5.3 数据混合与加权

• 领域数据混合:按照前期规划的领域配比,将不同领域的数据进行混合,确保数据分布均匀,避免某一领域数据过多或过少,导致模型偏向性。

• 质量加权训练:对不同质量等级的数据赋予不同的训练权重,高质量数据权重更高,低质量数据权重更低(或不参与核心训练),提升训练效率与模型性能。

• 薄弱领域数据增强:针对模型后续可能的薄弱领域(如数学、代码),对相关数据进行上采样处理,增加该领域数据的训练占比,强化模型的相关能力。

5.4 训练集/验证集/测试集划分

• 划分原则:严格遵循“独立不泄漏”原则,确保验证集、测试集与训练集无交叉数据,避免数据泄漏导致模型评估结果失真。

• 划分比例:根据数据规模与训练需求,合理划分比例,通常为训练集80%~90%、验证集5%~10%、测试集5%~10%;若数据规模较大,可适当降低验证集、测试集比例。

• 样本覆盖:确保验证集、测试集覆盖所有任务类型、领域、语言,能够全面评估模型的性能(如常识、推理、创作、安全等),避免评估片面性。

• 自动化评估集构建:整合行业通用的自动化评估数据集(如MMLU、GSM8K、HumanEval等),结合自建测试集,形成完整的模型评估数据体系。

输出物:训练集bin文件(或JSON文件)、验证集、测试集、数据配比配置文件、预处理报告。