news 2026/10/19 1:24:46

如何用质量分数筛选微调数据?fable-5-premium的quality_scores分层采样完整指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
如何用质量分数筛选微调数据?fable-5-premium的quality_scores分层采样完整指南
  • 数据集
  • 微调
  • 人工智能

【免费下载链接】fable-5-premium

项目地址:https://ai.gitcode.com/hf_mirrors/saidutta69/fable-5-premium
点击查看免费下载

fable-5-premium是一个从 Claude Fable-5 Agent 对话轨迹中严格清洗而成的高质量监督微调(SFT)数据集,共12,730 条记录,分为 train / validation / test 三个切片。每条样本都带有quality_scores(质量分数)字段,让你可以直接按分数筛选微调数据、做分层采样。下面手把手带你用质量分数选出最优质的训练样本。


📦 数据集速览:12,730 条已分好的 SFT 数据

属性数值
总记录数12,730
训练集(train)5,728 条(45.0%)
验证集(validation)318 条(2.5%)
测试集(test)319 条(2.5%)
许可证MIT

数据集提供两种开箱即用的格式,train / validation / test 三个切片齐全:

格式适用场景数据文件
openai_chatOpenAImessages数组格式(user / assistant / tool 角色),可直接对接 Axolotl、Unsloth、OpenAI 微调 APIopenai_chat/train.jsonl、openai_chat/train.parquet
agent_tracesHugging Face 原生 Agent Traces 格式,可在 Data Studio 中直接浏览agent_traces/train.jsonl、agent_traces/train.parquet

🧹 质量分数从哪来:六步清洗流水线

fable-5-premium 在入库前经过了一条完整的六步质量流水线(见 README.md),quality_scores 是其中最后一步"多维质量评分"的产物:

  1. Deduplication(去重)— SHA-256 内容哈希,跨数据源去重
  2. Structural Validation(结构校验)— 消息 schema、tool call ID、角色顺序全部合法
  3. Content Filtering(内容过滤)— 剔除空响应、截断响应、纯报错会话
  4. PII Scrubbing(隐私清洗)— 移除本地路径、API 密钥等敏感信息
  5. Tool Call Validation(工具调用校验)— 确保每个工具调用都有对应的工具响应
  6. Quality Scoring(质量评分)— 多维质量指标打分,写入quality_scores字段

💡 换句话说,quality_scores不是随意标注的分数,而是经过结构、内容、隐私、工具调用四重把关后,再用多维指标量化出来的"含金量指数"。


📈 质量分数分布速览:88% 样本在 0.8 分以上

先看全库的分数分布图(原始文件见 quality_distribution.png):

对照 README.md 中的统计表格:

分数区间样本数
0.3 – 0.5448
0.7 – 0.8532
0.8 – 0.93,736
0.9 – 1.06,740

两个直观结论:

  • 高分区是绝对主力:0.8 分以上的样本合计 10,476 条,占比约八成,整体"高质量偏向"非常明显
  • 低分区极少:0.7 分以下的样本不足 500 条,可以放心大胆地按分数阈值做过滤

🧩 quality_scores 字段在哪、长什么样

两种格式都带quality_scores字段(dtype 为 string,承载多维质量指标),字段定义见 dataset_infos.json:

  • openai_chat格式:dataset_infos.json,与messages、source、model、reasoning并列
  • agent_traces格式:dataset_infos.json,与session_id、messages等并列

另外两条配套字段值得了解:

  • reasoning— 独立的思维链字段,适配支持显式思考 token 的模型
  • messages— 标准多轮对话,assistant 消息可携带tool_calls(含 id、function.name、function.arguments)

🎯 分层采样实战:一行 filter 筛出高分样本

用 Hugging Facedatasets库加载后,解析quality_scores字段并按分数区间过滤即可。下面是一个可直接运行的最小示例:

