JSONL 数据集检查
定位坏行、重复样本、超长输入及训练集与验证集的精确重叠。
学习指南与本课目录
LEARNING CONTRACT理解 → 实现 → 研究
目标:解释本课机制、复现一个例子、测试一个失败案例。读完不自动代表掌握。
- 理解层:写明假设、形状/单位和一个反例。
- 实现层:复算数值例子并检查边界。
- 研究层:在匹配预算下比较一个替代方法。
01设置参数
02填入输入
设置参数、载入示例,或粘贴自己的输入。
03查看结果
设置参数、载入示例,或粘贴自己的输入。
页面可能仅展示部分内容;导出的 JSON 报告包含全部计算结果。
如何理解结果
每行一个 JSON 对象:{"text":"..."} 或 {"messages":[{"role":"user","content":"..."}]}。仅支持字符串内容,以及 system、developer、user、assistant、tool 角色。去重按内容计算,忽略无关元数据但保留消息顺序;不等于提供商 schema 认证,也不检测语义泄漏。每组最多 2 MiB、5,000 行。
方法参考
假设、参考实现与验收
规范化文本精确重叠是泄漏信号,不证明检出了所有近重复;token 计数不含提供商聊天模板开销。
已复核计数单位、统计假设及数值例子;提供商计费和真实 GPU 分配仍须实测。
运行前:预测一个边界情况
规范化文本精确重叠是泄漏信号,不证明检出了所有近重复;token 计数不含提供商聊天模板开销。
提示:隔离假设
固定基线输入,只改变一个参数或边界;同时比较数值与声明单位。单例通过仅验证该样例。
最小可运行算例
将算例及所链接模块保存在同一目录。使用 Node.js 22 或更高版本,然后运行 node jsonl-inspector.mjs. npm install gpt-tokenizer@4.1.0
import {encode as rawEncode} from 'gpt-tokenizer/encoding/cl100k_base';
import {promptDiff,inspectDataset,chunkDocument,compareScores,estimateVRAM,samplingLab,speculativeLab} from './research-core.mjs';
const encode=s=>rawEncode(s,{disallowedSpecial:new Set()});
const result=inspectDataset('{"text":"x"}\n{"text":"x"}', '{"text":"x"}',50,encode);
console.log([result.train.duplicates,result.crossSplitMatches]); // [1,1]测试与迁移
规范化文本精确重叠是泄漏信号,不证明检出了所有近重复;token 计数不含提供商聊天模板开销。
在下方笔记记录输入、代码版本、期望值和实测值;再构造违反上述假设的反例,解释原结论为何不再成立。
下载完整代码包(.tar.gz) · 完整参考代码与回归检查预测、检验与证据记录
展开答案前先预测一个结果;练习后记录差异和迁移测试。记录仅存本地,在不同语言版本间共用。
打开记录/导出/清除 →数学复核范围逐篇记录,不代表完成论文实证复现;可在笔记中记录疑似错误。 复核范围