d0bbb8f3e2
- baseline infer.py + requirements.txt + build_env.sh - GRAB / HSTU 两篇核心论文 - 比赛规则和提交接口说明 - 项目 CLAUDE.md
3.8 KiB
3.8 KiB
选手提交压缩包规范
本文档说明选手提交代码压缩包的格式与运行要求。不符合以下任一约束,评测将失败或总分计 0。
1. 压缩包格式
- 允许的后缀:
.zip、.tar.gz、.tar。其他后缀评测会直接失败。 - 目录布局:压缩包解压后,所有文件必须直接位于根目录,不得包含最外层包裹目录。
错误示例(解压后多一层目录):
submit.zip
└── my_code/
└── infer.py
正确示例:
submit.zip
├── infer.py
├── requirements.txt # 可选
└── build_env.sh # 可选
2. 必需文件
2.1 infer.py(必需)
根目录必须存在可被 Python 正常 import 的 infer 模块(即 infer.py 或 infer/__init__.py),并对外提供以下接口:
| 接口 | 签名 / 说明 |
|---|---|
load_sample_files |
load_sample_files(sample_files_list: List[Path]) -> (item_dict, user_seq) |
CTRTestSeqDataset |
类;构造参数:test_logids_ordered, item_dict, user_seq, max_feasign_per_slot, max_ctx_len;需暴露属性 max_slot_id |
make_collate_fn |
make_collate_fn(max_slot_id) -> Callable,用作 DataLoader 的 collate_fn |
load_model |
load_model(ckpt_path: Path) -> (model, device) |
move_batch_to_device |
move_batch_to_device(batch, device) -> batch |
model(batch) |
前向返回 (logits, moe_loss);logits.squeeze(-1) 经 sigmoid 应为点击概率 |
batch 必须包含以下键:
logid:样本 logid,需支持.shape[0]与[pred_mask].cpu().tolist()pred_mask:可转bool的掩码 Tensor
2.2 评测端提供、选手不得自带的文件
评测端会统一提供下列路径,选手不要在压缩包中包含同名文件/目录:
dataset/:测试与历史数据ckpt.pt:模型权重
3. 可选文件
| 文件 | 行为 | 失败条件 |
|---|---|---|
requirements.txt |
评测前安装依赖(使用阿里云 PyPI 镜像:https://mirrors.aliyun.com/pypi/simple) |
安装失败则评测失败 |
build_env.sh |
在代码根目录下执行 sh build_env.sh,超时 720 秒 |
超时或返回码非 0 则评测失败 |
依赖必须可通过阿里云 PyPI 镜像安装;build_env.sh 若需访问外部资源,请自行保证在 720 秒内完成。
4. 运行时与指标约束
4.1 推理延迟
- 延迟阈值:300 秒。
- 只统计模型前向时间(逐 batch 累加
model(batch)耗时),数据加载、模型加载不计入。 - 延迟得分:
score_latency = (300 - latency) / 300。 - 若
latency ≥ 300,score_latency = 0,总分直接置 0。
4.2 模型指标门槛
以下任一不满足,策略分 score_model = 0,总分直接置 0:
AUC ∈ [0.65, 1.0]PCOC ∈ [0.85, 1.15],其中PCOC = mean(predictions) / mean(labels)
4.3 总分公式
仅当 score_latency > 0 且 score_model > 0 时:
score_all = score_latency * 70 + score_model * 30
否则 score_all = 0。
5. 违规清单(评测失败或 0 分)
- 压缩包后缀非
.zip/.tar.gz/.tar。 - 压缩包内含最外层包裹目录,导致根目录找不到
infer.py。 - 缺失
infer.py,或其任一必需接口签名/返回值结构不符。 requirements.txt安装失败。build_env.sh执行超过 720 秒或返回码非 0。- 推理总耗时 ≥ 300 秒。
AUC不在[0.65, 1.0]或PCOC不在[0.85, 1.15]。- 压缩包自带
dataset/或ckpt.pt,覆盖评测端提供的路径。
6. 最小可用提交示例
submit.zip
├── infer.py # 实现第 2.1 节全部接口
└── requirements.txt # 可选;列出 torch 等依赖