限制与预算
这些数值描述的是截至 2026 年 9 月 27 日已签入的 Ants 注册和部署配置。已部署的比赛如果配置不同,以它公布的规则为准。字节单位为二进制:1 KiB = 1,024 字节,1 MiB = 1,048,576 字节。
模型与适配器
| 限制 | 当前值 | 适用于 |
|---|---|---|
| 最大大小指标 | 64 MiB | 最大的可参赛重量级;任何赛季都不能设置高于它的重量级 |
| 一个重量级最多可允许的记忆 | 扁平记忆 262,144 字节,每格记忆 16 字节 | 赛季为每个重量级设置的两个数 |
| ONNX opset 范围 | 13–19(含两端) | 平台的范围;赛季设置自己的范围 |
| 清单 ABI | orion:model@1.0.0 | manifest.json |
| 适配器操作数 | 1,000,000 | 每个已声明输入的适配器,每次求值 |
| 适配器边界数据类型 | bool, i8, u8, i16, u16, i32, u32, i64, u64, f32, f64 | 适配器交给计算图的张量 |
| 审核时的探测推理次数 | 5 次,在 probe_dims 下;中位数必须在回合时限 1,000 ms 之内 | 计算图能否运行,以及是否快到足以在一回合内作答(Kalam 运行器模板中的 models.max_probe_ms) |
大小指标是 bytes(model.onnx) + bytes(manifest.json),未压缩。重量级表列出了全部五个大小边界,格式页列出了配置的 ONNX 算子。没有哪个重量级有自己的算力上限;探测的回合时限适用于每个重量级。
Ants 对局
| 设置 | 当前值 |
|---|---|
| 每张地图的玩家数 | 2 到 8,由各地图固定 |
| 地图的边长 | 每边 24 到 124 格 |
| 地图上的格子数 | 最多 14,880 |
| 最大回合数 | 1,000 |
| 回合时限,按席位计,包含其适配器和推理 | 1,000 ms |
| 视野半径平方 | 77 |
| 攻击半径平方 | 5 |
| 采集半径平方 | 1 |
| 判负前的判罚次数 | 每场对局累计 5 次,赛季另行设定时除外 |
| 僵局时长 | 连续 150 个符合条件的回合 |
| 压制阈值 | 至少占总体数量的 85%:所有存活的蚂蚁、每个蚁群的蚁巢存粮(每座尚存的蚁丘各计一次),以及地图上的所有食物 |
地图表给出了尺寸和生成参数。判罚是平台的记账。按游戏规则,普通的非法移动(走入水域)只会让蚂蚁留在原地。
审核与提交
| 设置 | 当前值 |
|---|---|
| 审核中的候选版本名额 | 每个模型每个赛季 1 个,覆盖 testing 和 verified;赛季还可以限制你所有模型的总数 |
| 审核轮询间隔 | 20 秒 |
| 审核批量 | 每次运行最多 4 个候选版本 |
| 审核时钟对已准备好的提交的持有时间 | 180 秒 |
| 运行器的审核认领 | 600 秒 |
| 审核尝试次数 | 最多 3 次;之后,若每次尝试的探测都超过回合时限则为 PROBE_TOO_SLOW,否则为 TIMED_OUT |
| 审核时运行的参考观测 | 参考集的前 64 条,每次推理允许 5,000 ms |
| 上传窗口,也是 URL 的有效期 | 自第一次 POST 起 30 分钟 |
| 试赛修复次数上限 | 3 条试赛记录 |
| 没有运行器能加载候选版本的试赛 | 3 次,与修复次数上限分开计数 |
| 提交接口速率 | 每个已登录账户每秒 1 次请求,突发 5 次 |
赛季配额
这些没有平台级的值。每一项只有在赛季声明时才存在,不存在即表示不限,所以下表列出的是赛季 可以 设置的项目。GET /v1/games/{game}/submission 会在你发出请求之前报告你相对于前六项的状况。
| 规则 | 限制什么 |
|---|---|
entries.max_per_user | 你有多少个模型可以参加本赛季 |
entries.in_flight_max | 你同时可以有多少个版本在审核中 |
entries.versions_max_per_model | 一个模型可以提交的版本数 |
entries.versions_max_per_user | 你所有模型加起来可以提交的版本数 |
entries.cooldown_s | 同一模型两次提交之间的间隔 |
entries.max_per_class | 你有多少个模型可以处于同一个重量级:由赛季声明,但尚未强制执行 |
classes.allow | 哪些重量级可以参赛 |
graph.params_max | 参数量上限,与字节上限无关 |
graph.opset_min / opset_max | 赛季审核所依据的 ONNX opset 范围 |
graph.op_allowlist | 算子集合,在平台的集合之内再收窄 |
unique_weights.scope | 两个参赛模型能否使用同一组权重 |
速率限制不会覆盖每模型一个候选版本的规则、权重唯一规则,也不会覆盖赛季声明的任何配额。审核超时不保证总的处理时长,而它的验证时限比对局中的回合时限更长。
评分与排程
| 设置 | 当前值 |
|---|---|
| 初始评分均值 | 25 |
| 初始不确定度 | 8.333333333333334 |
| 显示的评分 | mu − 3 × sigma |
| 临时评分的不确定度阈值 | 大于 3 |
| 定级目标 / 初始请求上限 | 8 |
| 稳态请求上限 | 2 |
| 后继版本的不确定度倍数 | 2,以初始不确定度为上限 |
| 请求的跨重量级比例 | 0.20,并有依赖候选池的回退方案 |
这些是策略设置,不向任何参赛者保证对局频率。在解读一个空闲或临时评分的参赛模型之前,先读排名。
数值的来源
Ants 的 cartridge.json 声明了每个赛季的地图都必须符合的限制(limits.boards,即上面的三行地图数据)、回合限制和适配器预算。赛季的地图归赛季自己所有:由管理员上传,GET /v1/games/ants/seasons/{slug}/maps 列出它们。引擎源码实现几何和结束规则。赛季在数据库中确定大小边界和上表中的每一项配额,Soma 的审核时钟据此裁定。Soma 和 Kalam 的 docker/ 中的 Orion 模板配置 opset、试赛、评分、排程以及节点强制执行的操作预算。仓库页列出了每一项的归属。