掘金 人工智能 20小时前
大模型微调数据集加载和分析
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

本文介绍了一个名为loaddataset.py的Python脚本,它能够高效加载和分析JSONL格式的大模型微调数据集。该脚本支持读取训练集和验证集,并提供详细的统计信息,包括样本总数、源文本和目标文本的平均长度、最大长度及最小长度。通过简单的使用说明和代码示例,用户可以轻松完成数据集的准备和运行分析,从而深入了解数据特性,为模型微调打下坚实基础。脚本结构清晰,依赖库少,易于集成和使用。

🔹 loaddataset.py是一个专门用于加载和分析JSONL格式数据集的Python脚本,为大模型微调提供基础的数据处理能力。它能够读取训练集和验证集,并对这些数据进行必要的预处理和初步分析。

📊 脚本提供了关键的数据统计功能,包括但不限于数据集的总样本数量统计,以及对训练集和验证集中源文本(src)和目标文本(tgt)的长度进行详细分析,如计算平均长度、最大长度和最小长度(按字符计算)。

⚙️ 使用loaddataset.py非常便捷。用户只需准备好JSONL格式的数据文件(如train.json和dev.json),并在终端中运行脚本即可。脚本会输出前5个样本的JSON格式展示,以及详细的数据统计结果。

⚠️ 在使用过程中,需要注意确保JSONL文件中的每一行都是一个有效的JSON对象。如果文件不存在,脚本会给出明确的提示,避免因文件问题导致分析中断。脚本依赖os和json库,易于部署和运行。

📄 脚本的结构设计清晰,主要包含read_jsonl函数用于读取和解析JSONL文件,analyze_data函数用于进行文本长度统计,以及主程序逻辑来加载数据集并执行分析,整体代码逻辑易于理解和维护。

大模型微调数据集加载和分析

1. 项目简介

loaddataset.py 是一个用于加载和分析 JSONL 格式数据集的 Python 脚本。它支持读取训练集和验证集,并对这些数据集进行基本的统计分析,包括样本数量统计和文本长度统计。

2. 主要功能

3. 使用说明

3.1 准备工作

数据集中包含以下文件:

3.2 运行脚本

在终端或命令行中,找到 loaddataset.py 文件的目录,并运行以下命令:

import osimport json  def read_jsonl(file_path):    if not os.path.exists(file_path):    print(file_path, "不存在")    return []    data = []    with open(file_path, "r", encoding="utf-8") as f:    for line in f.readlines():    data.append(json.loads(line))    return data  # 虽然文件扩展名是 json,但其实是 jsonl,需要按行读入后再解析。train = read_jsonl("data/train.json")dev = read_jsonl("data/dev.json")  for i in range(5):print(train[i])  # 数据集大小统计print(f"训练集样本数: {len(train)}")print(f"验证集样本数: {len(dev)}")print(f"总样本数: {len(train) + len(dev)}")  # 文本长度统计(按字符计算)def analyze_data(data, name):    src_lens = [len(d['src']) for d in data]    tgt_lens = [len(d['tgt']) for d in data]    print(f"\n{name}数据集统计:")    print(f"• src平均长度: {sum(src_lens)/len(src_lens):.1f} 字符")    print(f"• tgt平均长度: {sum(tgt_lens)/len(tgt_lens):.1f} 字符")    print(f"• src最大长度: {max(src_lens)} 字符")    print(f"• tgt最大长度: {max(tgt_lens)} 字符")    print(f"• src最小长度: {min(src_lens)} 字符")    print(f"• tgt最小长度: {min(tgt_lens)} 字符")  # 执行统计分析analyze_data(train, "训练集")analyze_data(dev, "验证集")

3.3 输出结果

脚本将输出以下内容:

4. 注意事项

5. 代码结构

loaddataset.py├── read_jsonl(file_path): 读取并解析 JSONL 文件。├── analyze_data(data, name): 对数据集进行文本长度统计。├── main: 加载数据集并执行统计分析。

6. 依赖库

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

大模型 微调 数据集 JSONL Python脚本
相关文章