用途:在 Unsloth 微调前校验数据集,检查格式、字段与规模是否适合训练。
主要能力:可自动识别数据集格式,如 Raw(text)、Alpaca(instruction、output)、ShareGPT(conversations 数组,from、value)和 ChatML(messages 数组,role、content);校验必需字段并给出修复建议;展示 2-3 条样本供人工确认;统计总 token 数以及序列长度的最小值、最大值、均值和中位数,并标记超过 4096 或少于 10 个 token 的序列。还支持 Chinchilla 最优性分析:输入目标模型与 LoRA rank 后计算 Chinchilla 比例,小于 0.5x 表示数据可能偏小,0.5x-2.0x 为较好范围,大于 2.0x 表示数据集较大、训练可能更久。
使用方式:可运行 python scripts/validate_dataset.py --dataset "dataset-id" --model llama-3.1-8b --lora-rank 16 进行自动校验;流程中会要求提供 Hugging Face 数据集 ID(如 mlabonne/FineTome-100k)或本地路径(如 ./data.jsonl)。分析后可获建议,例如对 ShareGPT 数据使用 standardize_sharegpt()、调整序列长度、为小数据集设置学习率,也可选择上传本地数据集到 Hub,并把 context 交给 funsloth-train(含 dataset_id、format_type、total_tokens、target_model、use_lora、lora_rank、chinchilla_fraction)。
适用场景:准备 Unsloth 微调数据前的质量与规模检查。限制:具体支持范围、错误处理、价格与平台信息暂未提供。