【免费下载链接】ModelTrace
主动探测模型归因
ModelTrace 是一个本地运行的主动模型归因工具:它用三条长整数生成挑战提取输出指纹,将 Hellinger 相似度与有序块特征按 0.75 + 0.25 融合成模型指纹,再在全局候选库中判断待测模型属于哪个家族、哪个具体版本。本文面向新手拆解这套"数字指纹"算法的每一步,帮助你理解模型归因背后的完整计算流程。
为什么用"数字"来识别大模型? 🤔
不同的大模型在做"凭第一反应选一个数字"这类无语义任务时,会表现出各自稳定的取值偏好——有的偏爱小数值、有的更分散、有的尾数分布有特点。这些偏好就像"数字 DNA",构成了模型指纹的原始信号。
ModelTrace 的思路是:
- 让待测模型连续完成 3 条整数生成挑战;
- 把每份回答解析成数字序列,提取两类统计特征;
- 与指纹库中每个已知模型的"模型中心"比较,融合打分;
- 经校准温度放大后做 softmax,输出具体模型与模型家族的概率。
整套算法的命名是Ordered-block + nuisance-Hellinger(有序块 + 去环境方向的 Hellinger),全部实现集中在 fingerprint.py 的几个常量里:取值范围 1–355、特征维度 355、平滑系数 α=0.5、有序块权重 0.25。
第一步:生成三条"随机数"挑战
挑战由 challenge_suite.py 和 fingerprint.py 共同负责:
- 长度随机:每条挑战要求输出 292–332 个整数,且明确禁止从 1 计数、等差递增、循环重复等规则化模式;
- 提示词变体:自动建库时会使用 12 种环境组合(clean/system/user 三种上下文 × json/中文/英文三种输出风格,以及 96/512/2048 词的前缀噪声);
- 禁止借助工具:明确要求模型不得调用 Python、计算器、API 或外部随机数生成器,保证输出只能来自模型本身。
手动测试模式下,页面会随机生成三条这样的挑战,你只需把完整输出粘贴回来即可。
第二步:解析数字序列,构建两种特征向量
2.1 数字解析:只保留"最长数字串"
parse_numbers 用正则扫出所有数字串,遇到字母分隔符就断开,只保留 1–355 范围内的值,并取最长的一段作为有效序列。一份回答至少要有 80 个数字(或达到要求数量的 55%)才会被计入评分,拒答和严重截断的回答会被直接剔除。
2.2 Hellinger 分布特征:355 维"取值偏好画像"
把序列中每个数字的出现次数统计成 355 维计数向量,再经过 hellinger_feature 两步加工:
- 拉普拉斯平滑:每个计数加 α=0.5,避免某个取值从未出现导致概率为 0;
- 开方归一:对比例开方,得到单位向量。
开方这一步就是 Hellinger 距离的由来——相比直接比较频率,它对"数量级差异"不敏感、对"分布形状差异"更敏感,恰好契合"识别偏好形状,而不是输出量"的需求。
2.3 有序块特征:74 维"顺序指纹"
只数频率会丢掉顺序信息。ordered_block_feature 从两个角度补足:
| 片段 | 做法 | 维度 |
|---|---|---|
| 4 个位置块 | 序列按出现顺序均分 4 段,每段做 1–355 的 16 分箱直方图,平滑后开方归一 | 4 × 16 = 64 |
| 尾数分布 | 全部数字按 mod 10 统计个位数字偏好 | 10 |
合计 74 维。它能捕捉"前半段偏小、后半段偏大"这类位置漂移,以及"偏爱哪些个位数"这类细微习惯。
第三步:建库时先"去噪",消除环境干扰
同一个模型在不同提示风格、不同系统前缀下,数字偏好会整体漂移。如果不去掉这种漂移,归因就会误判"环境差异"为"模型差异"。
bank_builder.py 的fit_robust_artifacts在建库时做了三件事:
- 标准化:对每个特征维度计算全库均值和标准差,统一量纲;
- 提取干扰基:按 12 种环境分别计算平均偏移,对偏移矩阵做 SVD,取前 2 个主方向构成
nuisance_basis(干扰基); - 投影去除:把所有特征投影掉这 2 个方向,剩下的才是"与模型本身相关"的成分;再对每个模型求平均方向并归一化,得到该模型的模型中心(centroid)。
对有序块特征,建库时还会额外保存每个环境下的模型中心(environment_centroids),供归因时做环境模板匹配。拟合结果全部写入 data/unified_bank.json,只保存统计指纹与校准参数,不保存任何原始回答。
第四步:融合打分——0.75 × Hellinger + 0.25 × 有序块
归因时,待测序列分别走两条评分通道:
- Hellinger 通道(robust_score_counts):特征标准化 → 投影去掉干扰基 → 归一化 → 与全部 13 个模型中心做点积,得到"方向相似度"并做 z 分数标准化;
- 有序块通道(ordered_block_scores):先计算"环境模板分"(对每个环境的模型中心打分后取逐模型最大值,再标准化),再计算去噪后的"方向分",两者 5:5 合成。
最后按固定权重融合(robust_score_numbers):
融合得分 = 0.75 × Hellinger 通道得分 + 0.25 × 有序块通道得分两条通道互为补充:Hellinger 主通道看"整体取值形状",有序块通道看"顺序与尾数习惯"。融合后的分数同时与全部模型比较(而非逐家族比较),保证跨 GPT / Claude 家族的归因都在同一标尺上。
第五步:校准温度 β 与最终概率输出
三份回答的融合得分取平均后,还不能直接转成概率——原始分数的差距通常太小。ModelTrace 的做法是温度缩放 + softmax(analyze_outputs):
P(具体模型) = softmax(β × 全局模型得分) P(模型家族) = Σ P(该家族中的具体模型)关键参数 β 不是拍脑袋定的,而是分组交叉验证学出来的(fit_beta):按"每次留出若干条挑战"的方式反复重训指纹库,在 0.05–12 的对数网格上搜索使负对数似然最小的 β,并分别对 1 / 2 / 3 次查询各存一份。当前统一库的校准结果:
| 查询次数 | 校准温度 β | 交叉验证准确率 |
|---|---|---|
| 1 次 | ≈ 6.84 | 95.5%(447/468) |
| 2 次 | ≈ 12.0 | 99.6%(466/468) |
| 3 次 | ≈ 12.0 | 100%(156/156) |
归因时按实际有效回答数(上限 3)选取对应 β。这就是为什么工具推荐发送三条挑战——回答越多,概率分布越"锐利",判断越可信。
当前库共收录 2 个家族、13 个模型(gpt-5.4 ~ gpt-6-astra,claude-haiku-4-5 ~ claude-opus-5),家族概率即成员模型概率之和;结果中的profile_similarity用 JS 相似度展示待测分布与库内分布的整体接近度,作为辅助参考。
全流程一图流小结 ✅
3 条整数挑战 → 解析最长数字串(≥80 个数字) ├─ Hellinger 特征(355 维)──标准化──去环境方向──比模型中心──→ 0.75 └─ 有序块特征(74 维)──标准化──模板/去噪双分──→ 0.25 ↓ 融合得分(3 份回答取平均)→ β 温度缩放 → softmax ↓ 13 个模型概率 → 家族概率求和 → 归因结论如何自己跑一遍?
安装依赖后运行python start.py,页面地址为http://127.0.0.1:7860/。不想装后端的用户可以直接打开静态版(static/index.html),它使用 static/fingerprint-core.js 在浏览器本地完成同一套归因计算,与 Python 版逐函数对应。核心源码入口:
- 指纹提取与归因:fingerprint.py
- 指纹库构建与概率校准:bank_builder.py
- 自动建库挑战与环境变体:challenge_suite.py
- 统一指纹库数据:data/unified_bank.json
注意事项:结果如何正确解读 ⚠️
- 闭集判断:概率是当前候选库内、均匀先验下的闭集结果,未收录的模型会被归到最相似的现有候选;
- 系统提示词干扰:官方提示在 Claude Code 等强系统提示环境下测试存在较大偏差,建议避免在该环境测试;
- 仅供参考:测试结果并非判断模型的决定性证据,建议结合多条回答与多次测试交叉验证。
理解了"分布形状 + 顺序习惯 → 去噪 → 加权融合 → 温度校准"这条主线,你就掌握了 ModelTrace 的核心:它把模型的输出习惯量化成可比较的模型指纹,让模型归因从猜测变成了有校准依据的概率判断。
【免费下载链接】ModelTrace
主动探测模型归因
相关推荐
openMVG核心算法:从特征提取到相机标定
openMVG核心算法:从特征提取到相机标定 本文详细解析了openMVG库中的核心计算机视觉算法实现。主要内容包括:图像特征检测与描述算法(SIFT、AKAZ
计算机视觉科研OpenAPI 3.0自动化测试完全指南:基于awesome-openapi3工具链的实现方案
OpenAPI 3.0自动化测试完全指南:基于awesome openapi3工具链的实现方案 OpenAPI 3.0作为现代API开发的事实标准,其自动化测试
ConvNeXt特征图相似性度量:余弦相似度矩阵
ConvNeXt特征图相似性度量:余弦相似度矩阵 引言 在计算机视觉(Computer Vision)领域,卷积神经网络(Convolutional Neura
人工智能深度学习计算机视觉预训练微调
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考