郭震 AI公众号:郭震AI

8 数据集准备之数据格式化

发布日期:

最近更新:

分类: 大模型微调

预计阅读: 4 分钟

阅读次数: 0

预计阅读4 分钟
结构重点9 个
图文要点6 张
正文规模1.4k 字

整理说明

这篇内容怎么整理

郭震 · 2026-06-04

独立整理围绕 9 个结构重点拆成环境、步骤、验证点和常见误区,尽量让读者能照着复现。
图文对照保留 6 张和配置、流程、判断结果有关的图片,方便快速定位正文重点。
持续校对工具、模型和命令变化较快,后续优先修正入口、参数和风险提醒。

阅读路线

先按这条路线读

先抓住主线,再回到代码、配置和图文细节,读起来会更稳。

图文索引

按图先建立主线,再跳回正文核对步骤、配置和判断标准。

6 张图 · 可跳转
数据格式化要贴近推理输入流程图查看大图
数据格式化要贴近推理输入流程图

数据格式不是技术细节,而是在告诉模型未来怎么接任务。字段名、角色顺序、输出格式和样本长度越稳定,训练越容易学到目标行为。

字段设计可参考 Hugging Face Datasets features 的数据结构说明。

数据格式化要贴近推理输入核对图查看大图
数据格式化要贴近推理输入核对图

我会先手工检查 20 条样本:输入是否像真实用户,输出是否像最终答案,字段是否统一。脚本验证只能发现格式错,发现不了口径烂。

在进行大模型(LLM)的微调时,数据集的准备是至关重要的一个环节。在上一篇中,我们探讨了数据集的收集与清洗过程,而在本篇中,我们将专注于数据格式化,以确保数据能够顺利用于模型训练。数据格式化的目的是将收集到的数据转化为模型可以理解和处理的形式。

数据格式化的重要性

在微调过程中,模型的输入和输出必须遵循特定的格式。格式化不仅影响模型的理解能力,也直接关系到训练的效果。例如,文本分类任务可能需要将文本和标签组合成特定的JSON格式,而对话生成任务则需要严格控制输入的上下文和回应的格式。

微调数据格式化判断卡查看大图
微调数据格式化判断卡

做微调数据格式化时,先统一字段名、角色结构、输入输出边界、特殊符号和验证集切分。

常见的数据格式

在格式化数据之前,我们首先需要确定要使用的格式。常见的数据格式有:

大模型微调阅读地图卡查看大图
大模型微调阅读地图卡

读完《数据集准备之数据格式化》后,可以回头问三件事:它解决什么问题,哪一步最容易出错,自己能否拿一个小例子跑通。

  1. CSV(逗号分隔值)
  2. JSON(JavaScript对象表示法)
  3. TSV(制表符分隔值)
  4. 文本文件(每行一个样本)

每种格式都有其适用场景,选择合适格式取决于任务需求和数据特性。

示例:CSV格式

假设我们有一个用于情感分析的数据集,包含评论和对应的标签。原始数据如下:

评论, 标签
"这部电影太棒了!", 正面
"我不喜欢这个产品。", 负面

我们可以将其转换为CSV格式:

文本,标签
"这部电影太棒了!",正面
"我不喜欢这个产品。",负面

示例:JSON格式

对于对话生成任务,我们可能需要使用JSON格式来组织数据。假设我们有以下对话数据:

{
    "dialogues": [
        {
            "input": "你好,今天天气怎么样?",
            "response": "今天天气晴朗,非常适合出门。"
        },
        {
            "input": "可以推荐一部电影吗?",
            "response": "我最近看过《理智与情感》,非常不错!"
        }
    ]
}

数据格式化过程

在对数据进行格式化时,主要包括以下几个步骤:

  1. 确定任务需求:明确模型的任务(如文本分类、对话生成)。
  2. 选择合适格式:根据任务和模型要求选择数据格式(如CSV或JSON)。
  3. 数据清洗与转换:处理数据中的空值、异常值,并将文本编码为所需格式。
  4. 验证格式:检查格式化后的数据,与预期格式进行比对,确保没有错误。

代码示例: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),以防止出现乱码。
  • 验证:在格式化后,建议对数据进行抽样检查,确保格式正确且符合预期。
数据集准备之数据格式化应用复盘卡查看大图
数据集准备之数据格式化应用复盘卡

读到这里,可以把《数据集准备之数据格式化》整理成一张复盘表:先说清主线,再拿一个小任务检查结果。

数据集准备之数据格式化应用检查卡查看大图
数据集准备之数据格式化应用检查卡

读完《数据集准备之数据格式化》后,可以先挑一个小样例走完整流程,再判断哪些步骤已经能独立完成。

小结

数据格式化是大模型微调过程中不可或缺的一部分。通过合理的格式化,我们不仅有助于提高模型的训练效率,也能增强模型的性能。现在您已经掌握了数据格式化的基本概念和方法,接下来我们将在下一篇中讨论“数据集准备之数据划分”,继续深入探讨如何将准备好的数据分成训练集、验证集和测试集。

继续阅读

顺着这个系列继续看

返回栏目

Reader Messages

读者留言

有问题、补充资料或实测结果,可以直接留下。这里不需要登录。

最多 800 字

为了防刷,每条留言会做长度、链接数量和提交频率限制。

0/800

留言列表

0
正在加载留言...