GLiNER2.5-Decide-CoreAI / macos /classifier.json
mlboydaisuke's picture
GLiNER2.5-Decide on Core AI: fp16 graphs S=256/512 (macos JIT, ios h19p AOT), tokenizer, classifier.json, gate fixtures, LICENSE/NOTICE
7464c91 verified
Raw
History Blame Contribute Delete
2.46 kB
{
"model": "fastino/GLiNER2.5-Decide",
"revision": "7ee5da4c2415e32259bcdc0b1a7367c32ce8d6f6",
"dtype": "float16",
"MMAX": 32,
"shapes": [
{
"S": 256,
"bundle": "gliner25-decide_float16_s256_m32.aimodel",
"bytes": 872988957,
"reference": "reference_s256.json"
},
{
"S": 512,
"bundle": "gliner25-decide_float16_s512_m32.aimodel",
"bytes": 874561440,
"reference": "reference_s512.json"
}
],
"host_shape_rule": "use the smallest S in `shapes` with len(input_ids) <= S; longer inputs are outside these bundles (gliner2's classify_text_long chunks such text on the host)",
"graph": {
"relative_position": "bucket table baked at export (S fixed); coreai-torch 0.4.1 lowers aten.div.Tensor(int,int) to integer division — logs/diag_div_probe.log"
},
"inputs": {
"input_ids": [
"int32",
[
1,
"S"
]
],
"attention_mask": [
"int32",
[
1,
"S"
]
],
"label_idx": [
"int32",
[
1,
32
]
]
},
"outputs": {
"logits": [
"float32",
[
1,
32
]
]
},
"marker_ids": {
"[MASK]": 128000,
"[SEP_STRUCT]": 128001,
"[SEP_TEXT]": 128002,
"[P]": 128003,
"[C]": 128004,
"[E]": 128005,
"[R]": 128006,
"[L]": 128007,
"[EXAMPLE]": 128008,
"[OUTPUT]": 128009,
"[DESCRIPTION]": 128010
},
"pad": {
"input_ids": 0,
"attention_mask": "1 for real tokens, 0 for padding",
"label_idx": "unused slots repeat the first [L] position (host never reads them)"
},
"label_idx": "the [L] marker positions of every task, concatenated in task order; the host keeps each task's slice",
"layout": "( [P] <task>[: <prompt>][ [DESCRIPTION] <label>: <desc>]* ( [L] <label> [L] <label> ... ) ) [SEP_STRUCT] ( ... ) [SEP_TEXT] <text words>; every piece tokenized with tokenizer.tokenize(piece) on its own, no CLS/SEP",
"text": "append '.' unless the text ends with . ! ? (empty -> '.'); split with gliner2 WhitespaceTokenSplitter regex (URL | email | @handle | \\w+(?:[-_]\\w+)* | \\S, IGNORECASE); lowercase the word values only; schema strings keep their case",
"decision": {
"single_label": "softmax over the task's logits, argmax",
"multi_label": "sigmoid, every label with prob >= cls_threshold; none -> argmax",
"cls_threshold_default": 0.5,
"temperature": 1.0
}
}