Instructions to use LUCIFerace/enhanced-replica-model-pack with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use LUCIFerace/enhanced-replica-model-pack with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-classification", model="LUCIFerace/enhanced-replica-model-pack")# Load model directly from transformers import AutoModel model = AutoModel.from_pretrained("LUCIFerace/enhanced-replica-model-pack", device_map="auto") - Notebooks
- Google Colab
- Kaggle
# Cross-Domain Results
这部分结果在回答什么问题
results/cross-domain/ 不是 DS13 正式提交结果的重复拷贝,而是专门回答一个研究问题:当数据分布跨域变化时,仅靠一个全局 LR 是否还够用,还是应该按长度分桶后分别建模。
本仓库正式保留了两个跨域结论集:
results/cross-domain/ds06/results/cross-domain/ds07/
它们都同时保存了:
ensemble_meta.jsonensemble_lr_global_*_predictions.csv.gzensemble_lr_bucket_*_predictions.csv.gz
分桶定义
跨域 bucket ensemble 的分桶不是手填经验值,而是脚本里固定编码并在正式结果中保留的长度区间:
extreme_short = 0-75short = 76-180general = 181+
对应实现可见:
scripts/inference/run_cross_domain_ensemble.pyscripts/inference/run_logistic_regression_ensemble.py
bucket 权重是怎么来的
这里的“bucket 权重”同样不是人工拍脑袋给的。正式流程是:
- 对每个 bucket 的 dev 子集单独收集 7 个 voter 分数。
- 加入
len_norm后做StandardScaler。 - 用
LogisticRegression(lbfgs, C=1.0)在该 bucket 的 dev 子集上学习 LR。 - 用该 bucket 的 dev 子集搜索最佳 F1 阈值。
- 如果某个 bucket 的 dev 样本太少,则直接回退到 global LR。
因此,bucket ensemble 的核心不是“按桶给不同固定比例”,而是“按桶单独训练 LR;样本不够时回退”。
DS06 结果
DS06 的正式结果文件位于 results/cross-domain/ds06/ensemble_meta.json。
总体结论
| 方案 | F1 | Precision | Recall | Accuracy |
|---|---|---|---|---|
lr_global |
0.643836 | 0.979167 | 0.479592 | 0.734694 |
lr_bucket |
0.904255 | 0.944444 | 0.867347 | 0.908163 |
DS06 上 bucket 方案比 global 提升非常明显,说明跨域条件下统一阈值和统一系数不够稳,长度分段后单独建模更有效。
DS06 的 fallback 情况
| Bucket | n_dev |
处理方式 |
|---|---|---|
extreme_short |
0 | 回退到 global |
short |
2 | 回退到 global |
general |
190 | 单独训练 bucket LR |
general 桶学出的正式参数中,阈值为 0.5376874712,说明 DS06 的跨域适配并不是简单复用 global threshold,而是真的在足够样本的桶里重新拟合了一个局部 LR。
DS07 结果
DS07 的正式结果文件位于 results/cross-domain/ds07/ensemble_meta.json。
总体结论
| 方案 | F1 | Precision | Recall | Accuracy |
|---|---|---|---|---|
lr_global |
0.743119 | 0.975904 | 0.600000 | 0.792593 |
lr_bucket |
0.872340 | 0.836735 | 0.911111 | 0.866667 |
DS07 也呈现出相同趋势:bucket LR 明显优于 global LR。
DS07 的 fallback 情况
| Bucket | n_dev |
处理方式 |
|---|---|---|
extreme_short |
0 | 回退到 global |
short |
2 | 回退到 global |
general |
266 | 单独训练 bucket LR |
DS07 general 桶的正式阈值为 0.4020108060。这进一步说明 bucket 模型不是静态表,而是 dev 驱动的局部 LR。
为什么 DS13 和 DS06 / DS07 不一样
这三个结果最需要区分的地方是 dev 规模:
- DS13:
extreme_short=1、short=0、general=9,3 个桶全部不够训练,所以 bucket 全部回退。 - DS06:只有
general桶 dev 足够,因此只有general真正学出局部 LR。 - DS07:结论与 DS06 相同,也是只有
general学出局部 LR。
所以不要把“仓库里保留了 bucket 逻辑”误解成“所有数据集都会有独立桶模型”。真正决定是否独立建模的是 dev 样本量。
与探索期动态分桶投票的关系
仓库里还保留了探索期的动态分桶投票脚本,例如:
scripts/train_eval/rules_and_fusion/run_dynamic_bucket_vote.pysrc/enhanced_replica/voter_registry.py
这些脚本里的 bucket_weights 属于研究路线 E06 的硬投票设定。正式跨域结论不是靠这些默认表直接得出的,而是以后续的 bucket LR 结果为准。看正式结果时,应当优先阅读:
results/cross-domain/ds06/ensemble_meta.jsonresults/cross-domain/ds07/ensemble_meta.json
可以直接复用的结论
- 如果 dev 很小,bucket 流程可能会保留,但最终会回退到 global。
- 如果某些长度桶有足够 dev 样本,bucket LR 能显著优于 global LR。
- 对当前这条研究线来说,跨域提升主要来自
general桶的局部 LR,而不是来自人为设置一套长度权重表。