公开版实验报告|数据、逐样本预测、划分索引和模型权重均未纳入本目录
在同一份 100 万行 Criteo-format 本地数据、固定分层 72%/8%/20%
train/validation/test 划分上,使用 5 个独立模型初始化种子比较 DeepFM 的两种输入:
baseline:26 个类别字段 + 13 个连续字段;enhanced:训练集低频类别合并 + 13 个零值指示器 + 13 个训练集分位数 分箱字段,同时保留原始连续字段。
主实验结果如下(± 为 5 个 model seeds 的样本标准差):
| 指标 | Baseline | Enhanced | 配对变化 |
|---|---|---|---|
| AUC | 0.773037 ± 0.000183 | 0.779165 ± 0.000313 | +0.006129 |
| Average Precision | 0.545433 ± 0.001149 | 0.559374 ± 0.000716 | +0.013942 |
| LogLoss | 0.469653 ± 0.000123 | 0.464200 ± 0.000592 | -0.005453 |
| Brier Score | 0.152838 ± 0.000045 | 0.150676 ± 0.000190 | -0.002162 |
| ECE(15 个等宽概率分箱) | 0.011871 ± 0.003473 | 0.008762 ± 0.004793 | -0.003108 |
5 个配对 seed 的 AUC 增量均值为 0.006129;基于这 5 个增量计算的
t 95% CI 为 [0.005676, 0.006581]。LogLoss 的配对均值变化为
-0.005453,对应 t 95% CI 为 [-0.006298, -0.004607]。
参数量由 2,611,413 降至 505,969(-80.62%),但这不构成加速:
平均预测吞吐由约 200.7k samples/s 降至 170.4k samples/s
(-15.08%)。因此本项目只将其表述为参数/模型体积下降,同时如实报告
字段扩展带来的计算开销。
| 项目 | 设置 |
|---|---|
| 数据 | 1,000,000 行、40 列 Criteo-format Parquet |
| 正例率 | 25.1177% |
| 数据 SHA-256 | 0b468148aecf6fa9464def4f2ad075b8843874f3469239afd3504602579f767a |
| 划分 | 固定分层 train/validation/test = 720,000 / 80,000 / 200,000 |
split_seed |
2026 |
| 划分 SHA-256 | 78823ec3b111274816c404e3219ca1f53dec63bb08811580f4506542c334f455 |
所有词表、低频集合、Min-Max 缩放器与分位数分箱边界均只在 train 上拟合。 测试集只用于最终评估。数据没有可验证的用户 ID 或时间字段,因此不报告 GAUC, 也不声称使用了时间切分。
| 项目 | 设置 |
|---|---|
| 模型 | DeepFM |
model_seed |
42、2026、2027、2028、3407 |
| 最大 epoch | 3 |
| Early stopping | validation binary cross-entropy,patience=1,恢复最佳权重 |
| Batch size | 4096 |
| Learning rate | 0.001 |
| Embedding dim | 4 |
| DNN | [64, 32] |
| 硬件 | NVIDIA GeForce RTX 4060 8GB |
| 软件 | Python 3.10.20;PyTorch 2.11.0+cu128;DeepCTR-Torch 官方 commit 9eccef78e5810c61d6a04ddc7d96279e3db9c970 |
split_seed 只负责生成一次固定数据划分;model_seed 只控制模型初始化和训练随机性。
两种特征版本在每个 seed 下使用完全相同的 train/validation/test 行。
DeepCTR-Torch 的包元数据仍自报 0.3.0,但正式实验所用源码已逐文件核对为上述
官方 commit;它与 PyPI 的 0.3.0 标签不是同一实现。公开依赖因此按 commit 固定,
不能只凭版本字符串复现实验。
| Model seed | Baseline AUC | Enhanced AUC | ΔAUC | Baseline LogLoss | Enhanced LogLoss | ΔLogLoss |
|---|---|---|---|---|---|---|
| 42 | 0.773278 | 0.779180 | +0.005902 | 0.469743 | 0.463843 | -0.005901 |
| 2026 | 0.773085 | 0.779527 | +0.006442 | 0.469671 | 0.463731 | -0.005940 |
| 2027 | 0.772910 | 0.779376 | +0.006466 | 0.469580 | 0.464005 | -0.005575 |
| 2028 | 0.773104 | 0.778723 | +0.005619 | 0.469787 | 0.464214 | -0.005574 |
| 3407 | 0.772806 | 0.779021 | +0.006215 | 0.469483 | 0.465208 | -0.004275 |
5 个 model seeds 上的 AUC 均提升、LogLoss 均下降。t 区间描述的是固定数据划分下,
5 次独立模型初始化所得配对增量的跨 seed 不确定性。样本数只有 5,结论仍应
限定在当前模型、数据、特征与训练预算内。计算明细见
paired_seed_t_intervals.csv。
主实验还对每个 seed 的 20 万条同源测试预测执行了 200 次 stratified paired bootstrap,分别在正负类别内有放回采样,并保持 baseline/enhanced 的样本配对。
| Model seed | ΔAUC | 样本 bootstrap 95% CI | ΔLogLoss | 样本 bootstrap 95% CI |
|---|---|---|---|---|
| 42 | +0.005902 | [0.005162, 0.006676] | -0.005901 | [-0.006506, -0.005301] |
| 2026 | +0.006442 | [0.005650, 0.007138] | -0.005940 | [-0.006533, -0.005358] |
| 2027 | +0.006466 | [0.005724, 0.007183] | -0.005575 | [-0.006127, -0.005015] |
| 2028 | +0.005619 | [0.004914, 0.006379] | -0.005574 | [-0.006145, -0.004926] |
| 3407 | +0.006215 | [0.005313, 0.006941] | -0.004275 | [-0.004860, -0.003629] |
- 每 seed 的 bootstrap CI 衡量的是:给定已经训练好的这一组权重时,有限测试 样本造成的不确定性;所有 5 个 AUC/LogLoss 区间均不跨 0。
- 跨 5 seed 的 t CI 衡量的是:固定 split 下,模型初始化/训练随机性对配对增量的 影响。
- 两者回答不同问题,bootstrap 不能替代多 seed 实验;200 次重采样的 Monte Carlo 分辨率也有限,不应把区间端点解释得过细。
完整的小型聚合表见 paired_bootstrap.csv 和 paired_model_seed_summary.csv;
逐样本预测未复制到公开报告目录。
| 指标(5 seed 均值) | Baseline | Enhanced | 变化/说明 |
|---|---|---|---|
| Sparse fields | 26 | 52 | 零值指示与分箱使字段数翻倍 |
| 词表规模 | 520,347 | 97,927 | -81.18% |
| 参数量 | 2,611,413 | 505,969 | -80.62% |
| 参数体积 | 9.962 MiB | 1.930 MiB | -80.62% |
| 训练吞吐 | 62.2k samples/s | 42.9k samples/s | -31.07% |
| 预测吞吐 | 200.7k samples/s | 170.4k samples/s | -15.08% |
| 平均离线 batch 时间 | 20.40 ms | 23.97 ms | +17.48% |
| Peak allocated CUDA memory | 107.72 MiB | 51.66 MiB | 当前实现/批大小下的测量值 |
训练总耗时不宜直接横比:baseline 的一个 seed 在第 2 epoch early-stop,其余运行 完成 3 epochs;enhanced 的 5 个 seed 均完成 3 epochs。即便采用按已完成 epoch 归一化的训练吞吐,enhanced 仍更慢。原因是低频合并压缩了 embedding 表,但新增 稀疏字段增加了每个样本的交互计算。故正确结论是:模型更小,但没有更快。
这里的 mean_batch_ms 是离线整批预测总耗时除以 batch 数,并非在线请求的 P95。
该实验与主实验使用相同数据/划分/训练上限,但只有一个 model seed。它用于提出 下一步假设,不用于独立、确定地归因某个组件的收益。
| Feature variant | 组成 | AUC | LogLoss | 参数量 |
|---|---|---|---|---|
| baseline | 原始字段 | 0.773278 | 0.469743 | 2,611,413 |
| rare_only | + 低频合并 | 0.775844 | 0.466862 | 498,673 |
| rare_zero | + 低频合并 + 零值指示 | 0.776316 | 0.466725 | 502,131 |
| rare_bins | + 低频合并 + 数值分箱 | 0.778479 | 0.465147 | 502,511 |
| enhanced | + 低频合并 + 零值指示 + 数值分箱 | 0.779180 | 0.463843 | 505,969 |
在 seed=42 上,所有增强变体均优于 baseline,rare_bins 高于 rare_zero,最终组合
最高。但这不是完整析因设计:组件存在交互,且没有跨 seed 方差或多重比较控制。
因此不能把最终 +0.005902 机械拆解成各组件的独立因果贡献。公开聚合数据见
feature_component_ablation_seed42.csv。
| 模型 | Epochs | 参数量 | AUC | Average Precision | LogLoss | 预测吞吐(samples/s) |
|---|---|---|---|---|---|---|
| LR | 3 | 520,361 | 0.758283 | 0.519384 | 0.483690 | 214,391 |
| FM | 3 | 2,601,749 | 0.761462 | 0.525468 | 0.478047 | 184,161 |
| DeepFM | 3 | 2,611,413 | 0.773253 | 0.545979 | 0.469774 | 176,058 |
| DCN | 3 | 2,612,232 | 0.773338 | 0.546072 | 0.469515 | 171,187 |
| AutoInt | 2 | 2,612,261 | 0.772349 | 0.542362 | 0.469789 | 137,352 |
DCN 在这一次运行中略高于 DeepFM,但差值极小;AutoInt 因 early stopping 完成 2
epochs,其他模型完成 3 epochs。由于只有一个 model seed,该表只能说明 runner
能够在统一 baseline 输入和预算下进行模型对照,不能支持“DCN 显著优于 DeepFM”
或稳定模型排名。公开聚合数据见 model_baseline_benchmark_seed42.csv。
本报告只读取以下运行目录:
artifacts/full-1m-20260813:正式 DeepFM baseline/enhanced,5 model seeds;artifacts/ablation-1m-seed42:单 seed 特征组件消融;artifacts/model-benchmark-1m-seed42:单 seed 五模型 baseline 对照。
三次运行具有相同数据 SHA、split SHA、split_seed=2026 和 100 万行数据口径。
主实验集合有一项已记录的历史恢复操作:首次 seed=42 运行与另一 GPU 任务重叠,
导致墙钟效率数据受干扰,因此 baseline/enhanced 两行及其配对预测改用组件消融运行中
同一 seed 的 clean rerun;其数据 SHA、split SHA、源码 commit、参数和随机种子均一致,
其余 4 个 seeds 保留自完整主运行。该映射不是按测试指标挑选结果,而是为消除已知的
并发计时污染;未来复现应优先一次性重跑完整矩阵。
公开目录只保留实验级或 seed 级聚合 CSV,不含:
- 原始/处理后数据;
split_indices.npz;- 20 万条逐样本标签与预测;
- 模型 checkpoint 或环境密钥。
数据来源与可用范围仍受 DATA_CARD.md 中的谱系限制。全部 结论均为本地离线证据,不代表线上 CTR、收入、留存或因果业务收益。
在 100 万行 Criteo-format 数据上建立固定
72/8/20分层划分与 5 随机种子 DeepFM 配对实验;训练集低频合并、零值指示与分位数分箱使 AUC 从0.773037±0.000183提升至0.779165±0.000313,配对增量的 t 95% CI 为[0.005676, 0.006581],LogLoss 从0.469653降至0.464200;参数量减少80.6%,同时如实测得预测吞吐下降约15.1%,未将参数压缩包装为推理加速。