8 数据集准备之数据格式化
系列进度
LLM 微调教程 · 第 8 / 24 篇
整理说明
这篇内容怎么整理
郭震 · 2026-06-04
阅读路线
先按这条路线读
先抓住主线,再回到代码、配置和图文细节,读起来会更稳。
图文索引
按图先建立主线,再跳回正文核对步骤、配置和判断标准。
数据格式不是技术细节,而是在告诉模型未来怎么接任务。字段名、角色顺序、输出格式和样本长度越稳定,训练越容易学到目标行为。
字段设计可参考 Hugging Face Datasets features 的数据结构说明。
我会先手工检查 20 条样本:输入是否像真实用户,输出是否像最终答案,字段是否统一。脚本验证只能发现格式错,发现不了口径烂。
在进行大模型(LLM)的微调时,数据集的准备是至关重要的一个环节。在上一篇中,我们探讨了数据集的收集与清洗过程,而在本篇中,我们将专注于数据格式化,以确保数据能够顺利用于模型训练。数据格式化的目的是将收集到的数据转化为模型可以理解和处理的形式。
数据格式化的重要性
在微调过程中,模型的输入和输出必须遵循特定的格式。格式化不仅影响模型的理解能力,也直接关系到训练的效果。例如,文本分类任务可能需要将文本和标签组合成特定的JSON格式,而对话生成任务则需要严格控制输入的上下文和回应的格式。
做微调数据格式化时,先统一字段名、角色结构、输入输出边界、特殊符号和验证集切分。
常见的数据格式
在格式化数据之前,我们首先需要确定要使用的格式。常见的数据格式有:
读完《数据集准备之数据格式化》后,可以回头问三件事:它解决什么问题,哪一步最容易出错,自己能否拿一个小例子跑通。
- CSV(逗号分隔值)
- JSON(JavaScript对象表示法)
- TSV(制表符分隔值)
- 文本文件(每行一个样本)
每种格式都有其适用场景,选择合适格式取决于任务需求和数据特性。
示例:CSV格式
假设我们有一个用于情感分析的数据集,包含评论和对应的标签。原始数据如下:
评论, 标签
"这部电影太棒了!", 正面
"我不喜欢这个产品。", 负面
我们可以将其转换为CSV格式:
文本,标签
"这部电影太棒了!",正面
"我不喜欢这个产品。",负面
示例:JSON格式
对于对话生成任务,我们可能需要使用JSON格式来组织数据。假设我们有以下对话数据:
{
"dialogues": [
{
"input": "你好,今天天气怎么样?",
"response": "今天天气晴朗,非常适合出门。"
},
{
"input": "可以推荐一部电影吗?",
"response": "我最近看过《理智与情感》,非常不错!"
}
]
}
数据格式化过程
在对数据进行格式化时,主要包括以下几个步骤:
- 确定任务需求:明确模型的任务(如文本分类、对话生成)。
- 选择合适格式:根据任务和模型要求选择数据格式(如CSV或JSON)。
- 数据清洗与转换:处理数据中的空值、异常值,并将文本编码为所需格式。
- 验证格式:检查格式化后的数据,与预期格式进行比对,确保没有错误。
代码示例:CSV格式化
下面是一个简单的Python代码示例,演示如何将评论和标签转化为CSV格式:
import pandas as pd
# 原始数据
data = {
"评论": ["这部电影太棒了!", "我不喜欢这个产品。"],
"标签": ["正面", "负面"]
}
# 创建 DataFrame
df = pd.DataFrame(data)
# 保存为 CSV 文件
df.to_csv("sentiment_analysis_data.csv", index=False, encoding='utf-8')
代码示例:JSON格式化
对于对话生成任务,以下是将对话数据转化为JSON格式的Python代码示例:
import json
# 原始对话数据
dialogues = [
{"input": "你好,今天天气怎么样?", "response": "今天天气晴朗,非常适合出门。"},
{"input": "可以推荐一部电影吗?", "response": "我最近看过《理智与情感》,非常不错!"}
]
# 保存为 JSON 文件
with open('dialogue_data.json', 'w', encoding='utf-8') as json_file:
json.dump({"dialogues": dialogues}, json_file, ensure_ascii=False, indent=4)
注意事项
在进行数据格式化时,需要特别注意以下几点:
- 一致性:确保所有字段遵循相同的格式,避免不一致性导致的训练失败。
- 编码:在处理文本时,注意编码(如UTF-8),以防止出现乱码。
- 验证:在格式化后,建议对数据进行抽样检查,确保格式正确且符合预期。
读到这里,可以把《数据集准备之数据格式化》整理成一张复盘表:先说清主线,再拿一个小任务检查结果。
读完《数据集准备之数据格式化》后,可以先挑一个小样例走完整流程,再判断哪些步骤已经能独立完成。
小结
数据格式化是大模型微调过程中不可或缺的一部分。通过合理的格式化,我们不仅有助于提高模型的训练效率,也能增强模型的性能。现在您已经掌握了数据格式化的基本概念和方法,接下来我们将在下一篇中讨论“数据集准备之数据划分”,继续深入探讨如何将准备好的数据分成训练集、验证集和测试集。
继续阅读