Deterministic causal-LM supervision auditing with token-level evidence.
当前是可运行原型,尚未完成赛事验收或生产数据端到端训练验证。演示语料均为合成文本;已补充固定版本 tokenizer / collator 导出,以及微型随机模型的损失和梯度验证。工具不执行模型训练,也不证明模型效果。
| 你遇到的情况 | 工具会告诉你什么 |
|---|---|
| 预训练时拼接了两份文档 | 后一份文档的首个 token 是否从前一份文档产生预测目标 |
| 给短样本补齐长度 | Padding 是否被错误地写入训练标签 |
| 只想训练助手回复 | 用户、系统或工具内容是否误入监督范围 |
| 改了截断或预处理逻辑 | 声明的监督数量有没有减少、哪些问题新增或消失 |
| 导出的记录没有来源信息 | 明确显示“需复核”,保留无法验证的部分 |
git clone https://github.com/FidollarinLA/supervision-audit.git
cd supervision-audit
npm run build
npm run dev

{
"contract": "causal-lm-unshifted-v1",
"allowed_roles": ["text"],
"samples": [{
"id": "document-001",
"input_ids": [101, 42, 43],
"labels": [-100, 42, 43],
"attention_mask": [1, 1, 1],
"spans": [{"start": 0, "end": 3, "role": "text"}],
"segments": [{"start": 0, "end": 3, "source_id": "article-A"}]
}]
}# 正常预训练数据:退出码 0;终端显示中文摘要
node cli.mjs examples/pretraining.json --summary
# 有故障的预训练数据:退出码 1
node cli.mjs examples/pretraining-boundary.json
# 已分词的 JSONL,明确指定纯文本策略
node cli.mjs dataset.jsonl --jsonl --roles text --out report.json
# 对比同一契约、同一策略的两个版本
node cli.mjs examples/pretraining.json --baseline examples/pretraining-boundary.json --out comparison.json| 退出码 | 含义 |
|---|---|
| 0 | 审计通过;比较模式下仅表示比较成功执行 |
| 1 | 审计发现错误 |
| 2 | 文件、JSON 或命令输入错误 |
| 3 | 需要人工复核,包括证据不足与提示项 |
node cli.mjs examples/transformers/batch.jsonl --jsonl --roles text --summary| 文件 / 接口 | 用途 |
|---|---|
| audit.mbt / audit(Document) -> Report | 契约验证、逐 token 审计与证据输出 |
| adapters.mbt / audit_jsonl | 已分词 JSONL 转换及审计,返回标准化 document 与 report |
| comparison.mbt / compare(Report, Report) -> Comparison | 按样本 ID 和问题位置比较,用索引避免重复扫描问题集合 |
| audit_json、compare_json | 编译到 JavaScript 后的字符串输入 / 输出接口 |
| web/ | 本地可视化工作台 |
| cli.mjs | 离线命令行入口 |
moon check --target js --deny-warn
moon test --target js --deny-warn
moon test --target wasm-gc --deny-warn
moon test --target native --deny-warn
moon info
moon fmt
npm run build
npm test
npm run check:package
npm run benchmarkpub(all) struct Finding {
code : String
severity : String
sample_id : String
token_index : Int?
message : String
} derive(ToJson)pub(all) struct Report {
schema_version : String
contract : String
status : String
sample_count : Int
token_count : Int
supervised_tokens : Int
prediction_targets : Int?
error_count : Int
warning_count : Int
unknown_count : Int
samples : Array[SampleReport]
findings : Array[Finding]
} derive(ToJson)pub(all) struct SampleDelta {
sample_id : String
change : String
before_supervised : Int?
after_supervised : Int?
supervised_delta : Int?
} derive(ToJson)fn audit_jsonl(text : String, policy_text : String) -> Stringfn input_limit_utf16() -> IntInstall
Download zipDeterministic causal-LM supervision auditing with token-level evidence.