import json from datasets import load_dataset # 加载 openai_chat 格式的训练集 ds = load_dataset("saidutta69/fable-5-premium", "openai_chat", split="train") def quality(row) -> float: """解析 quality_scores(字符串字段)为数值分数""" raw = row["quality_scores"] try: obj = json.loads(raw) return float(obj["overall"]) if isinstance(obj, dict) else float(obj) except (ValueError, KeyError): return float(raw) # 策略一:阈值过滤 —— 只保留 0.8 分以上的高分样本 ds_hi = ds.filter(lambda r: quality(r) >= 0.8) # 策略二:分层采样 —— 按区间各自取样,兼顾质量与多样性 hi_mid = ds.filter(lambda r: 0.8 <= quality(r) < 0.9) hi_top = ds.filter(lambda r: quality(r) >= 0.9) print(len(ds_hi), len(hi_mid), len(hi_top))

⚠️ 提示:quality_scores的具体维度结构以实际数据为准,如果字段内是多维 JSON,可先打印一条样本ds[0]["quality_scores"]查看键名,再把quality()函数里的取值键换成对应维度。


💡 四种常见筛选策略怎么选

目标建议策略预期样本量
最省心直接全量使用,高分占比已近八成≈ 5,728(train)
最极致质量quality >= 0.9阈值过滤≈ 6,700 条(全库口径)
质量 + 多样性平衡分层采样:0.8–0.9 与 0.9–1.0 区间按比例各取一份按需组合
快速验证流程参考官方 demo 的max_train_samples = 500小批量试跑500 条

想快速跑通整条微调链路,可以直接参考官方演示脚本 scripts/finetune_demo.py:它默认加载openai_chat格式、只取 500 条样本做 4-bit LoRA 微调,并自动对比微调前后的工具调用准确率——在 MacBook 上约 10 分钟即可看到效果。


📚 相关资料速查

资料说明
README.md数据集总览、质量流水线、使用方式
dataset_infos.json两种格式的完整字段 schema
dataset_config.json数据集构建配置(来源、CoT 策略)
quality_distribution.png质量分数分布图原图
scripts/finetune_demo.py端到端微调 + 评测演示脚本

掌握quality_scores分层采样之后,你就拥有了把这份"精选级"SFT 数据集价值榨干的钥匙:想要更稳,就全量上车;想要更狠,就只留 0.9 分以上的"尖子生"。🚀

  • 数据集
  • 微调
  • 人工智能

【免费下载链接】fable-5-premium

项目地址:https://ai.gitcode.com/hf_mirrors/saidutta69/fable-5-premium
点击查看免费下载
上一篇:GeoLibre mTLS实战:为native HTTP配置客户端证书与信任存储
下一篇:5分钟快速上手oidn:从零开始构建你的第一个图像降噪应用

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/19 1:24:25

7-Zip源码深度解析:从LZMA压缩算法到二次开发实践

简介&#xff1a;7ZIP源码是一份面向软件开发者与算法学习者的开源压缩软件完整实现包&#xff0c;涵盖压缩解压缩核心功能、多语言版本、DLL生成与命令行工具设计。这份资源定位在逆向研究、跨平台开发及算法优化场景&#xff0c;尤其适合希望深入理解LZMA无损压缩原理的程序员…

作者头像 李华
网站建设 2026/10/19 1:23:24

照片EXIF信息提取全攻略:从系统属性到Python脚本

简介&#xff1a;这是一份面向摄影爱好者、图像处理初学者及需要批量读取照片元数据用户的EXIF信息提取工具源码包&#xff0c;基于C#与.NET开发&#xff0c;可解决单张或批量图片拍摄参数读取、展示与导出的实际问题。压缩包共46个文件&#xff0c;约1.6MB&#xff0c;以cs源码…

作者头像 李华
网站建设 2026/10/19 1:21:46

AirLLM:单卡24G显存跑70B大模型的逐层加载方案

1. 单卡跑大模型这件事&#xff0c;到底卡在哪第一次看到 airllm 这个项目名的时候&#xff0c;我正蹲在一台只有单张 24G 显存的机器前发愁。手里有个 70B 级别的模型想跑推理&#xff0c;结果加载权重那一步就直接爆显存&#xff0c;连模型的门都没进去。相信不少做本地推理的…

作者头像 李华
网站建设 2026/10/19 1:21:44

GitHub与Cursor集成实战:用TaoToken统一Key打通AI辅助开发工作流

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华