Space: approved N05 benchmark plan, no results (Projektant 768d8104)
Browse files- benchmarks-contract.js +104 -0
- benchmarks-feed.json +3 -0
- benchmarks-plan.json +869 -0
- benchmarks.css +27 -0
- benchmarks.js +216 -0
- benchmarks.schema.json +599 -0
- import-benchmarks.cjs +32 -0
- index.html +17 -0
benchmarks-contract.js
ADDED
|
@@ -0,0 +1,104 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
"use strict";
|
| 2 |
+
/* Local, dependency-free checks for the keyword subset used by N05's pinned
|
| 3 |
+
05ff4733 schema. Not a general Draft2020 implementation. Unknown keywords
|
| 4 |
+
fail closed. The authoritative schema is benchmarks.schema.json. */
|
| 5 |
+
(() => {
|
| 6 |
+
const keywords = new Set(["$schema", "$id", "$defs", "$ref", "type", "const", "enum", "properties", "required", "additionalProperties", "items", "pattern", "minLength", "minimum", "maximum", "anyOf", "allOf", "if", "then", "else"]);
|
| 7 |
+
const own = (value, key) => Object.prototype.hasOwnProperty.call(value, key);
|
| 8 |
+
const object = value => value !== null && typeof value === "object" && !Array.isArray(value);
|
| 9 |
+
function matches(value, rule, root) {
|
| 10 |
+
for (const key of Object.keys(rule)) if (!keywords.has(key)) throw new Error(`Unsupported schema keyword: ${key}`);
|
| 11 |
+
if (rule.$ref) {
|
| 12 |
+
if (!rule.$ref.startsWith("#/")) throw new Error("External schema references are not allowed");
|
| 13 |
+
let target = root;
|
| 14 |
+
for (const key of rule.$ref.slice(2).split("/")) {
|
| 15 |
+
if (!own(target, key)) throw new Error("Unresolved schema reference");
|
| 16 |
+
target = target[key];
|
| 17 |
+
}
|
| 18 |
+
if (!matches(value, target, root)) return false;
|
| 19 |
+
}
|
| 20 |
+
if (own(rule, "const") && value !== rule.const) return false;
|
| 21 |
+
if (rule.enum && !rule.enum.includes(value)) return false;
|
| 22 |
+
if (rule.type) {
|
| 23 |
+
const types = Array.isArray(rule.type) ? rule.type : [rule.type];
|
| 24 |
+
if (!types.some(type => type === "null" ? value === null : type === "array" ? Array.isArray(value) : type === "object" ? object(value) : type === "integer" ? Number.isInteger(value) : type === "number" ? typeof value === "number" && Number.isFinite(value) : typeof value === type)) return false;
|
| 25 |
+
}
|
| 26 |
+
if (typeof value === "string") {
|
| 27 |
+
if (rule.minLength !== undefined && [...value].length < rule.minLength) return false;
|
| 28 |
+
if (rule.pattern && !new RegExp(rule.pattern).test(value)) return false;
|
| 29 |
+
}
|
| 30 |
+
if (typeof value === "number") {
|
| 31 |
+
if (!Number.isFinite(value)) return false;
|
| 32 |
+
if (rule.minimum !== undefined && value < rule.minimum) return false;
|
| 33 |
+
if (rule.maximum !== undefined && value > rule.maximum) return false;
|
| 34 |
+
}
|
| 35 |
+
if (Array.isArray(value) && rule.items && !value.every(item => matches(item, rule.items, root))) return false;
|
| 36 |
+
if (object(value)) {
|
| 37 |
+
if (rule.required && !rule.required.every(key => own(value, key))) return false;
|
| 38 |
+
const props = rule.properties || {};
|
| 39 |
+
for (const key of Object.keys(value)) {
|
| 40 |
+
if (own(props, key)) {
|
| 41 |
+
if (!matches(value[key], props[key], root)) return false;
|
| 42 |
+
} else if (rule.additionalProperties === false) return false;
|
| 43 |
+
}
|
| 44 |
+
}
|
| 45 |
+
if (rule.anyOf && !rule.anyOf.some(part => matches(value, part, root))) return false;
|
| 46 |
+
if (rule.allOf && !rule.allOf.every(part => matches(value, part, root))) return false;
|
| 47 |
+
if (rule.if) {
|
| 48 |
+
const branch = matches(value, rule.if, root) ? rule.then : rule.else;
|
| 49 |
+
if (branch && !matches(value, branch, root)) return false;
|
| 50 |
+
}
|
| 51 |
+
return true;
|
| 52 |
+
}
|
| 53 |
+
const key = (...parts) => JSON.stringify(parts);
|
| 54 |
+
function unique(items, getKey, name) {
|
| 55 |
+
const map = new Map();
|
| 56 |
+
for (const item of items) {
|
| 57 |
+
const id = getKey(item);
|
| 58 |
+
if (map.has(id)) throw new Error(`Duplicate ${name}: ${id}`);
|
| 59 |
+
map.set(id, item);
|
| 60 |
+
}
|
| 61 |
+
return map;
|
| 62 |
+
}
|
| 63 |
+
function validCI(ci) {
|
| 64 |
+
if (ci !== null && ci.lower > ci.upper) throw new Error("CI lower exceeds upper");
|
| 65 |
+
}
|
| 66 |
+
function validate(packet, inventory, schema, inventoryRevision) {
|
| 67 |
+
if (!matches(packet, schema, schema)) throw new Error("Packet does not match the pinned N05 schema");
|
| 68 |
+
if (packet.provenance.kind !== "measurement") throw new Error("Contract example is not a measurement");
|
| 69 |
+
if (packet.provenance.inventory_commit !== inventoryRevision) throw new Error("Inventory revision differs from the displayed protocol");
|
| 70 |
+
if (![`${inventory.protocol}-panel200`, `${inventory.protocol}-fullB`].includes(packet.protocol_id)) throw new Error("Unknown protocol scale");
|
| 71 |
+
const models = unique(packet.models, m => m.model_id, "model");
|
| 72 |
+
const tasks = unique(packet.tasks, t => t.task_id, "task");
|
| 73 |
+
const plan = new Map(inventory.rows.map(t => [t.id, t]));
|
| 74 |
+
for (const task of tasks.values()) {
|
| 75 |
+
const item = plan.get(task.task_id);
|
| 76 |
+
if (!item || ["task", "family", "language", "split"].some(field => task[field] !== item[field])) throw new Error(`Task metadata differs: ${task.task_id}`);
|
| 77 |
+
}
|
| 78 |
+
const observations = unique(packet.observations, o => key(o.task_id, o.model_id, o.protocol_id), "observation");
|
| 79 |
+
for (const o of observations.values()) {
|
| 80 |
+
if (!tasks.has(o.task_id) || !models.has(o.model_id) || o.protocol_id !== packet.protocol_id) throw new Error("Unknown task, model or protocol in observation");
|
| 81 |
+
if ((o.n_selected !== null && o.n_scored > o.n_selected) || (o.n_selected !== null && o.n_population !== null && o.n_selected > o.n_population)) throw new Error("Inconsistent sample counts");
|
| 82 |
+
validCI(o.ci95);
|
| 83 |
+
}
|
| 84 |
+
const contrasts = unique(packet.contrasts, c => key(c.task_id, c.model_id, c.model_ref, c.protocol_id), "contrast");
|
| 85 |
+
for (const c of contrasts.values()) {
|
| 86 |
+
if (!tasks.has(c.task_id) || !models.has(c.model_id) || !models.has(c.model_ref) || c.protocol_id !== packet.protocol_id) throw new Error("Unknown key in contrast");
|
| 87 |
+
validCI(c.ci95);
|
| 88 |
+
if (c.verdict !== "withheld") {
|
| 89 |
+
const left = observations.get(key(c.task_id, c.model_id, c.protocol_id));
|
| 90 |
+
const right = observations.get(key(c.task_id, c.model_ref, c.protocol_id));
|
| 91 |
+
if (!left || !right || left.state !== "ok" || right.state !== "ok" || left.metric !== right.metric || left.unit !== right.unit || left.higher_is_better !== right.higher_is_better) throw new Error("Accepted contrast lacks comparable observations");
|
| 92 |
+
if ((c.verdict === "better" || c.verdict === "worse") && c.p_holm > 0.05) throw new Error("Decisive verdict conflicts with the declared Holm rule");
|
| 93 |
+
}
|
| 94 |
+
}
|
| 95 |
+
return {models, tasks, observations, contrasts};
|
| 96 |
+
}
|
| 97 |
+
const api = {validate, key,
|
| 98 |
+
revision: "326c4474393c223c77bb3a3ca6a82e001758d056",
|
| 99 |
+
inventorySHA: "67a751a0e53800203e6ec63100a9fd777dbc1f899171acee3181cf1cc8ab44b0",
|
| 100 |
+
schemaSHA: "68a3e5dc934ccf82748d12b26c3a44d7a1f338efaae5b113d22a2960108adc92"
|
| 101 |
+
};
|
| 102 |
+
if (typeof module !== "undefined" && module.exports) module.exports = api;
|
| 103 |
+
else window.N05Contract = api;
|
| 104 |
+
})();
|
benchmarks-feed.json
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"results": null
|
| 3 |
+
}
|
benchmarks-plan.json
ADDED
|
@@ -0,0 +1,869 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"schema_version": 1,
|
| 3 |
+
"protocol": "N05-50-v0.2",
|
| 4 |
+
"counts": {
|
| 5 |
+
"rows": 50,
|
| 6 |
+
"PL": 25,
|
| 7 |
+
"EN": 25
|
| 8 |
+
},
|
| 9 |
+
"sources": {
|
| 10 |
+
"lm_eval_commit": "6d2abda4fd171e68a8789330c4149e37c1ca0bda",
|
| 11 |
+
"openpl_commit": "21d0ea9cf4fd6153dfff4d84d6ad0aab5488f302",
|
| 12 |
+
"openpl_about_snapshot": "Ewaluator/bielik/about_space_0d30867d.py"
|
| 13 |
+
},
|
| 14 |
+
"selection": {
|
| 15 |
+
"seed": 20261028,
|
| 16 |
+
"max_documents_per_task": 200,
|
| 17 |
+
"unit": "canonical source document; paired versions share membership",
|
| 18 |
+
"ordering": "SHA256(UTF8(\"20261028|\"+family+\"|\"+source_id)); ties by canonical source bytes",
|
| 19 |
+
"when": "freeze manifests before model scoring; no prefix limit",
|
| 20 |
+
"full_protocol_B": "separate full 23-task replication; never compare sample score to published full score",
|
| 21 |
+
"support_policy": "panel only: five support IDs ranked by SHA256(20261028|family|support|source_id); declared/fallback pool after process_docs; same-split support removed from scored population; record all demo IDs and actual_shots",
|
| 22 |
+
"context_policy": "panel lm-eval max_length4096 float32 batch1; drop support from end to fit prompt+YAML max_gen_toks; never silently cut query/options; fullB retains independently verified source protocol",
|
| 23 |
+
"harness_seed_tuple": {
|
| 24 |
+
"python": 0,
|
| 25 |
+
"numpy": 1234,
|
| 26 |
+
"torch": 1234,
|
| 27 |
+
"fewshot": 1234
|
| 28 |
+
}
|
| 29 |
+
},
|
| 30 |
+
"rows": [
|
| 31 |
+
{
|
| 32 |
+
"id": "T01",
|
| 33 |
+
"task": "blimp_glint",
|
| 34 |
+
"language": "EN",
|
| 35 |
+
"family": "blimp",
|
| 36 |
+
"metric": "accuracy",
|
| 37 |
+
"instrument": "custom_glint",
|
| 38 |
+
"split": "train",
|
| 39 |
+
"rationale": "minimal-pair grammar",
|
| 40 |
+
"shots": 0
|
| 41 |
+
},
|
| 42 |
+
{
|
| 43 |
+
"id": "T02",
|
| 44 |
+
"task": "arc_easy_glint",
|
| 45 |
+
"language": "EN",
|
| 46 |
+
"family": "arc_easy",
|
| 47 |
+
"metric": "accuracy",
|
| 48 |
+
"instrument": "custom_glint",
|
| 49 |
+
"split": "test",
|
| 50 |
+
"rationale": "school science",
|
| 51 |
+
"shots": 0
|
| 52 |
+
},
|
| 53 |
+
{
|
| 54 |
+
"id": "T03",
|
| 55 |
+
"task": "wikitext2_byte",
|
| 56 |
+
"language": "EN",
|
| 57 |
+
"family": "wikitext2",
|
| 58 |
+
"metric": "byte_perplexity",
|
| 59 |
+
"instrument": "custom_glint",
|
| 60 |
+
"split": "test",
|
| 61 |
+
"rationale": "language modelling",
|
| 62 |
+
"shots": 0
|
| 63 |
+
},
|
| 64 |
+
{
|
| 65 |
+
"id": "T04",
|
| 66 |
+
"task": "multiblimp_pl",
|
| 67 |
+
"language": "PL",
|
| 68 |
+
"family": "multiblimp",
|
| 69 |
+
"metric": "accuracy",
|
| 70 |
+
"instrument": "custom_pl",
|
| 71 |
+
"split": "pol/data.tsv",
|
| 72 |
+
"rationale": "Polish grammar",
|
| 73 |
+
"shots": 0
|
| 74 |
+
},
|
| 75 |
+
{
|
| 76 |
+
"id": "T05",
|
| 77 |
+
"task": "arc_easy_pl_eu20",
|
| 78 |
+
"language": "PL",
|
| 79 |
+
"family": "arc_easy",
|
| 80 |
+
"metric": "accuracy",
|
| 81 |
+
"instrument": "custom_pl",
|
| 82 |
+
"split": "test",
|
| 83 |
+
"rationale": "paired science EN/PL",
|
| 84 |
+
"shots": 0
|
| 85 |
+
},
|
| 86 |
+
{
|
| 87 |
+
"id": "T06",
|
| 88 |
+
"task": "hellaswag",
|
| 89 |
+
"language": "EN",
|
| 90 |
+
"family": "hellaswag",
|
| 91 |
+
"metric": "acc_norm",
|
| 92 |
+
"instrument": "lm_eval_0.4.8",
|
| 93 |
+
"split": "validation",
|
| 94 |
+
"rationale": "commonsense",
|
| 95 |
+
"shots": 0,
|
| 96 |
+
"definition": "lm_eval/tasks/hellaswag/hellaswag.yaml"
|
| 97 |
+
},
|
| 98 |
+
{
|
| 99 |
+
"id": "T07",
|
| 100 |
+
"task": "piqa",
|
| 101 |
+
"language": "EN",
|
| 102 |
+
"family": "piqa",
|
| 103 |
+
"metric": "acc_norm",
|
| 104 |
+
"instrument": "lm_eval_0.4.8",
|
| 105 |
+
"split": "validation",
|
| 106 |
+
"rationale": "physical reasoning",
|
| 107 |
+
"shots": 0,
|
| 108 |
+
"definition": "lm_eval/tasks/piqa/piqa.yaml"
|
| 109 |
+
},
|
| 110 |
+
{
|
| 111 |
+
"id": "T08",
|
| 112 |
+
"task": "arc_challenge",
|
| 113 |
+
"language": "EN",
|
| 114 |
+
"family": "arc_challenge",
|
| 115 |
+
"metric": "acc_norm",
|
| 116 |
+
"instrument": "lm_eval_0.4.8",
|
| 117 |
+
"split": "test",
|
| 118 |
+
"rationale": "science",
|
| 119 |
+
"shots": 0,
|
| 120 |
+
"definition": "lm_eval/tasks/arc/arc_challenge.yaml"
|
| 121 |
+
},
|
| 122 |
+
{
|
| 123 |
+
"id": "T09",
|
| 124 |
+
"task": "winogrande",
|
| 125 |
+
"language": "EN",
|
| 126 |
+
"family": "winogrande",
|
| 127 |
+
"metric": "acc",
|
| 128 |
+
"instrument": "lm_eval_0.4.8",
|
| 129 |
+
"split": "validation",
|
| 130 |
+
"rationale": "coreference",
|
| 131 |
+
"shots": 0,
|
| 132 |
+
"definition": "lm_eval/tasks/winogrande/default.yaml"
|
| 133 |
+
},
|
| 134 |
+
{
|
| 135 |
+
"id": "T10",
|
| 136 |
+
"task": "openbookqa",
|
| 137 |
+
"language": "EN",
|
| 138 |
+
"family": "openbookqa",
|
| 139 |
+
"metric": "acc_norm",
|
| 140 |
+
"instrument": "lm_eval_0.4.8",
|
| 141 |
+
"split": "test",
|
| 142 |
+
"rationale": "science",
|
| 143 |
+
"shots": 0,
|
| 144 |
+
"definition": "lm_eval/tasks/openbookqa/openbookqa.yaml"
|
| 145 |
+
},
|
| 146 |
+
{
|
| 147 |
+
"id": "T11",
|
| 148 |
+
"task": "sciq",
|
| 149 |
+
"language": "EN",
|
| 150 |
+
"family": "sciq",
|
| 151 |
+
"metric": "acc_norm",
|
| 152 |
+
"instrument": "lm_eval_0.4.8",
|
| 153 |
+
"split": "test",
|
| 154 |
+
"rationale": "science with provided support",
|
| 155 |
+
"shots": 0,
|
| 156 |
+
"definition": "lm_eval/tasks/sciq/sciq.yaml"
|
| 157 |
+
},
|
| 158 |
+
{
|
| 159 |
+
"id": "T12",
|
| 160 |
+
"task": "boolq",
|
| 161 |
+
"language": "EN",
|
| 162 |
+
"family": "boolq",
|
| 163 |
+
"metric": "acc",
|
| 164 |
+
"instrument": "lm_eval_0.4.8",
|
| 165 |
+
"split": "validation",
|
| 166 |
+
"rationale": "reading comprehension",
|
| 167 |
+
"shots": 0,
|
| 168 |
+
"definition": "lm_eval/tasks/super_glue/boolq/default.yaml"
|
| 169 |
+
},
|
| 170 |
+
{
|
| 171 |
+
"id": "T13",
|
| 172 |
+
"task": "copa",
|
| 173 |
+
"language": "EN",
|
| 174 |
+
"family": "copa",
|
| 175 |
+
"metric": "acc",
|
| 176 |
+
"instrument": "lm_eval_0.4.8",
|
| 177 |
+
"split": "validation",
|
| 178 |
+
"rationale": "causal reasoning",
|
| 179 |
+
"shots": 0,
|
| 180 |
+
"definition": "lm_eval/tasks/super_glue/copa/default.yaml"
|
| 181 |
+
},
|
| 182 |
+
{
|
| 183 |
+
"id": "T14",
|
| 184 |
+
"task": "cb",
|
| 185 |
+
"language": "EN",
|
| 186 |
+
"family": "cb",
|
| 187 |
+
"metric": "acc",
|
| 188 |
+
"instrument": "lm_eval_0.4.8",
|
| 189 |
+
"split": "validation",
|
| 190 |
+
"rationale": "entailment",
|
| 191 |
+
"shots": 0,
|
| 192 |
+
"definition": "lm_eval/tasks/super_glue/cb/default.yaml"
|
| 193 |
+
},
|
| 194 |
+
{
|
| 195 |
+
"id": "T15",
|
| 196 |
+
"task": "wic",
|
| 197 |
+
"language": "EN",
|
| 198 |
+
"family": "wic",
|
| 199 |
+
"metric": "acc",
|
| 200 |
+
"instrument": "lm_eval_0.4.8",
|
| 201 |
+
"split": "validation",
|
| 202 |
+
"rationale": "word sense",
|
| 203 |
+
"shots": 0,
|
| 204 |
+
"definition": "lm_eval/tasks/super_glue/wic/default.yaml"
|
| 205 |
+
},
|
| 206 |
+
{
|
| 207 |
+
"id": "T16",
|
| 208 |
+
"task": "wsc273",
|
| 209 |
+
"language": "EN",
|
| 210 |
+
"family": "wsc273",
|
| 211 |
+
"metric": "acc",
|
| 212 |
+
"instrument": "lm_eval_0.4.8",
|
| 213 |
+
"split": "test",
|
| 214 |
+
"rationale": "coreference",
|
| 215 |
+
"shots": 0,
|
| 216 |
+
"definition": "lm_eval/tasks/wsc273/default.yaml"
|
| 217 |
+
},
|
| 218 |
+
{
|
| 219 |
+
"id": "T17",
|
| 220 |
+
"task": "sglue_rte",
|
| 221 |
+
"language": "EN",
|
| 222 |
+
"family": "sglue_rte",
|
| 223 |
+
"metric": "acc",
|
| 224 |
+
"instrument": "lm_eval_0.4.8",
|
| 225 |
+
"split": "validation",
|
| 226 |
+
"rationale": "entailment",
|
| 227 |
+
"shots": 0,
|
| 228 |
+
"definition": "lm_eval/tasks/super_glue/rte/default.yaml"
|
| 229 |
+
},
|
| 230 |
+
{
|
| 231 |
+
"id": "T18",
|
| 232 |
+
"task": "anli_r1",
|
| 233 |
+
"language": "EN",
|
| 234 |
+
"family": "anli",
|
| 235 |
+
"metric": "acc",
|
| 236 |
+
"instrument": "lm_eval_0.4.8",
|
| 237 |
+
"split": "test_r1",
|
| 238 |
+
"rationale": "adversarial entailment",
|
| 239 |
+
"shots": 0,
|
| 240 |
+
"definition": "lm_eval/tasks/anli/anli_r1.yaml"
|
| 241 |
+
},
|
| 242 |
+
{
|
| 243 |
+
"id": "T19",
|
| 244 |
+
"task": "anli_r2",
|
| 245 |
+
"language": "EN",
|
| 246 |
+
"family": "anli",
|
| 247 |
+
"metric": "acc",
|
| 248 |
+
"instrument": "lm_eval_0.4.8",
|
| 249 |
+
"split": "test_r2",
|
| 250 |
+
"rationale": "adversarial entailment",
|
| 251 |
+
"shots": 0,
|
| 252 |
+
"definition": "lm_eval/tasks/anli/anli_r2.yaml"
|
| 253 |
+
},
|
| 254 |
+
{
|
| 255 |
+
"id": "T20",
|
| 256 |
+
"task": "anli_r3",
|
| 257 |
+
"language": "EN",
|
| 258 |
+
"family": "anli",
|
| 259 |
+
"metric": "acc",
|
| 260 |
+
"instrument": "lm_eval_0.4.8",
|
| 261 |
+
"split": "test_r3",
|
| 262 |
+
"rationale": "adversarial entailment",
|
| 263 |
+
"shots": 0,
|
| 264 |
+
"definition": "lm_eval/tasks/anli/anli_r3.yaml"
|
| 265 |
+
},
|
| 266 |
+
{
|
| 267 |
+
"id": "T21",
|
| 268 |
+
"task": "swag",
|
| 269 |
+
"language": "EN",
|
| 270 |
+
"family": "swag",
|
| 271 |
+
"metric": "acc_norm",
|
| 272 |
+
"instrument": "lm_eval_0.4.8",
|
| 273 |
+
"split": "validation",
|
| 274 |
+
"rationale": "continuation",
|
| 275 |
+
"shots": 0,
|
| 276 |
+
"definition": "lm_eval/tasks/swag/swag.yaml"
|
| 277 |
+
},
|
| 278 |
+
{
|
| 279 |
+
"id": "T22",
|
| 280 |
+
"task": "lambada_openai",
|
| 281 |
+
"language": "EN",
|
| 282 |
+
"family": "lambada_openai",
|
| 283 |
+
"metric": "acc",
|
| 284 |
+
"instrument": "lm_eval_0.4.8",
|
| 285 |
+
"split": "test",
|
| 286 |
+
"rationale": "last-word completion",
|
| 287 |
+
"shots": 0,
|
| 288 |
+
"definition": "lm_eval/tasks/lambada/lambada_openai.yaml"
|
| 289 |
+
},
|
| 290 |
+
{
|
| 291 |
+
"id": "T23",
|
| 292 |
+
"task": "logiqa",
|
| 293 |
+
"language": "EN",
|
| 294 |
+
"family": "logiqa",
|
| 295 |
+
"metric": "acc_norm",
|
| 296 |
+
"instrument": "lm_eval_0.4.8",
|
| 297 |
+
"split": "test",
|
| 298 |
+
"rationale": "logical reasoning",
|
| 299 |
+
"shots": 0,
|
| 300 |
+
"definition": "lm_eval/tasks/logiqa/logiqa.yaml"
|
| 301 |
+
},
|
| 302 |
+
{
|
| 303 |
+
"id": "T24",
|
| 304 |
+
"task": "mathqa",
|
| 305 |
+
"language": "EN",
|
| 306 |
+
"family": "mathqa",
|
| 307 |
+
"metric": "acc_norm",
|
| 308 |
+
"instrument": "lm_eval_0.4.8",
|
| 309 |
+
"split": "test",
|
| 310 |
+
"rationale": "arithmetic multiple choice",
|
| 311 |
+
"shots": 0,
|
| 312 |
+
"definition": "lm_eval/tasks/mathqa/mathqa.yaml"
|
| 313 |
+
},
|
| 314 |
+
{
|
| 315 |
+
"id": "T25",
|
| 316 |
+
"task": "prost",
|
| 317 |
+
"language": "EN",
|
| 318 |
+
"family": "prost",
|
| 319 |
+
"metric": "acc_norm",
|
| 320 |
+
"instrument": "lm_eval_0.4.8",
|
| 321 |
+
"split": "test",
|
| 322 |
+
"rationale": "physical reasoning",
|
| 323 |
+
"shots": 0,
|
| 324 |
+
"definition": "lm_eval/tasks/prost/corypaik_prost.yaml"
|
| 325 |
+
},
|
| 326 |
+
{
|
| 327 |
+
"id": "T26",
|
| 328 |
+
"task": "qnli",
|
| 329 |
+
"language": "EN",
|
| 330 |
+
"family": "qnli",
|
| 331 |
+
"metric": "acc",
|
| 332 |
+
"instrument": "lm_eval_0.4.8",
|
| 333 |
+
"split": "validation",
|
| 334 |
+
"rationale": "question entailment",
|
| 335 |
+
"shots": 0,
|
| 336 |
+
"definition": "lm_eval/tasks/glue/qnli/default.yaml"
|
| 337 |
+
},
|
| 338 |
+
{
|
| 339 |
+
"id": "T27",
|
| 340 |
+
"task": "sst2",
|
| 341 |
+
"language": "EN",
|
| 342 |
+
"family": "sst2",
|
| 343 |
+
"metric": "acc",
|
| 344 |
+
"instrument": "lm_eval_0.4.8",
|
| 345 |
+
"split": "validation",
|
| 346 |
+
"rationale": "sentiment",
|
| 347 |
+
"shots": 0,
|
| 348 |
+
"definition": "lm_eval/tasks/glue/sst2/default.yaml"
|
| 349 |
+
},
|
| 350 |
+
{
|
| 351 |
+
"id": "T28",
|
| 352 |
+
"task": "polemo2_in",
|
| 353 |
+
"language": "PL",
|
| 354 |
+
"family": "polemo2-in",
|
| 355 |
+
"metric": "exact_match,score-first",
|
| 356 |
+
"instrument": "openpl_polish4",
|
| 357 |
+
"split": "test",
|
| 358 |
+
"rationale": "complete official Open PL average; generation/MC variants are correlated protocols, not independent datasets",
|
| 359 |
+
"shots": 5,
|
| 360 |
+
"leaderboard_column": "polemo2-in_g",
|
| 361 |
+
"random_baseline_percent": 41.6,
|
| 362 |
+
"dataset_path": "allegro/klej-polemo2-in",
|
| 363 |
+
"dataset_config": null,
|
| 364 |
+
"dataset_revision_declared": null,
|
| 365 |
+
"definition_files": [
|
| 366 |
+
{
|
| 367 |
+
"path": "lm_eval/tasks/polemo2/polemo2_in.yaml",
|
| 368 |
+
"sha256": "55f52677240b29b17e212914b24d5a4d461480e39f39af6753108ed1b888b399"
|
| 369 |
+
}
|
| 370 |
+
]
|
| 371 |
+
},
|
| 372 |
+
{
|
| 373 |
+
"id": "T29",
|
| 374 |
+
"task": "polemo2_in_multiple_choice",
|
| 375 |
+
"language": "PL",
|
| 376 |
+
"family": "polemo2-in",
|
| 377 |
+
"metric": "acc,none",
|
| 378 |
+
"instrument": "openpl_polish4",
|
| 379 |
+
"split": "test",
|
| 380 |
+
"rationale": "complete official Open PL average; generation/MC variants are correlated protocols, not independent datasets",
|
| 381 |
+
"shots": 5,
|
| 382 |
+
"leaderboard_column": "polemo2-in_mc",
|
| 383 |
+
"random_baseline_percent": 41.6,
|
| 384 |
+
"dataset_path": "allegro/klej-polemo2-in",
|
| 385 |
+
"dataset_config": null,
|
| 386 |
+
"dataset_revision_declared": null,
|
| 387 |
+
"definition_files": [
|
| 388 |
+
{
|
| 389 |
+
"path": "lm_eval/tasks/polemo2/polemo2_in_mc.yaml",
|
| 390 |
+
"sha256": "3cf0b8fc1b478a900fc484827b2caf35d3a7c5b249733f9c306ab144ec37c254"
|
| 391 |
+
}
|
| 392 |
+
]
|
| 393 |
+
},
|
| 394 |
+
{
|
| 395 |
+
"id": "T30",
|
| 396 |
+
"task": "polemo2_out",
|
| 397 |
+
"language": "PL",
|
| 398 |
+
"family": "polemo2-out",
|
| 399 |
+
"metric": "exact_match,score-first",
|
| 400 |
+
"instrument": "openpl_polish4",
|
| 401 |
+
"split": "test",
|
| 402 |
+
"rationale": "complete official Open PL average; generation/MC variants are correlated protocols, not independent datasets",
|
| 403 |
+
"shots": 5,
|
| 404 |
+
"leaderboard_column": "polemo2-out_g",
|
| 405 |
+
"random_baseline_percent": 36.8,
|
| 406 |
+
"dataset_path": "allegro/klej-polemo2-out",
|
| 407 |
+
"dataset_config": null,
|
| 408 |
+
"dataset_revision_declared": null,
|
| 409 |
+
"definition_files": [
|
| 410 |
+
{
|
| 411 |
+
"path": "lm_eval/tasks/polemo2/polemo2_in.yaml",
|
| 412 |
+
"sha256": "55f52677240b29b17e212914b24d5a4d461480e39f39af6753108ed1b888b399"
|
| 413 |
+
},
|
| 414 |
+
{
|
| 415 |
+
"path": "lm_eval/tasks/polemo2/polemo2_out.yaml",
|
| 416 |
+
"sha256": "e2bd578ebfe3fe5b92ad08caac1220ca1db02958f03697f5e993faab0dc08127"
|
| 417 |
+
}
|
| 418 |
+
]
|
| 419 |
+
},
|
| 420 |
+
{
|
| 421 |
+
"id": "T31",
|
| 422 |
+
"task": "polemo2_out_multiple_choice",
|
| 423 |
+
"language": "PL",
|
| 424 |
+
"family": "polemo2-out",
|
| 425 |
+
"metric": "acc,none",
|
| 426 |
+
"instrument": "openpl_polish4",
|
| 427 |
+
"split": "test",
|
| 428 |
+
"rationale": "complete official Open PL average; generation/MC variants are correlated protocols, not independent datasets",
|
| 429 |
+
"shots": 5,
|
| 430 |
+
"leaderboard_column": "polemo2-out_mc",
|
| 431 |
+
"random_baseline_percent": 36.8,
|
| 432 |
+
"dataset_path": "allegro/klej-polemo2-out",
|
| 433 |
+
"dataset_config": null,
|
| 434 |
+
"dataset_revision_declared": null,
|
| 435 |
+
"definition_files": [
|
| 436 |
+
{
|
| 437 |
+
"path": "lm_eval/tasks/polemo2/polemo2_in_mc.yaml",
|
| 438 |
+
"sha256": "3cf0b8fc1b478a900fc484827b2caf35d3a7c5b249733f9c306ab144ec37c254"
|
| 439 |
+
},
|
| 440 |
+
{
|
| 441 |
+
"path": "lm_eval/tasks/polemo2/polemo2_out_mc.yaml",
|
| 442 |
+
"sha256": "634d051e40b1b91ad7ef2f29194c76f280cd404e6a54af8f40f9e6dc956c8057"
|
| 443 |
+
}
|
| 444 |
+
]
|
| 445 |
+
},
|
| 446 |
+
{
|
| 447 |
+
"id": "T32",
|
| 448 |
+
"task": "polish_8tags_multiple_choice",
|
| 449 |
+
"language": "PL",
|
| 450 |
+
"family": "8tags",
|
| 451 |
+
"metric": "acc,none",
|
| 452 |
+
"instrument": "openpl_polish4",
|
| 453 |
+
"split": "test",
|
| 454 |
+
"rationale": "complete official Open PL average; generation/MC variants are correlated protocols, not independent datasets",
|
| 455 |
+
"shots": 5,
|
| 456 |
+
"leaderboard_column": "8tags_mc",
|
| 457 |
+
"random_baseline_percent": 14.3,
|
| 458 |
+
"dataset_path": "sdadas/8tags",
|
| 459 |
+
"dataset_config": null,
|
| 460 |
+
"dataset_revision_declared": null,
|
| 461 |
+
"definition_files": [
|
| 462 |
+
{
|
| 463 |
+
"path": "lm_eval/tasks/polish_8tags/8tags_mc.yaml",
|
| 464 |
+
"sha256": "fce252aaf70fc0220ea786c43b1798edc1cfd4e826c60666f040b418be2a39cd"
|
| 465 |
+
}
|
| 466 |
+
]
|
| 467 |
+
},
|
| 468 |
+
{
|
| 469 |
+
"id": "T33",
|
| 470 |
+
"task": "polish_8tags_regex",
|
| 471 |
+
"language": "PL",
|
| 472 |
+
"family": "8tags",
|
| 473 |
+
"metric": "exact_match,score-first",
|
| 474 |
+
"instrument": "openpl_polish4",
|
| 475 |
+
"split": "test",
|
| 476 |
+
"rationale": "complete official Open PL average; generation/MC variants are correlated protocols, not independent datasets",
|
| 477 |
+
"shots": 5,
|
| 478 |
+
"leaderboard_column": "8tags_g",
|
| 479 |
+
"random_baseline_percent": 14.3,
|
| 480 |
+
"dataset_path": "sdadas/8tags",
|
| 481 |
+
"dataset_config": null,
|
| 482 |
+
"dataset_revision_declared": null,
|
| 483 |
+
"definition_files": [
|
| 484 |
+
{
|
| 485 |
+
"path": "lm_eval/tasks/polish_8tags/8tags_regex.yaml",
|
| 486 |
+
"sha256": "e389be0939f0c1a9be0e552659c1ea8950b77ca69254ecab4b6ded7c24314371"
|
| 487 |
+
}
|
| 488 |
+
]
|
| 489 |
+
},
|
| 490 |
+
{
|
| 491 |
+
"id": "T34",
|
| 492 |
+
"task": "polish_belebele_mc",
|
| 493 |
+
"language": "PL",
|
| 494 |
+
"family": "belebele",
|
| 495 |
+
"metric": "acc,none",
|
| 496 |
+
"instrument": "openpl_polish4",
|
| 497 |
+
"split": "test",
|
| 498 |
+
"rationale": "complete official Open PL average; generation/MC variants are correlated protocols, not independent datasets",
|
| 499 |
+
"shots": 5,
|
| 500 |
+
"leaderboard_column": "belebele_mc",
|
| 501 |
+
"random_baseline_percent": 27.9,
|
| 502 |
+
"dataset_path": "facebook/belebele",
|
| 503 |
+
"dataset_config": "pol_Latn",
|
| 504 |
+
"dataset_revision_declared": null,
|
| 505 |
+
"definition_files": [
|
| 506 |
+
{
|
| 507 |
+
"path": "lm_eval/tasks/polish_belebele/belebele_mc.yaml",
|
| 508 |
+
"sha256": "eb9ae0c3398424dfda4641bc983ea8497d75d1cfcd11a9cdcbf4e346769d7ccf"
|
| 509 |
+
}
|
| 510 |
+
]
|
| 511 |
+
},
|
| 512 |
+
{
|
| 513 |
+
"id": "T35",
|
| 514 |
+
"task": "polish_belebele_regex",
|
| 515 |
+
"language": "PL",
|
| 516 |
+
"family": "belebele",
|
| 517 |
+
"metric": "exact_match,score-first",
|
| 518 |
+
"instrument": "openpl_polish4",
|
| 519 |
+
"split": "test",
|
| 520 |
+
"rationale": "complete official Open PL average; generation/MC variants are correlated protocols, not independent datasets",
|
| 521 |
+
"shots": 5,
|
| 522 |
+
"leaderboard_column": "belebele_g",
|
| 523 |
+
"random_baseline_percent": 27.9,
|
| 524 |
+
"dataset_path": "facebook/belebele",
|
| 525 |
+
"dataset_config": "pol_Latn",
|
| 526 |
+
"dataset_revision_declared": null,
|
| 527 |
+
"definition_files": [
|
| 528 |
+
{
|
| 529 |
+
"path": "lm_eval/tasks/polish_belebele/belebele_regex.yaml",
|
| 530 |
+
"sha256": "9db37451b44dab22531f273dd690f5cd7b8518d0e4bb6d8d34e6bcc7b2507562"
|
| 531 |
+
}
|
| 532 |
+
]
|
| 533 |
+
},
|
| 534 |
+
{
|
| 535 |
+
"id": "T36",
|
| 536 |
+
"task": "polish_dyk_multiple_choice",
|
| 537 |
+
"language": "PL",
|
| 538 |
+
"family": "dyk",
|
| 539 |
+
"metric": "f1,none",
|
| 540 |
+
"instrument": "openpl_polish4",
|
| 541 |
+
"split": "test",
|
| 542 |
+
"rationale": "complete official Open PL average; generation/MC variants are correlated protocols, not independent datasets",
|
| 543 |
+
"shots": 5,
|
| 544 |
+
"leaderboard_column": "dyk_mc",
|
| 545 |
+
"random_baseline_percent": 28.9,
|
| 546 |
+
"dataset_path": "allegro/klej-dyk",
|
| 547 |
+
"dataset_config": null,
|
| 548 |
+
"dataset_revision_declared": null,
|
| 549 |
+
"definition_files": [
|
| 550 |
+
{
|
| 551 |
+
"path": "lm_eval/tasks/polish_dyk/dyk_mc.yaml",
|
| 552 |
+
"sha256": "5ccbe634ee0222ce7f260b5f4932b1f015db6ccdd7f0a1d327d88184bf466f67"
|
| 553 |
+
}
|
| 554 |
+
]
|
| 555 |
+
},
|
| 556 |
+
{
|
| 557 |
+
"id": "T37",
|
| 558 |
+
"task": "polish_dyk_regex",
|
| 559 |
+
"language": "PL",
|
| 560 |
+
"family": "dyk",
|
| 561 |
+
"metric": "f1,score-first",
|
| 562 |
+
"instrument": "openpl_polish4",
|
| 563 |
+
"split": "test",
|
| 564 |
+
"rationale": "complete official Open PL average; generation/MC variants are correlated protocols, not independent datasets",
|
| 565 |
+
"shots": 5,
|
| 566 |
+
"leaderboard_column": "dyk_g",
|
| 567 |
+
"random_baseline_percent": 28.9,
|
| 568 |
+
"dataset_path": "allegro/klej-dyk",
|
| 569 |
+
"dataset_config": null,
|
| 570 |
+
"dataset_revision_declared": null,
|
| 571 |
+
"definition_files": [
|
| 572 |
+
{
|
| 573 |
+
"path": "lm_eval/tasks/polish_dyk/dyk_regex.yaml",
|
| 574 |
+
"sha256": "b553c5dcf938d8baf1c1862282e96c21b36c9d65bfffda84856d506ef9fdf6dc"
|
| 575 |
+
}
|
| 576 |
+
]
|
| 577 |
+
},
|
| 578 |
+
{
|
| 579 |
+
"id": "T38",
|
| 580 |
+
"task": "polish_ppc_multiple_choice",
|
| 581 |
+
"language": "PL",
|
| 582 |
+
"family": "ppc",
|
| 583 |
+
"metric": "acc,none",
|
| 584 |
+
"instrument": "openpl_polish4",
|
| 585 |
+
"split": "test",
|
| 586 |
+
"rationale": "complete official Open PL average; generation/MC variants are correlated protocols, not independent datasets",
|
| 587 |
+
"shots": 5,
|
| 588 |
+
"leaderboard_column": "ppc_mc",
|
| 589 |
+
"random_baseline_percent": 41.9,
|
| 590 |
+
"dataset_path": "sdadas/ppc",
|
| 591 |
+
"dataset_config": null,
|
| 592 |
+
"dataset_revision_declared": null,
|
| 593 |
+
"definition_files": [
|
| 594 |
+
{
|
| 595 |
+
"path": "lm_eval/tasks/polish_ppc/ppc_mc.yaml",
|
| 596 |
+
"sha256": "fd6a04fbcec596966b0bcc91b7b3451255f94a8fae59c131455af32fac930054"
|
| 597 |
+
}
|
| 598 |
+
]
|
| 599 |
+
},
|
| 600 |
+
{
|
| 601 |
+
"id": "T39",
|
| 602 |
+
"task": "polish_ppc_regex",
|
| 603 |
+
"language": "PL",
|
| 604 |
+
"family": "ppc",
|
| 605 |
+
"metric": "exact_match,score-first",
|
| 606 |
+
"instrument": "openpl_polish4",
|
| 607 |
+
"split": "test",
|
| 608 |
+
"rationale": "complete official Open PL average; generation/MC variants are correlated protocols, not independent datasets",
|
| 609 |
+
"shots": 5,
|
| 610 |
+
"leaderboard_column": "ppc_g",
|
| 611 |
+
"random_baseline_percent": 41.9,
|
| 612 |
+
"dataset_path": "sdadas/ppc",
|
| 613 |
+
"dataset_config": null,
|
| 614 |
+
"dataset_revision_declared": null,
|
| 615 |
+
"definition_files": [
|
| 616 |
+
{
|
| 617 |
+
"path": "lm_eval/tasks/polish_ppc/ppc_regex.yaml",
|
| 618 |
+
"sha256": "02f1f211515c2085dc6d69bb6f002af9c3ecb23168f52f54ead81b6bfdde7f5d"
|
| 619 |
+
}
|
| 620 |
+
]
|
| 621 |
+
},
|
| 622 |
+
{
|
| 623 |
+
"id": "T40",
|
| 624 |
+
"task": "polish_psc_multiple_choice",
|
| 625 |
+
"language": "PL",
|
| 626 |
+
"family": "psc",
|
| 627 |
+
"metric": "f1,none",
|
| 628 |
+
"instrument": "openpl_polish4",
|
| 629 |
+
"split": "test",
|
| 630 |
+
"rationale": "complete official Open PL average; generation/MC variants are correlated protocols, not independent datasets",
|
| 631 |
+
"shots": 5,
|
| 632 |
+
"leaderboard_column": "psc_mc",
|
| 633 |
+
"random_baseline_percent": 46.6,
|
| 634 |
+
"dataset_path": "allegro/klej-psc",
|
| 635 |
+
"dataset_config": null,
|
| 636 |
+
"dataset_revision_declared": null,
|
| 637 |
+
"definition_files": [
|
| 638 |
+
{
|
| 639 |
+
"path": "lm_eval/tasks/polish_psc/psc_mc.yaml",
|
| 640 |
+
"sha256": "51200832bcdb6752bc1c6cce40884cd853c1494217d3b6f4ae9f2392c859ef31"
|
| 641 |
+
}
|
| 642 |
+
]
|
| 643 |
+
},
|
| 644 |
+
{
|
| 645 |
+
"id": "T41",
|
| 646 |
+
"task": "polish_psc_regex",
|
| 647 |
+
"language": "PL",
|
| 648 |
+
"family": "psc",
|
| 649 |
+
"metric": "f1,score-first",
|
| 650 |
+
"instrument": "openpl_polish4",
|
| 651 |
+
"split": "test",
|
| 652 |
+
"rationale": "complete official Open PL average; generation/MC variants are correlated protocols, not independent datasets",
|
| 653 |
+
"shots": 5,
|
| 654 |
+
"leaderboard_column": "psc_g",
|
| 655 |
+
"random_baseline_percent": 46.6,
|
| 656 |
+
"dataset_path": "allegro/klej-psc",
|
| 657 |
+
"dataset_config": null,
|
| 658 |
+
"dataset_revision_declared": null,
|
| 659 |
+
"definition_files": [
|
| 660 |
+
{
|
| 661 |
+
"path": "lm_eval/tasks/polish_psc/psc_regex.yaml",
|
| 662 |
+
"sha256": "c38ba8f17b47ba22a4a0fe02cbd7613cc31445db76013dd8d825f17e9e8b0278"
|
| 663 |
+
}
|
| 664 |
+
]
|
| 665 |
+
},
|
| 666 |
+
{
|
| 667 |
+
"id": "T42",
|
| 668 |
+
"task": "polish_cbd_multiple_choice",
|
| 669 |
+
"language": "PL",
|
| 670 |
+
"family": "cbd",
|
| 671 |
+
"metric": "f1,none",
|
| 672 |
+
"instrument": "openpl_polish4",
|
| 673 |
+
"split": "test",
|
| 674 |
+
"rationale": "complete official Open PL average; generation/MC variants are correlated protocols, not independent datasets",
|
| 675 |
+
"shots": 5,
|
| 676 |
+
"leaderboard_column": "cbd_mc",
|
| 677 |
+
"random_baseline_percent": 14.9,
|
| 678 |
+
"dataset_path": "ptaszynski/PolishCyberbullyingDataset",
|
| 679 |
+
"dataset_config": null,
|
| 680 |
+
"dataset_revision_declared": null,
|
| 681 |
+
"definition_files": [
|
| 682 |
+
{
|
| 683 |
+
"path": "lm_eval/tasks/polish_cbd/cbd_mc.yaml",
|
| 684 |
+
"sha256": "acb5162e11544953ff0d63bf16159e9439f9aed945f9d8a1c082531c43d1687b"
|
| 685 |
+
}
|
| 686 |
+
]
|
| 687 |
+
},
|
| 688 |
+
{
|
| 689 |
+
"id": "T43",
|
| 690 |
+
"task": "polish_cbd_regex",
|
| 691 |
+
"language": "PL",
|
| 692 |
+
"family": "cbd",
|
| 693 |
+
"metric": "f1,score-first",
|
| 694 |
+
"instrument": "openpl_polish4",
|
| 695 |
+
"split": "test",
|
| 696 |
+
"rationale": "complete official Open PL average; generation/MC variants are correlated protocols, not independent datasets",
|
| 697 |
+
"shots": 5,
|
| 698 |
+
"leaderboard_column": "cbd_g",
|
| 699 |
+
"random_baseline_percent": 14.9,
|
| 700 |
+
"dataset_path": "ptaszynski/PolishCyberbullyingDataset",
|
| 701 |
+
"dataset_config": null,
|
| 702 |
+
"dataset_revision_declared": null,
|
| 703 |
+
"definition_files": [
|
| 704 |
+
{
|
| 705 |
+
"path": "lm_eval/tasks/polish_cbd/cbd_regex.yaml",
|
| 706 |
+
"sha256": "bcb3321bf9538c7e784c6923a176906875fa30da0c77650f9152b6ff01e20b1d"
|
| 707 |
+
}
|
| 708 |
+
]
|
| 709 |
+
},
|
| 710 |
+
{
|
| 711 |
+
"id": "T44",
|
| 712 |
+
"task": "polish_klej_ner_multiple_choice",
|
| 713 |
+
"language": "PL",
|
| 714 |
+
"family": "klej_ner",
|
| 715 |
+
"metric": "acc,none",
|
| 716 |
+
"instrument": "openpl_polish4",
|
| 717 |
+
"split": "test",
|
| 718 |
+
"rationale": "complete official Open PL average; generation/MC variants are correlated protocols, not independent datasets",
|
| 719 |
+
"shots": 5,
|
| 720 |
+
"leaderboard_column": "klej_ner_mc",
|
| 721 |
+
"random_baseline_percent": 34.3,
|
| 722 |
+
"dataset_path": "allegro/klej-nkjp-ner",
|
| 723 |
+
"dataset_config": null,
|
| 724 |
+
"dataset_revision_declared": null,
|
| 725 |
+
"definition_files": [
|
| 726 |
+
{
|
| 727 |
+
"path": "lm_eval/tasks/polish_klej_ner/klej_ner_mc.yaml",
|
| 728 |
+
"sha256": "cb2910d8d8e32d5826306c68bd9b2b8d00f14e9988ff889c2024aa5b8076dfe5"
|
| 729 |
+
}
|
| 730 |
+
]
|
| 731 |
+
},
|
| 732 |
+
{
|
| 733 |
+
"id": "T45",
|
| 734 |
+
"task": "polish_klej_ner_regex",
|
| 735 |
+
"language": "PL",
|
| 736 |
+
"family": "klej_ner",
|
| 737 |
+
"metric": "exact_match,score-first",
|
| 738 |
+
"instrument": "openpl_polish4",
|
| 739 |
+
"split": "test",
|
| 740 |
+
"rationale": "complete official Open PL average; generation/MC variants are correlated protocols, not independent datasets",
|
| 741 |
+
"shots": 5,
|
| 742 |
+
"leaderboard_column": "klej_ner_g",
|
| 743 |
+
"random_baseline_percent": 34.3,
|
| 744 |
+
"dataset_path": "allegro/klej-nkjp-ner",
|
| 745 |
+
"dataset_config": null,
|
| 746 |
+
"dataset_revision_declared": null,
|
| 747 |
+
"definition_files": [
|
| 748 |
+
{
|
| 749 |
+
"path": "lm_eval/tasks/polish_klej_ner/klej_ner_regex.yaml",
|
| 750 |
+
"sha256": "fab9466e15bb9e4c9e9bcb5d302ee86e19ae908fb7f7a267105663e12d843639"
|
| 751 |
+
}
|
| 752 |
+
]
|
| 753 |
+
},
|
| 754 |
+
{
|
| 755 |
+
"id": "T46",
|
| 756 |
+
"task": "polish_polqa_reranking_multiple_choice",
|
| 757 |
+
"language": "PL",
|
| 758 |
+
"family": "polqa",
|
| 759 |
+
"metric": "acc,none",
|
| 760 |
+
"instrument": "openpl_polish4",
|
| 761 |
+
"split": "test",
|
| 762 |
+
"rationale": "complete official Open PL average; generation/MC variants are correlated protocols, not independent datasets",
|
| 763 |
+
"shots": 5,
|
| 764 |
+
"leaderboard_column": "polqa_reranking_mc",
|
| 765 |
+
"random_baseline_percent": 53.35588953,
|
| 766 |
+
"dataset_path": "ipipan/polqa",
|
| 767 |
+
"dataset_config": null,
|
| 768 |
+
"dataset_revision_declared": null,
|
| 769 |
+
"definition_files": [
|
| 770 |
+
{
|
| 771 |
+
"path": "lm_eval/tasks/polish_polqa/polqa_reranking.yaml",
|
| 772 |
+
"sha256": "abc2914e338eb177260fa21e50ddb2a2df32174b43802c634ce173239ef34eda"
|
| 773 |
+
}
|
| 774 |
+
]
|
| 775 |
+
},
|
| 776 |
+
{
|
| 777 |
+
"id": "T47",
|
| 778 |
+
"task": "polish_polqa_open_book",
|
| 779 |
+
"language": "PL",
|
| 780 |
+
"family": "polqa",
|
| 781 |
+
"metric": "levenshtein,none",
|
| 782 |
+
"instrument": "openpl_polish4",
|
| 783 |
+
"split": "test",
|
| 784 |
+
"rationale": "complete official Open PL average; generation/MC variants are correlated protocols, not independent datasets",
|
| 785 |
+
"shots": 5,
|
| 786 |
+
"leaderboard_column": "polqa_open_book_g",
|
| 787 |
+
"random_baseline_percent": 0.0,
|
| 788 |
+
"dataset_path": "ipipan/polqa",
|
| 789 |
+
"dataset_config": null,
|
| 790 |
+
"dataset_revision_declared": null,
|
| 791 |
+
"definition_files": [
|
| 792 |
+
{
|
| 793 |
+
"path": "lm_eval/tasks/polish_polqa/polqa_open_book.yaml",
|
| 794 |
+
"sha256": "59dcf0d577382fc0785301308120bb862159b8cccb2b50985a000c1d3b217b20"
|
| 795 |
+
}
|
| 796 |
+
]
|
| 797 |
+
},
|
| 798 |
+
{
|
| 799 |
+
"id": "T48",
|
| 800 |
+
"task": "polish_polqa_closed_book",
|
| 801 |
+
"language": "PL",
|
| 802 |
+
"family": "polqa",
|
| 803 |
+
"metric": "levenshtein,none",
|
| 804 |
+
"instrument": "openpl_polish4",
|
| 805 |
+
"split": "test",
|
| 806 |
+
"rationale": "complete official Open PL average; generation/MC variants are correlated protocols, not independent datasets",
|
| 807 |
+
"shots": 5,
|
| 808 |
+
"leaderboard_column": "polqa_closed_book_g",
|
| 809 |
+
"random_baseline_percent": 0.0,
|
| 810 |
+
"dataset_path": "ipipan/polqa",
|
| 811 |
+
"dataset_config": null,
|
| 812 |
+
"dataset_revision_declared": null,
|
| 813 |
+
"definition_files": [
|
| 814 |
+
{
|
| 815 |
+
"path": "lm_eval/tasks/polish_polqa/polqa_closed_book.yaml",
|
| 816 |
+
"sha256": "8ed09d3d16daef754a31bb0ab609c268373f3bd11bec3103c73b5c24981da953"
|
| 817 |
+
}
|
| 818 |
+
]
|
| 819 |
+
},
|
| 820 |
+
{
|
| 821 |
+
"id": "T49",
|
| 822 |
+
"task": "polish_poquad_open_book",
|
| 823 |
+
"language": "PL",
|
| 824 |
+
"family": "poquad",
|
| 825 |
+
"metric": "levenshtein,none",
|
| 826 |
+
"instrument": "openpl_polish4",
|
| 827 |
+
"split": "validation",
|
| 828 |
+
"rationale": "complete official Open PL average; generation/MC variants are correlated protocols, not independent datasets",
|
| 829 |
+
"shots": 5,
|
| 830 |
+
"leaderboard_column": "poquad_open_book",
|
| 831 |
+
"random_baseline_percent": 0.0,
|
| 832 |
+
"dataset_path": "clarin-pl/poquad",
|
| 833 |
+
"dataset_config": null,
|
| 834 |
+
"dataset_revision_declared": null,
|
| 835 |
+
"definition_files": [
|
| 836 |
+
{
|
| 837 |
+
"path": "lm_eval/tasks/polish_poquad/poquad_open_book.yaml",
|
| 838 |
+
"sha256": "c32d349dc6afbcb8b91c7d7f4cab70430e333b4e252016bc378e21e16ac64092"
|
| 839 |
+
}
|
| 840 |
+
]
|
| 841 |
+
},
|
| 842 |
+
{
|
| 843 |
+
"id": "T50",
|
| 844 |
+
"task": "polish_eq_bench_first_turn",
|
| 845 |
+
"language": "PL",
|
| 846 |
+
"family": "eq_bench_first_turn",
|
| 847 |
+
"metric": "first_eqbench,none",
|
| 848 |
+
"instrument": "openpl_polish4",
|
| 849 |
+
"split": "validation",
|
| 850 |
+
"rationale": "complete official Open PL average; generation/MC variants are correlated protocols, not independent datasets",
|
| 851 |
+
"shots": 5,
|
| 852 |
+
"leaderboard_column": "eq_bench_first_turn",
|
| 853 |
+
"random_baseline_percent": 0.0,
|
| 854 |
+
"dataset_path": "speakleash/EQ-Bench-PL-first-turn",
|
| 855 |
+
"dataset_config": null,
|
| 856 |
+
"dataset_revision_declared": null,
|
| 857 |
+
"definition_files": [
|
| 858 |
+
{
|
| 859 |
+
"path": "lm_eval/tasks/polish_eq_bench/default.yaml",
|
| 860 |
+
"sha256": "0338e02cc0bac6ee9944bde8d228cf2412df97328a524d3b20515642a15ac5ad"
|
| 861 |
+
},
|
| 862 |
+
{
|
| 863 |
+
"path": "lm_eval/tasks/polish_eq_bench/first_turn.yaml",
|
| 864 |
+
"sha256": "b53960a2a36fcfdce3a7246f83e57b8f9a6123cb9cf970df68005c6e1fec610c"
|
| 865 |
+
}
|
| 866 |
+
]
|
| 867 |
+
}
|
| 868 |
+
]
|
| 869 |
+
}
|
benchmarks.css
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
.bench-panel .bench-content{margin-top:20px;min-width:0;overflow-wrap:anywhere}
|
| 2 |
+
.bench-panel .bench-notice{border-left:3px solid var(--acc);padding:12px 16px;background:var(--card);color:var(--soft);max-width:82ch}
|
| 3 |
+
.bench-panel .bench-controls{display:flex;flex-wrap:wrap;align-items:end;gap:12px;margin:20px 0 12px}
|
| 4 |
+
.bench-panel label{display:grid;gap:6px;color:var(--muted);font-size:.88rem}
|
| 5 |
+
.bench-panel input,.bench-panel select,.bench-panel button{font:inherit;background:var(--card);color:var(--fg);border:1px solid var(--line2);border-radius:8px;padding:10px 12px;max-width:100%}
|
| 6 |
+
.bench-panel input{width:260px}
|
| 7 |
+
.bench-panel button{cursor:pointer}
|
| 8 |
+
.bench-panel :focus-visible{outline:2px solid var(--acc);outline-offset:3px}
|
| 9 |
+
.bench-panel .bench-summary{color:var(--soft);font-variant-numeric:tabular-nums;margin:12px 0}
|
| 10 |
+
.bench-panel .bench-explanation{color:var(--muted);font-size:.9rem;max-width:82ch}
|
| 11 |
+
.bench-panel .bench-wrap{overflow:auto;border:1px solid var(--line2);border-radius:12px;max-height:640px;scrollbar-gutter:stable}
|
| 12 |
+
.bench-panel table{min-width:820px;width:100%;border-collapse:separate;border-spacing:0}
|
| 13 |
+
.bench-panel th,.bench-panel td{padding:14px;text-align:left;white-space:normal;min-width:180px;vertical-align:top;border-bottom:1px solid var(--line)}
|
| 14 |
+
.bench-panel thead th{position:sticky;top:0;background:var(--card2);z-index:2;text-transform:none;letter-spacing:normal;font-size:.9rem}
|
| 15 |
+
.bench-panel th:first-child,.bench-panel td:first-child{position:sticky;left:0;width:250px;min-width:220px;background:var(--card);z-index:1}
|
| 16 |
+
.bench-panel thead th:first-child{z-index:3;background:var(--card2)}
|
| 17 |
+
.bench-panel .bench-task{font-weight:650;overflow-wrap:anywhere;text-transform:none;letter-spacing:normal;font-size:.9rem}
|
| 18 |
+
.bench-panel .bench-meta{display:block;color:var(--muted);font-size:.82rem;line-height:1.55;margin-top:6px;overflow-wrap:anywhere}
|
| 19 |
+
.bench-panel .bench-value{display:block;font-size:1.12rem;font-weight:650;font-variant-numeric:tabular-nums}
|
| 20 |
+
.bench-panel .bench-state{display:inline-block;color:var(--muted);font-size:.85rem;margin-top:4px}
|
| 21 |
+
.bench-panel .bench-verdict{display:block;margin:8px 0 0;font-size:.85rem}
|
| 22 |
+
.bench-panel details{margin:10px 0;font-size:.84rem;color:var(--muted)}
|
| 23 |
+
.bench-panel summary{cursor:pointer}
|
| 24 |
+
.bench-panel code{overflow-wrap:anywhere;white-space:normal}
|
| 25 |
+
.bench-panel .bench-provenance{margin-top:18px;color:var(--muted);font-size:.84rem;max-width:85ch}
|
| 26 |
+
.bench-panel [hidden]{display:none!important}
|
| 27 |
+
@media(max-width:640px){.bench-panel .bench-controls{display:grid;grid-template-columns:1fr}.bench-panel input,.bench-panel select,.bench-panel button{width:100%}.bench-panel th,.bench-panel td{padding:12px;min-width:180px}.bench-panel th:first-child,.bench-panel td:first-child{min-width:150px;width:150px}.bench-panel .bench-wrap{max-height:590px}.bench-panel table{min-width:760px}}
|
benchmarks.js
ADDED
|
@@ -0,0 +1,216 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
"use strict";
|
| 2 |
+
(() => {
|
| 3 |
+
const contract = window.N05Contract;
|
| 4 |
+
const plannedModels = [
|
| 5 |
+
{model_id:"planned-slayer", repo:"SlayerLab/Slayer1B-1.06"},
|
| 6 |
+
{model_id:"planned-bielik", repo:"speakleash/Bielik-1.5B-v3"},
|
| 7 |
+
{model_id:"planned-lfm", repo:"LiquidAI/LFM2.5-1.2B-Base"}
|
| 8 |
+
];
|
| 9 |
+
const modelLabels = new Map(plannedModels.map(m => [m.repo, m.repo.split("/")[1]]));
|
| 10 |
+
const words = {
|
| 11 |
+
pl: {
|
| 12 |
+
search:"Szukaj zadania / rodziny", language:"Język", all:"Wszystkie", clear:"Wyczyść filtry",
|
| 13 |
+
inventory:"Inwentarz protokołu", shown:"Pokazano", of:"z", rows:"wierszy zadanie × protokół",
|
| 14 |
+
task:"Zadanie / rodzina", protocol:"Przyrząd / split", planned:"Plan · brak danych w widoku", absent:"Nie dostarczono obserwacji",
|
| 15 |
+
missingSource:"Źródło wyników nie jest jeszcze podłączone. Pokazuję wyłącznie plan, nie wyniki 50 benchmarków. Historyczne liczby powyżej nie zostały do niego przepisane.",
|
| 16 |
+
loadError:"Nie udało się wczytać przypiętego kontraktu. Nie pokazuję danych zastępczych.", invalidResults:"Wyniki ukryte — nie udało się odebrać paczki pomiarowej",
|
| 17 |
+
empty:"Brak zadań pasujących do filtrów.",
|
| 18 |
+
explanation:"Wartości zachowują własne jednostki. CI95 jest opisowy, nie „po Holmie”. Brak wyniku nie jest zerem; brak istotności nie oznacza remisu. UI nie wylicza werdyktów.",
|
| 19 |
+
sample:"Plan: min(200, N), WikiText — pełny test. Panel-200 nie jest pełną repliką Open PL. Powiązane warianty nie są niezależnymi korpusami. Shot przy zadaniu jest planem; actual_shots i odcięcia pochodzą z manifestu wykonania. T03 zachowuje wskaźnik kompatybilny z Glint tp^(N/B), nie deklarację dokładnego exp(NLL/B).",
|
| 20 |
+
planStatus:"Kontrakt zakresu — nie odebrany pakiet uruchomieniowy.", revision:"Rewizja inwentarza", measured:"obserwacji ok", supplied:"obserwacji dostarczonych", noResults:"bez odebranej paczki wyników",
|
| 21 |
+
ci:"CI95 opisowy", noCI:"Brak CI", against:"względem", review:"Odbiór kontrastu", provenance:"Pochodzenie", weights:"SHA wag", unknown:"nie dostarczono",
|
| 22 |
+
higher:"więcej ↑", lower:"mniej ↓", counts:"n: populacja / wybrane / ocenione", metrics:"miara", state:"Stan", run:"Bieg", scale:"Protokół / skala",
|
| 23 |
+
states:{ok:"Pomiar",not_run:"Nie uruchomiono",blocked_access:"Brak dostępu",blocked_runtime:"Blokada środowiska",blocked_security:"Blokada bezpieczeństwa",blocked_judge:"Brak odebranego sędziego",unsupported:"Nieobsługiwane",failed:"Błąd wykonania",skipped:"Pominięte"},
|
| 24 |
+
verdicts:{withheld:"Werdykt wstrzymany",better:"Lepszy",worse:"Gorszy",inconclusive:"Nierozstrzygnięte — nie remis"}
|
| 25 |
+
},
|
| 26 |
+
en: {
|
| 27 |
+
search:"Search task / family", language:"Language", all:"All", clear:"Clear filters",
|
| 28 |
+
inventory:"Protocol inventory", shown:"Showing", of:"of", rows:"task × protocol rows",
|
| 29 |
+
task:"Task / family", protocol:"Instrument / split", planned:"Planned · no data in this view", absent:"Observation not supplied",
|
| 30 |
+
missingSource:"The result source is not connected yet. This is the plan, not fifty benchmark results. Historical measurements above have not been copied into it.",
|
| 31 |
+
loadError:"The pinned contract could not be loaded. No substitute data is shown.", invalidResults:"Results hidden — measurement packet could not be accepted",
|
| 32 |
+
empty:"No tasks match the filters.",
|
| 33 |
+
explanation:"Values retain their own units. CI95 is descriptive, not “Holm-adjusted”. Missing results are not zero; lack of significance does not imply equivalence. The UI does not compute verdicts.",
|
| 34 |
+
sample:"Plan: min(200, N); WikiText uses the full test. Panel-200 is not full Open PL replication. Related variants are not independent datasets. A task's shot count is planned; actual_shots and truncation belong to the execution manifest. T03 retains the Glint-compatible tp^(N/B) indicator, not a claim of exact exp(NLL/B).",
|
| 35 |
+
planStatus:"Scope contract — not an accepted execution package.", revision:"Inventory revision", measured:"ok observations", supplied:"supplied observations", noResults:"no accepted result packet",
|
| 36 |
+
ci:"Descriptive CI95", noCI:"CI not supplied", against:"versus", review:"Contrast review", provenance:"Provenance", weights:"Weights SHA", unknown:"not supplied",
|
| 37 |
+
higher:"higher ↑", lower:"lower ↓", counts:"n: population / selected / scored", metrics:"metric", state:"State", run:"Run", scale:"Protocol / scale",
|
| 38 |
+
states:{ok:"Measured",not_run:"Not run",blocked_access:"Access blocked",blocked_runtime:"Runtime blocked",blocked_security:"Security blocked",blocked_judge:"Judge not accepted",unsupported:"Unsupported",failed:"Execution failed",skipped:"Skipped"},
|
| 39 |
+
verdicts:{withheld:"Verdict withheld",better:"Better",worse:"Worse",inconclusive:"Inconclusive — not equivalent"}
|
| 40 |
+
}
|
| 41 |
+
};
|
| 42 |
+
function el(tag, text, className) {
|
| 43 |
+
const node = document.createElement(tag);
|
| 44 |
+
if (text !== undefined) node.textContent = String(text);
|
| 45 |
+
if (className) node.className = className;
|
| 46 |
+
return node;
|
| 47 |
+
}
|
| 48 |
+
function option(value, text) { const node = el("option", text); node.value = value; return node; }
|
| 49 |
+
function label(text, input) { const node = el("label", text); node.append(input); return node; }
|
| 50 |
+
function modelName(model) { return modelLabels.get(model.repo) || model.repo; }
|
| 51 |
+
function number(value, locale, unit) {
|
| 52 |
+
const digits = unit === "percent" ? 2 : unit === "byte_ppl" ? 4 : 6;
|
| 53 |
+
return new Intl.NumberFormat(locale === "pl" ? "pl-PL" : "en-GB", {maximumFractionDigits:digits}).format(value);
|
| 54 |
+
}
|
| 55 |
+
function interval(ci, locale, unit, text) {
|
| 56 |
+
return ci === null ? text.noCI : `${text.ci}: [${number(ci.lower, locale, unit)}; ${number(ci.upper, locale, unit)}]`;
|
| 57 |
+
}
|
| 58 |
+
function detail(title, lines) {
|
| 59 |
+
const node = el("details");
|
| 60 |
+
node.append(el("summary", title));
|
| 61 |
+
for (const line of lines) node.append(el("p", line));
|
| 62 |
+
return node;
|
| 63 |
+
}
|
| 64 |
+
function observationCell(observation, task, model, context, locale, text) {
|
| 65 |
+
const cell = el("td");
|
| 66 |
+
if (!observation) {
|
| 67 |
+
cell.append(el("span", context.packet ? text.absent : text.planned, "bench-state"));
|
| 68 |
+
return cell;
|
| 69 |
+
}
|
| 70 |
+
const o = observation;
|
| 71 |
+
cell.append(el("span", text.states[o.state], "bench-state"));
|
| 72 |
+
if (o.state === "ok") {
|
| 73 |
+
const unit = o.unit === "percent" ? "%" : o.unit === "byte_ppl" ? "byte-PPL" : "score";
|
| 74 |
+
cell.append(el("span", `${number(o.value, locale, o.unit)} ${unit}`, "bench-value"),
|
| 75 |
+
el("span", `${text.metrics}: ${o.metric} · ${o.higher_is_better ? text.higher : text.lower}`, "bench-meta"),
|
| 76 |
+
el("span", interval(o.ci95, locale, o.unit, text), "bench-meta"));
|
| 77 |
+
}
|
| 78 |
+
cell.append(el("span", `${text.counts}: ${o.n_population ?? text.unknown} / ${o.n_selected ?? text.unknown} / ${o.n_scored}`, "bench-meta"));
|
| 79 |
+
for (const contrast of context.index.contrasts.values()) {
|
| 80 |
+
if (contrast.task_id !== task.id || contrast.model_id !== model.model_id) continue;
|
| 81 |
+
const ref = context.index.models.get(contrast.model_ref);
|
| 82 |
+
const heading = `${text.verdicts[contrast.verdict]} ${text.against} ${modelName(ref)}`;
|
| 83 |
+
cell.append(el("span", heading, "bench-verdict"));
|
| 84 |
+
if (contrast.verdict !== "withheld") {
|
| 85 |
+
cell.append(detail(text.review, [
|
| 86 |
+
`Δ: ${number(contrast.delta, locale, o.unit)}`,
|
| 87 |
+
interval(contrast.ci95, locale, o.unit, text),
|
| 88 |
+
`p_raw: ${contrast.p_raw}; p_holm: ${contrast.p_holm}; family_size: ${contrast.family_size}`,
|
| 89 |
+
`${contrast.review.actor} · artifact_sha256: ${contrast.review.artifact_sha256}`
|
| 90 |
+
]));
|
| 91 |
+
}
|
| 92 |
+
}
|
| 93 |
+
cell.append(detail(text.provenance, [
|
| 94 |
+
`source_id_digest: ${o.source_id_digest ?? text.unknown}`,
|
| 95 |
+
`results_sha256: ${o.results_sha256 ?? text.unknown}`,
|
| 96 |
+
`runner_sha256: ${o.runner_sha256 ?? text.unknown}`
|
| 97 |
+
]));
|
| 98 |
+
return cell;
|
| 99 |
+
}
|
| 100 |
+
function build(section, context) {
|
| 101 |
+
const locale = section.dataset.locale;
|
| 102 |
+
const text = words[locale];
|
| 103 |
+
const inventory = context.inventory;
|
| 104 |
+
const models = context.packet && context.packet.models.length ? context.packet.models : plannedModels;
|
| 105 |
+
const root = section.querySelector(".bench-content");
|
| 106 |
+
root.removeAttribute("role");
|
| 107 |
+
root.replaceChildren();
|
| 108 |
+
const message = context.error ? `${text.invalidResults}: ${context.error}` : context.packet ? `${text.run}: ${context.packet.run_id} · ${text.scale}: ${context.packet.protocol_id}` : text.missingSource;
|
| 109 |
+
const notice = el("p", message, "bench-notice");
|
| 110 |
+
const search = el("input");
|
| 111 |
+
search.type = "search";
|
| 112 |
+
const language = el("select");
|
| 113 |
+
language.append(option("all", text.all), option("PL", "PL"), option("EN", "EN"));
|
| 114 |
+
const clear = el("button", text.clear);
|
| 115 |
+
clear.type = "button";
|
| 116 |
+
const controls = el("div", undefined, "bench-controls");
|
| 117 |
+
controls.append(label(text.search, search), label(text.language, language), clear);
|
| 118 |
+
const summary = el("p", undefined, "bench-summary");
|
| 119 |
+
summary.setAttribute("role", "status");
|
| 120 |
+
summary.setAttribute("aria-live", "polite");
|
| 121 |
+
const explanation = el("p", text.explanation, "bench-explanation");
|
| 122 |
+
explanation.id = `bench-note-${locale}`;
|
| 123 |
+
const wrap = el("div", undefined, "bench-wrap");
|
| 124 |
+
wrap.tabIndex = 0;
|
| 125 |
+
wrap.setAttribute("role", "region");
|
| 126 |
+
wrap.setAttribute("aria-label", text.inventory);
|
| 127 |
+
const table = el("table");
|
| 128 |
+
table.setAttribute("aria-labelledby", `bench-title-${locale}`);
|
| 129 |
+
table.setAttribute("aria-describedby", explanation.id);
|
| 130 |
+
const head = el("thead");
|
| 131 |
+
const header = el("tr");
|
| 132 |
+
for (const name of [text.task, text.protocol]) { const th = el("th", name); th.scope = "col"; header.append(th); }
|
| 133 |
+
for (const model of models) {
|
| 134 |
+
const th = el("th", modelName(model));
|
| 135 |
+
th.scope = "col";
|
| 136 |
+
if (context.packet && context.index.models.has(model.model_id)) th.append(detail(text.provenance, [
|
| 137 |
+
`repo: ${model.repo}`, `revision: ${model.revision ?? text.unknown}`, `${text.weights}: ${model.weights_sha256 ?? text.unknown}`
|
| 138 |
+
]));
|
| 139 |
+
header.append(th);
|
| 140 |
+
}
|
| 141 |
+
head.append(header);
|
| 142 |
+
const body = el("tbody");
|
| 143 |
+
table.append(head, body);
|
| 144 |
+
wrap.append(table);
|
| 145 |
+
const empty = el("p", text.empty);
|
| 146 |
+
const origin = el("div", undefined, "bench-provenance");
|
| 147 |
+
const planLink = el("a", "N05 · tasks_50_v01.json");
|
| 148 |
+
planLink.href = "benchmarks-plan.json";
|
| 149 |
+
const schemaLink = el("a", "N05 · results.schema.json");
|
| 150 |
+
schemaLink.href = "benchmarks.schema.json";
|
| 151 |
+
origin.append(el("p", text.planStatus), el("p", text.sample), planLink, el("span", " · "), schemaLink,
|
| 152 |
+
el("p", `${text.revision}: ${contract.revision}`), el("p", `inventory SHA-256: ${contract.inventorySHA}`));
|
| 153 |
+
if (context.packet) origin.append(el("p", `packet SHA-256: ${context.packetSHA}`));
|
| 154 |
+
root.append(notice, controls, summary, explanation, wrap, empty, origin);
|
| 155 |
+
function render() {
|
| 156 |
+
const query = search.value.trim().toLocaleLowerCase(locale);
|
| 157 |
+
const tasks = inventory.rows.filter(task => (language.value === "all" || task.language === language.value) &&
|
| 158 |
+
`${task.id} ${task.task} ${task.family}`.toLocaleLowerCase(locale).includes(query));
|
| 159 |
+
const fragment = document.createDocumentFragment();
|
| 160 |
+
for (const task of tasks) {
|
| 161 |
+
const row = el("tr");
|
| 162 |
+
const th = el("th", `${task.id} · ${task.task}`, "bench-task");
|
| 163 |
+
th.scope = "row";
|
| 164 |
+
th.append(el("span", `${task.language} · ${task.family}`, "bench-meta"));
|
| 165 |
+
const procedure = el("td", task.instrument);
|
| 166 |
+
procedure.append(el("span", `${task.split} · ${locale === "pl" ? "plan" : "planned"}: ${task.shots}-shot`, "bench-meta"), el("span", task.metric, "bench-meta"));
|
| 167 |
+
row.append(th, procedure);
|
| 168 |
+
for (const model of models) {
|
| 169 |
+
const o = context.index && context.index.observations.get(contract.key(task.id, model.model_id, context.packet.protocol_id));
|
| 170 |
+
row.append(observationCell(o, task, model, context, locale, text));
|
| 171 |
+
}
|
| 172 |
+
fragment.append(row);
|
| 173 |
+
}
|
| 174 |
+
body.replaceChildren(fragment);
|
| 175 |
+
const measured = context.packet ? `${context.packet.observations.filter(o => o.state === "ok").length} ${text.measured} / ${context.packet.observations.length} ${text.supplied}` : text.noResults;
|
| 176 |
+
summary.textContent = `${inventory.protocol} · ${text.shown} ${tasks.length} ${text.of} ${inventory.rows.length} ${text.rows} · ${measured}`;
|
| 177 |
+
empty.hidden = tasks.length !== 0;
|
| 178 |
+
wrap.hidden = tasks.length === 0;
|
| 179 |
+
}
|
| 180 |
+
search.addEventListener("input", render);
|
| 181 |
+
language.addEventListener("change", render);
|
| 182 |
+
clear.addEventListener("click", () => { search.value = ""; language.value = "all"; render(); search.focus(); });
|
| 183 |
+
render();
|
| 184 |
+
}
|
| 185 |
+
async function read(path, expectedSHA) {
|
| 186 |
+
const response = await fetch(path, {cache:"no-store"});
|
| 187 |
+
if (!response.ok) throw new Error(`${path}: HTTP ${response.status}`);
|
| 188 |
+
const bytes = await response.arrayBuffer();
|
| 189 |
+
const hash = await crypto.subtle.digest("SHA-256", bytes);
|
| 190 |
+
const sha = [...new Uint8Array(hash)].map(v => v.toString(16).padStart(2, "0")).join("");
|
| 191 |
+
if (expectedSHA && sha !== expectedSHA) throw new Error(`Pinned bytes changed: ${path}`);
|
| 192 |
+
return {data:JSON.parse(new TextDecoder().decode(bytes)), sha};
|
| 193 |
+
}
|
| 194 |
+
async function start() {
|
| 195 |
+
const [plan, schema] = await Promise.all([
|
| 196 |
+
read("benchmarks-plan.json", contract.inventorySHA), read("benchmarks.schema.json", contract.schemaSHA)
|
| 197 |
+
]);
|
| 198 |
+
const context = {inventory:plan.data, packet:null, index:null, error:null, packetSHA:null};
|
| 199 |
+
try {
|
| 200 |
+
const feed = await read("benchmarks-feed.json");
|
| 201 |
+
if (feed.data.results !== null) {
|
| 202 |
+
if (feed.data.results !== "benchmarks-results.json") throw new Error("Only the local accepted result path is allowed");
|
| 203 |
+
const results = await read(feed.data.results);
|
| 204 |
+
context.index = contract.validate(results.data, plan.data, schema.data, contract.revision);
|
| 205 |
+
context.packet = results.data;
|
| 206 |
+
context.packetSHA = results.sha;
|
| 207 |
+
}
|
| 208 |
+
} catch (error) { context.error = error.message; }
|
| 209 |
+
document.querySelectorAll(".bench-panel").forEach(section => build(section, context));
|
| 210 |
+
}
|
| 211 |
+
start().catch(error => {
|
| 212 |
+
document.querySelectorAll(".bench-panel").forEach(section => {
|
| 213 |
+
section.querySelector(".bench-content").replaceChildren(el("p", `${words[section.dataset.locale].loadError} (${error.message})`, "bench-notice"));
|
| 214 |
+
});
|
| 215 |
+
});
|
| 216 |
+
})();
|
benchmarks.schema.json
ADDED
|
@@ -0,0 +1,599 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
| 3 |
+
"$id": "urn:kolektyw:n05:benchmark-results:1",
|
| 4 |
+
"type": "object",
|
| 5 |
+
"properties": {
|
| 6 |
+
"schema_version": {
|
| 7 |
+
"const": 1
|
| 8 |
+
},
|
| 9 |
+
"protocol_id": {
|
| 10 |
+
"type": "string",
|
| 11 |
+
"minLength": 1
|
| 12 |
+
},
|
| 13 |
+
"run_id": {
|
| 14 |
+
"type": "string",
|
| 15 |
+
"minLength": 1
|
| 16 |
+
},
|
| 17 |
+
"models": {
|
| 18 |
+
"type": "array",
|
| 19 |
+
"items": {
|
| 20 |
+
"type": "object",
|
| 21 |
+
"properties": {
|
| 22 |
+
"model_id": {
|
| 23 |
+
"type": "string",
|
| 24 |
+
"minLength": 1
|
| 25 |
+
},
|
| 26 |
+
"repo": {
|
| 27 |
+
"type": "string",
|
| 28 |
+
"minLength": 1
|
| 29 |
+
},
|
| 30 |
+
"revision": {
|
| 31 |
+
"type": [
|
| 32 |
+
"string",
|
| 33 |
+
"null"
|
| 34 |
+
]
|
| 35 |
+
},
|
| 36 |
+
"weights_sha256": {
|
| 37 |
+
"anyOf": [
|
| 38 |
+
{
|
| 39 |
+
"type": "string",
|
| 40 |
+
"pattern": "^[0-9a-f]{64}$"
|
| 41 |
+
},
|
| 42 |
+
{
|
| 43 |
+
"type": "null"
|
| 44 |
+
}
|
| 45 |
+
]
|
| 46 |
+
}
|
| 47 |
+
},
|
| 48 |
+
"required": [
|
| 49 |
+
"model_id",
|
| 50 |
+
"repo",
|
| 51 |
+
"revision",
|
| 52 |
+
"weights_sha256"
|
| 53 |
+
],
|
| 54 |
+
"additionalProperties": false
|
| 55 |
+
}
|
| 56 |
+
},
|
| 57 |
+
"tasks": {
|
| 58 |
+
"type": "array",
|
| 59 |
+
"items": {
|
| 60 |
+
"type": "object",
|
| 61 |
+
"properties": {
|
| 62 |
+
"task_id": {
|
| 63 |
+
"type": "string",
|
| 64 |
+
"pattern": "^T(0[1-9]|[1-4][0-9]|50)$"
|
| 65 |
+
},
|
| 66 |
+
"task": {
|
| 67 |
+
"type": "string",
|
| 68 |
+
"minLength": 1
|
| 69 |
+
},
|
| 70 |
+
"family": {
|
| 71 |
+
"type": "string",
|
| 72 |
+
"minLength": 1
|
| 73 |
+
},
|
| 74 |
+
"language": {
|
| 75 |
+
"enum": [
|
| 76 |
+
"PL",
|
| 77 |
+
"EN"
|
| 78 |
+
]
|
| 79 |
+
},
|
| 80 |
+
"split": {
|
| 81 |
+
"type": "string",
|
| 82 |
+
"minLength": 1
|
| 83 |
+
}
|
| 84 |
+
},
|
| 85 |
+
"required": [
|
| 86 |
+
"task_id",
|
| 87 |
+
"task",
|
| 88 |
+
"family",
|
| 89 |
+
"language",
|
| 90 |
+
"split"
|
| 91 |
+
],
|
| 92 |
+
"additionalProperties": false
|
| 93 |
+
}
|
| 94 |
+
},
|
| 95 |
+
"observations": {
|
| 96 |
+
"type": "array",
|
| 97 |
+
"items": {
|
| 98 |
+
"$ref": "#/$defs/observation"
|
| 99 |
+
}
|
| 100 |
+
},
|
| 101 |
+
"contrasts": {
|
| 102 |
+
"type": "array",
|
| 103 |
+
"items": {
|
| 104 |
+
"$ref": "#/$defs/contrast"
|
| 105 |
+
}
|
| 106 |
+
},
|
| 107 |
+
"provenance": {
|
| 108 |
+
"type": "object",
|
| 109 |
+
"properties": {
|
| 110 |
+
"inventory_commit": {
|
| 111 |
+
"type": "string",
|
| 112 |
+
"minLength": 1
|
| 113 |
+
},
|
| 114 |
+
"kind": {
|
| 115 |
+
"enum": [
|
| 116 |
+
"measurement",
|
| 117 |
+
"contract_example"
|
| 118 |
+
]
|
| 119 |
+
}
|
| 120 |
+
},
|
| 121 |
+
"required": [
|
| 122 |
+
"inventory_commit",
|
| 123 |
+
"kind"
|
| 124 |
+
],
|
| 125 |
+
"additionalProperties": false
|
| 126 |
+
}
|
| 127 |
+
},
|
| 128 |
+
"required": [
|
| 129 |
+
"schema_version",
|
| 130 |
+
"protocol_id",
|
| 131 |
+
"run_id",
|
| 132 |
+
"models",
|
| 133 |
+
"tasks",
|
| 134 |
+
"observations",
|
| 135 |
+
"contrasts",
|
| 136 |
+
"provenance"
|
| 137 |
+
],
|
| 138 |
+
"additionalProperties": false,
|
| 139 |
+
"$defs": {
|
| 140 |
+
"ci95": {
|
| 141 |
+
"type": "object",
|
| 142 |
+
"properties": {
|
| 143 |
+
"lower": {
|
| 144 |
+
"type": "number"
|
| 145 |
+
},
|
| 146 |
+
"upper": {
|
| 147 |
+
"type": "number"
|
| 148 |
+
},
|
| 149 |
+
"level": {
|
| 150 |
+
"const": 0.95
|
| 151 |
+
},
|
| 152 |
+
"method": {
|
| 153 |
+
"const": "paired_bootstrap"
|
| 154 |
+
},
|
| 155 |
+
"replicates": {
|
| 156 |
+
"const": 10000
|
| 157 |
+
},
|
| 158 |
+
"seed": {
|
| 159 |
+
"const": 20261028
|
| 160 |
+
}
|
| 161 |
+
},
|
| 162 |
+
"required": [
|
| 163 |
+
"lower",
|
| 164 |
+
"upper",
|
| 165 |
+
"level",
|
| 166 |
+
"method",
|
| 167 |
+
"replicates",
|
| 168 |
+
"seed"
|
| 169 |
+
],
|
| 170 |
+
"additionalProperties": false
|
| 171 |
+
},
|
| 172 |
+
"observation": {
|
| 173 |
+
"type": "object",
|
| 174 |
+
"properties": {
|
| 175 |
+
"task_id": {
|
| 176 |
+
"type": "string",
|
| 177 |
+
"pattern": "^T(0[1-9]|[1-4][0-9]|50)$"
|
| 178 |
+
},
|
| 179 |
+
"model_id": {
|
| 180 |
+
"type": "string",
|
| 181 |
+
"minLength": 1
|
| 182 |
+
},
|
| 183 |
+
"protocol_id": {
|
| 184 |
+
"type": "string",
|
| 185 |
+
"minLength": 1
|
| 186 |
+
},
|
| 187 |
+
"metric": {
|
| 188 |
+
"type": "string",
|
| 189 |
+
"minLength": 1
|
| 190 |
+
},
|
| 191 |
+
"unit": {
|
| 192 |
+
"enum": [
|
| 193 |
+
"percent",
|
| 194 |
+
"score",
|
| 195 |
+
"byte_ppl"
|
| 196 |
+
]
|
| 197 |
+
},
|
| 198 |
+
"higher_is_better": {
|
| 199 |
+
"type": "boolean"
|
| 200 |
+
},
|
| 201 |
+
"n_population": {
|
| 202 |
+
"type": [
|
| 203 |
+
"integer",
|
| 204 |
+
"null"
|
| 205 |
+
],
|
| 206 |
+
"minimum": 0
|
| 207 |
+
},
|
| 208 |
+
"n_selected": {
|
| 209 |
+
"type": [
|
| 210 |
+
"integer",
|
| 211 |
+
"null"
|
| 212 |
+
],
|
| 213 |
+
"minimum": 0
|
| 214 |
+
},
|
| 215 |
+
"n_scored": {
|
| 216 |
+
"type": "integer",
|
| 217 |
+
"minimum": 0
|
| 218 |
+
},
|
| 219 |
+
"state": {
|
| 220 |
+
"enum": [
|
| 221 |
+
"ok",
|
| 222 |
+
"not_run",
|
| 223 |
+
"blocked_access",
|
| 224 |
+
"blocked_runtime",
|
| 225 |
+
"blocked_security",
|
| 226 |
+
"blocked_judge",
|
| 227 |
+
"unsupported",
|
| 228 |
+
"failed",
|
| 229 |
+
"skipped"
|
| 230 |
+
]
|
| 231 |
+
},
|
| 232 |
+
"value": {
|
| 233 |
+
"type": [
|
| 234 |
+
"number",
|
| 235 |
+
"null"
|
| 236 |
+
]
|
| 237 |
+
},
|
| 238 |
+
"ci95": {
|
| 239 |
+
"anyOf": [
|
| 240 |
+
{
|
| 241 |
+
"type": "object",
|
| 242 |
+
"properties": {
|
| 243 |
+
"lower": {
|
| 244 |
+
"type": "number"
|
| 245 |
+
},
|
| 246 |
+
"upper": {
|
| 247 |
+
"type": "number"
|
| 248 |
+
},
|
| 249 |
+
"level": {
|
| 250 |
+
"const": 0.95
|
| 251 |
+
},
|
| 252 |
+
"method": {
|
| 253 |
+
"const": "paired_bootstrap"
|
| 254 |
+
},
|
| 255 |
+
"replicates": {
|
| 256 |
+
"const": 10000
|
| 257 |
+
},
|
| 258 |
+
"seed": {
|
| 259 |
+
"const": 20261028
|
| 260 |
+
}
|
| 261 |
+
},
|
| 262 |
+
"required": [
|
| 263 |
+
"lower",
|
| 264 |
+
"upper",
|
| 265 |
+
"level",
|
| 266 |
+
"method",
|
| 267 |
+
"replicates",
|
| 268 |
+
"seed"
|
| 269 |
+
],
|
| 270 |
+
"additionalProperties": false
|
| 271 |
+
},
|
| 272 |
+
{
|
| 273 |
+
"type": "null"
|
| 274 |
+
}
|
| 275 |
+
]
|
| 276 |
+
},
|
| 277 |
+
"source_id_digest": {
|
| 278 |
+
"anyOf": [
|
| 279 |
+
{
|
| 280 |
+
"type": "string",
|
| 281 |
+
"pattern": "^[0-9a-f]{64}$"
|
| 282 |
+
},
|
| 283 |
+
{
|
| 284 |
+
"type": "null"
|
| 285 |
+
}
|
| 286 |
+
]
|
| 287 |
+
},
|
| 288 |
+
"results_sha256": {
|
| 289 |
+
"anyOf": [
|
| 290 |
+
{
|
| 291 |
+
"type": "string",
|
| 292 |
+
"pattern": "^[0-9a-f]{64}$"
|
| 293 |
+
},
|
| 294 |
+
{
|
| 295 |
+
"type": "null"
|
| 296 |
+
}
|
| 297 |
+
]
|
| 298 |
+
},
|
| 299 |
+
"runner_sha256": {
|
| 300 |
+
"anyOf": [
|
| 301 |
+
{
|
| 302 |
+
"type": "string",
|
| 303 |
+
"pattern": "^[0-9a-f]{64}$"
|
| 304 |
+
},
|
| 305 |
+
{
|
| 306 |
+
"type": "null"
|
| 307 |
+
}
|
| 308 |
+
]
|
| 309 |
+
}
|
| 310 |
+
},
|
| 311 |
+
"required": [
|
| 312 |
+
"task_id",
|
| 313 |
+
"model_id",
|
| 314 |
+
"protocol_id",
|
| 315 |
+
"metric",
|
| 316 |
+
"unit",
|
| 317 |
+
"higher_is_better",
|
| 318 |
+
"n_population",
|
| 319 |
+
"n_selected",
|
| 320 |
+
"n_scored",
|
| 321 |
+
"state",
|
| 322 |
+
"value",
|
| 323 |
+
"ci95",
|
| 324 |
+
"source_id_digest",
|
| 325 |
+
"results_sha256",
|
| 326 |
+
"runner_sha256"
|
| 327 |
+
],
|
| 328 |
+
"additionalProperties": false,
|
| 329 |
+
"allOf": [
|
| 330 |
+
{
|
| 331 |
+
"if": {
|
| 332 |
+
"properties": {
|
| 333 |
+
"state": {
|
| 334 |
+
"const": "ok"
|
| 335 |
+
}
|
| 336 |
+
}
|
| 337 |
+
},
|
| 338 |
+
"then": {
|
| 339 |
+
"properties": {
|
| 340 |
+
"value": {
|
| 341 |
+
"type": "number"
|
| 342 |
+
},
|
| 343 |
+
"n_scored": {
|
| 344 |
+
"type": "integer",
|
| 345 |
+
"minimum": 1
|
| 346 |
+
},
|
| 347 |
+
"source_id_digest": {
|
| 348 |
+
"type": "string",
|
| 349 |
+
"pattern": "^[0-9a-f]{64}$"
|
| 350 |
+
},
|
| 351 |
+
"results_sha256": {
|
| 352 |
+
"type": "string",
|
| 353 |
+
"pattern": "^[0-9a-f]{64}$"
|
| 354 |
+
},
|
| 355 |
+
"runner_sha256": {
|
| 356 |
+
"type": "string",
|
| 357 |
+
"pattern": "^[0-9a-f]{64}$"
|
| 358 |
+
}
|
| 359 |
+
}
|
| 360 |
+
},
|
| 361 |
+
"else": {
|
| 362 |
+
"properties": {
|
| 363 |
+
"value": {
|
| 364 |
+
"type": "null"
|
| 365 |
+
},
|
| 366 |
+
"ci95": {
|
| 367 |
+
"type": "null"
|
| 368 |
+
}
|
| 369 |
+
}
|
| 370 |
+
}
|
| 371 |
+
}
|
| 372 |
+
]
|
| 373 |
+
},
|
| 374 |
+
"contrast": {
|
| 375 |
+
"type": "object",
|
| 376 |
+
"properties": {
|
| 377 |
+
"task_id": {
|
| 378 |
+
"type": "string",
|
| 379 |
+
"pattern": "^T(0[1-9]|[1-4][0-9]|50)$"
|
| 380 |
+
},
|
| 381 |
+
"model_id": {
|
| 382 |
+
"type": "string",
|
| 383 |
+
"minLength": 1
|
| 384 |
+
},
|
| 385 |
+
"protocol_id": {
|
| 386 |
+
"type": "string",
|
| 387 |
+
"minLength": 1
|
| 388 |
+
},
|
| 389 |
+
"model_ref": {
|
| 390 |
+
"type": "string",
|
| 391 |
+
"minLength": 1
|
| 392 |
+
},
|
| 393 |
+
"delta": {
|
| 394 |
+
"type": [
|
| 395 |
+
"number",
|
| 396 |
+
"null"
|
| 397 |
+
]
|
| 398 |
+
},
|
| 399 |
+
"ci95": {
|
| 400 |
+
"anyOf": [
|
| 401 |
+
{
|
| 402 |
+
"type": "object",
|
| 403 |
+
"properties": {
|
| 404 |
+
"lower": {
|
| 405 |
+
"type": "number"
|
| 406 |
+
},
|
| 407 |
+
"upper": {
|
| 408 |
+
"type": "number"
|
| 409 |
+
},
|
| 410 |
+
"level": {
|
| 411 |
+
"const": 0.95
|
| 412 |
+
},
|
| 413 |
+
"method": {
|
| 414 |
+
"const": "paired_bootstrap"
|
| 415 |
+
},
|
| 416 |
+
"replicates": {
|
| 417 |
+
"const": 10000
|
| 418 |
+
},
|
| 419 |
+
"seed": {
|
| 420 |
+
"const": 20261028
|
| 421 |
+
}
|
| 422 |
+
},
|
| 423 |
+
"required": [
|
| 424 |
+
"lower",
|
| 425 |
+
"upper",
|
| 426 |
+
"level",
|
| 427 |
+
"method",
|
| 428 |
+
"replicates",
|
| 429 |
+
"seed"
|
| 430 |
+
],
|
| 431 |
+
"additionalProperties": false
|
| 432 |
+
},
|
| 433 |
+
{
|
| 434 |
+
"type": "null"
|
| 435 |
+
}
|
| 436 |
+
]
|
| 437 |
+
},
|
| 438 |
+
"p_raw": {
|
| 439 |
+
"type": [
|
| 440 |
+
"number",
|
| 441 |
+
"null"
|
| 442 |
+
],
|
| 443 |
+
"minimum": 0,
|
| 444 |
+
"maximum": 1
|
| 445 |
+
},
|
| 446 |
+
"p_holm": {
|
| 447 |
+
"type": [
|
| 448 |
+
"number",
|
| 449 |
+
"null"
|
| 450 |
+
],
|
| 451 |
+
"minimum": 0,
|
| 452 |
+
"maximum": 1
|
| 453 |
+
},
|
| 454 |
+
"family_size": {
|
| 455 |
+
"type": "integer",
|
| 456 |
+
"minimum": 1
|
| 457 |
+
},
|
| 458 |
+
"verdict": {
|
| 459 |
+
"enum": [
|
| 460 |
+
"withheld",
|
| 461 |
+
"better",
|
| 462 |
+
"worse",
|
| 463 |
+
"inconclusive"
|
| 464 |
+
]
|
| 465 |
+
},
|
| 466 |
+
"review": {
|
| 467 |
+
"type": "object",
|
| 468 |
+
"properties": {
|
| 469 |
+
"status": {
|
| 470 |
+
"enum": [
|
| 471 |
+
"pending",
|
| 472 |
+
"accepted",
|
| 473 |
+
"rejected"
|
| 474 |
+
]
|
| 475 |
+
},
|
| 476 |
+
"actor": {
|
| 477 |
+
"type": [
|
| 478 |
+
"string",
|
| 479 |
+
"null"
|
| 480 |
+
]
|
| 481 |
+
},
|
| 482 |
+
"artifact_sha256": {
|
| 483 |
+
"anyOf": [
|
| 484 |
+
{
|
| 485 |
+
"type": "string",
|
| 486 |
+
"pattern": "^[0-9a-f]{64}$"
|
| 487 |
+
},
|
| 488 |
+
{
|
| 489 |
+
"type": "null"
|
| 490 |
+
}
|
| 491 |
+
]
|
| 492 |
+
}
|
| 493 |
+
},
|
| 494 |
+
"required": [
|
| 495 |
+
"status",
|
| 496 |
+
"actor",
|
| 497 |
+
"artifact_sha256"
|
| 498 |
+
],
|
| 499 |
+
"additionalProperties": false,
|
| 500 |
+
"allOf": [
|
| 501 |
+
{
|
| 502 |
+
"if": {
|
| 503 |
+
"properties": {
|
| 504 |
+
"status": {
|
| 505 |
+
"const": "accepted"
|
| 506 |
+
}
|
| 507 |
+
}
|
| 508 |
+
},
|
| 509 |
+
"then": {
|
| 510 |
+
"properties": {
|
| 511 |
+
"actor": {
|
| 512 |
+
"type": "string",
|
| 513 |
+
"minLength": 1
|
| 514 |
+
},
|
| 515 |
+
"artifact_sha256": {
|
| 516 |
+
"type": "string",
|
| 517 |
+
"pattern": "^[0-9a-f]{64}$"
|
| 518 |
+
}
|
| 519 |
+
}
|
| 520 |
+
}
|
| 521 |
+
}
|
| 522 |
+
]
|
| 523 |
+
}
|
| 524 |
+
},
|
| 525 |
+
"required": [
|
| 526 |
+
"task_id",
|
| 527 |
+
"model_id",
|
| 528 |
+
"protocol_id",
|
| 529 |
+
"model_ref",
|
| 530 |
+
"delta",
|
| 531 |
+
"ci95",
|
| 532 |
+
"p_raw",
|
| 533 |
+
"p_holm",
|
| 534 |
+
"family_size",
|
| 535 |
+
"verdict",
|
| 536 |
+
"review"
|
| 537 |
+
],
|
| 538 |
+
"additionalProperties": false,
|
| 539 |
+
"allOf": [
|
| 540 |
+
{
|
| 541 |
+
"if": {
|
| 542 |
+
"properties": {
|
| 543 |
+
"verdict": {
|
| 544 |
+
"enum": [
|
| 545 |
+
"better",
|
| 546 |
+
"worse",
|
| 547 |
+
"inconclusive"
|
| 548 |
+
]
|
| 549 |
+
}
|
| 550 |
+
}
|
| 551 |
+
},
|
| 552 |
+
"then": {
|
| 553 |
+
"properties": {
|
| 554 |
+
"review": {
|
| 555 |
+
"properties": {
|
| 556 |
+
"status": {
|
| 557 |
+
"const": "accepted"
|
| 558 |
+
}
|
| 559 |
+
}
|
| 560 |
+
},
|
| 561 |
+
"delta": {
|
| 562 |
+
"type": "number"
|
| 563 |
+
},
|
| 564 |
+
"p_raw": {
|
| 565 |
+
"type": "number"
|
| 566 |
+
},
|
| 567 |
+
"p_holm": {
|
| 568 |
+
"type": "number"
|
| 569 |
+
}
|
| 570 |
+
}
|
| 571 |
+
}
|
| 572 |
+
},
|
| 573 |
+
{
|
| 574 |
+
"if": {
|
| 575 |
+
"properties": {
|
| 576 |
+
"review": {
|
| 577 |
+
"properties": {
|
| 578 |
+
"status": {
|
| 579 |
+
"enum": [
|
| 580 |
+
"pending",
|
| 581 |
+
"rejected"
|
| 582 |
+
]
|
| 583 |
+
}
|
| 584 |
+
}
|
| 585 |
+
}
|
| 586 |
+
}
|
| 587 |
+
},
|
| 588 |
+
"then": {
|
| 589 |
+
"properties": {
|
| 590 |
+
"verdict": {
|
| 591 |
+
"const": "withheld"
|
| 592 |
+
}
|
| 593 |
+
}
|
| 594 |
+
}
|
| 595 |
+
}
|
| 596 |
+
]
|
| 597 |
+
}
|
| 598 |
+
}
|
| 599 |
+
}
|
import-benchmarks.cjs
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
"use strict";
|
| 2 |
+
// Offline adapter, not a scorer or publisher. Validates N05's pinned wire
|
| 3 |
+
// contract and cross-field invariants before replacing the local result feed.
|
| 4 |
+
// Usage: node import-benchmarks.cjs PATH_TO_MEASUREMENT_PACKET.json
|
| 5 |
+
const fs = require("node:fs");
|
| 6 |
+
const path = require("node:path");
|
| 7 |
+
const crypto = require("node:crypto");
|
| 8 |
+
const contract = require("./benchmarks-contract.js");
|
| 9 |
+
function pinned(name, expected) {
|
| 10 |
+
const raw = fs.readFileSync(path.join(__dirname, name));
|
| 11 |
+
if (crypto.createHash("sha256").update(raw).digest("hex") !== expected) throw new Error(`Pinned input changed: ${name}`);
|
| 12 |
+
return JSON.parse(raw.toString("utf8"));
|
| 13 |
+
}
|
| 14 |
+
function main() {
|
| 15 |
+
if (process.argv.length !== 3) throw new Error("Usage: node import-benchmarks.cjs PACKET.json");
|
| 16 |
+
const inventory = pinned("benchmarks-plan.json", contract.inventorySHA);
|
| 17 |
+
const schema = pinned("benchmarks.schema.json", contract.schemaSHA);
|
| 18 |
+
const raw = fs.readFileSync(process.argv[2]);
|
| 19 |
+
const packet = JSON.parse(raw.toString("utf8"));
|
| 20 |
+
contract.validate(packet, inventory, schema, contract.revision);
|
| 21 |
+
// Validation happens before any write. Feed configuration is written last.
|
| 22 |
+
const output = path.join(__dirname, "benchmarks-results.json");
|
| 23 |
+
const staging = output + ".new";
|
| 24 |
+
fs.writeFileSync(staging, raw);
|
| 25 |
+
fs.renameSync(staging, output);
|
| 26 |
+
const feed = path.join(__dirname, "benchmarks-feed.json");
|
| 27 |
+
fs.writeFileSync(feed + ".new", '{\n "results": "benchmarks-results.json"\n}\n');
|
| 28 |
+
fs.renameSync(feed + ".new", feed);
|
| 29 |
+
console.log(JSON.stringify({run_id:packet.run_id,protocol_id:packet.protocol_id,kind:packet.provenance.kind,
|
| 30 |
+
observations:packet.observations.length,results_sha256:crypto.createHash("sha256").update(raw).digest("hex")}));
|
| 31 |
+
}
|
| 32 |
+
try { main(); } catch (error) { console.error(`STOP: ${error.message}`); process.exitCode = 1; }
|
index.html
CHANGED
|
@@ -95,6 +95,9 @@
|
|
| 95 |
figure:has(> img) img { width:760px; max-width:none; }
|
| 96 |
}
|
| 97 |
</style>
|
|
|
|
|
|
|
|
|
|
| 98 |
</head>
|
| 99 |
<body data-lang="en">
|
| 100 |
<nav class="lang" aria-label="Language"><button type="button" data-set="en" aria-pressed="true">EN</button><button type="button" data-set="pl" aria-pressed="false">PL</button></nav>
|
|
@@ -242,6 +245,13 @@
|
|
| 242 |
used a constant learning rate; a final decay has not been applied, so these are not end-of-training numbers for the model line.</p>
|
| 243 |
</section>
|
| 244 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 245 |
<section>
|
| 246 |
<h2>How we do it</h2>
|
| 247 |
<ol class="steps">
|
|
@@ -421,6 +431,13 @@
|
|
| 421 |
szła przy stałym tempie uczenia; końcowego wygaszania nie zastosowano, więc to nie są końcowe liczby tej linii modelu.</p>
|
| 422 |
</section>
|
| 423 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 424 |
<section>
|
| 425 |
<h2>Jak to robimy</h2>
|
| 426 |
<ol class="steps">
|
|
|
|
| 95 |
figure:has(> img) img { width:760px; max-width:none; }
|
| 96 |
}
|
| 97 |
</style>
|
| 98 |
+
<link rel="stylesheet" href="benchmarks.css">
|
| 99 |
+
<script src="benchmarks-contract.js" defer></script>
|
| 100 |
+
<script src="benchmarks.js" defer></script>
|
| 101 |
</head>
|
| 102 |
<body data-lang="en">
|
| 103 |
<nav class="lang" aria-label="Language"><button type="button" data-set="en" aria-pressed="true">EN</button><button type="button" data-set="pl" aria-pressed="false">PL</button></nav>
|
|
|
|
| 245 |
used a constant learning rate; a final decay has not been applied, so these are not end-of-training numbers for the model line.</p>
|
| 246 |
</section>
|
| 247 |
|
| 248 |
+
<section class="bench-panel" data-locale="en" aria-labelledby="bench-title-en">
|
| 249 |
+
<h2 id="bench-title-en">Benchmark campaign · N05-50</h2>
|
| 250 |
+
<p class="note">Protocol inventory, not fifty completed measurements. Related variants are not independent datasets. Panel-200 and full Open PL replication must remain separate.</p>
|
| 251 |
+
<div class="bench-content" role="status">Loading protocol inventory…</div>
|
| 252 |
+
<noscript><p>JavaScript is required for filtering. <a href="benchmarks-plan.json">Download the pinned task inventory</a>.</p></noscript>
|
| 253 |
+
</section>
|
| 254 |
+
|
| 255 |
<section>
|
| 256 |
<h2>How we do it</h2>
|
| 257 |
<ol class="steps">
|
|
|
|
| 431 |
szła przy stałym tempie uczenia; końcowego wygaszania nie zastosowano, więc to nie są końcowe liczby tej linii modelu.</p>
|
| 432 |
</section>
|
| 433 |
|
| 434 |
+
<section class="bench-panel" data-locale="pl" aria-labelledby="bench-title-pl">
|
| 435 |
+
<h2 id="bench-title-pl">Kampania benchmarków · N05-50</h2>
|
| 436 |
+
<p class="note">Inwentarz protokołu, nie pięćdziesiąt wykonanych pomiarów. Powiązane warianty nie są niezależnymi zbiorami. Panel-200 i pełna replika Open PL pozostają osobnymi skalami.</p>
|
| 437 |
+
<div class="bench-content" role="status">Wczytuję inwentarz protokołu…</div>
|
| 438 |
+
<noscript><p>Filtrowanie wymaga JavaScript. <a href="benchmarks-plan.json">Pobierz przypięty inwentarz zadań</a>.</p></noscript>
|
| 439 |
+
</section>
|
| 440 |
+
|
| 441 |
<section>
|
| 442 |
<h2>Jak to robimy</h2>
|
| 443 |
<ol class="steps">
|