{ "format": "lfm3-coreml-text/1", "model": "LiquidAI/LFM3-Audio-2B", "revision": "9d49701c372d6011d900f6abb40c6b296fb706dd", "variant": "int8b32", "hidden_size": 2048, "vocab_size": 128000, "head_dim": 128, "num_layers": 24, "layer_types": [ "conv", "conv", "full_attention", "conv", "sliding_attention", "conv", "full_attention", "conv", "sliding_attention", "conv", "full_attention", "conv", "sliding_attention", "conv", "full_attention", "conv", "sliding_attention", "conv", "full_attention", "conv", "sliding_attention", "conv", "full_attention", "conv" ], "cache_len": 4160, "fifo_len": 256, "sliding_window": 256, "rope": { "full": { "theta": 1000000.0, "pairs": 32 }, "sliding": { "theta": 10000.0, "pairs": 64 } }, "mask_neg": -30000.0, "topk": { "k": 64, "chunks": 4, "chunk_size": 32000, "note": "topk_v/topk_i are [1,chunks,k]: per-chunk top-k with LOCAL ids; global id = i + c*chunk_size; merge on the host (GPU topk/int math is 16-bit on macOS 27)" }, "embedding": { "file": "embed_tokens.f16.bin", "dtype": "float16", "shape": [ 128000, 2048 ] }, "stages": [ { "package": "LFM3-A-C4160-int8b32.mlpackage", "layers": [ 0, 12 ], "functions": [ { "name": "decode_q1", "q": 1, "span": 4096, "head": "topk", "k": 64, "penalty": true, "role": "decode", "calls": [ "decode_q1", "decode_q1" ] }, { "name": "decode_hidden_q1", "q": 1, "span": 4096, "head": "none", "role": "decode_hidden", "calls": [ "decode_q1", "decode_q1" ] }, { "name": "prefill_q256", "q": 256, "span": 4096, "head": "topk", "k": 64, "penalty": true, "role": "prefill", "calls": [ "prefill_q256", "prefill_q256" ] }, { "name": "prefill_q64", "q": 64, "span": 4096, "head": "topk", "k": 64, "penalty": true, "role": "prefill", "calls": [ "prefill_q64", "prefill_q64" ] }, { "name": "prefill_q16", "q": 16, "span": 4096, "head": "topk", "k": 64, "penalty": true, "role": "prefill", "calls": [ "prefill_q16", "prefill_q16" ] }, { "name": "prefill_q13", "q": 13, "span": 4096, "head": "topk", "k": 64, "penalty": true, "role": "prefill", "calls": [ "prefill_q13", "prefill_q13" ] } ] }, { "package": "LFM3-B-C4160-int8b32.mlpackage", "layers": [ 12, 24 ], "functions": [ { "name": "decode_q1", "q": 1, "span": 4096, "head": "topk", "k": 64, "penalty": true, "role": "decode", "calls": [ "decode_q1", "decode_q1" ] }, { "name": "decode_hidden_q1", "q": 1, "span": 4096, "head": "none", "role": "decode_hidden", "calls": [ "decode_q1", "decode_q1" ] }, { "name": "prefill_q256", "q": 256, "span": 4096, "head": "topk", "k": 64, "penalty": true, "role": "prefill", "calls": [ "prefill_q256", "prefill_q256" ] }, { "name": "prefill_q64", "q": 64, "span": 4096, "head": "topk", "k": 64, "penalty": true, "role": "prefill", "calls": [ "prefill_q64", "prefill_q64" ] }, { "name": "prefill_q16", "q": 16, "span": 4096, "head": "topk", "k": 64, "penalty": true, "role": "prefill", "calls": [ "prefill_q16", "prefill_q16" ] }, { "name": "prefill_q13", "q": 13, "span": 4096, "head": "topk", "k": 64, "penalty": true, "role": "prefill", "calls": [ "prefill_q13", "prefill_q13" ] } ] } ], "head": { "package": "LFM3-Head-int8b32.mlpackage", "inputs": { "h": "[1,1,H] fp16 (last row of stage B h)", "rp": "[1,1,V] fp16 repetition-penalty mask" }, "outputs": "topk_v/topk_i [1,chunks,k]", "stateless": true }, "prefill": { "buckets": [ 256, 64, 16, 13 ], "pad_first": true }, "tokens": { "bos": 124894, "eos": [ 124900, 125014 ], "pad": 124893 }, "generation": { "temperature": 0.0, "top_k": 1, "repetition_penalty": 1.0, "do_sample": false }, "inputs": { "x": "[1,Q,H] fp16 inputs_embeds (host gathers embed_tokens rows; zero rows = pads)", "cos_g/sin_g": "[1,1,Q,D] fp16 zero-tail RoPE (rope.full) at positions slot - n_pad", "cos_s/sin_s": "[1,1,Q,D] fp16 RoPE (rope.sliding)", "mask_g": "[1,1,Q,span] additive -3e4: key slot <= query slot, same pad class", "mask_s": "[1,1,Q,fifo+Q] over cat(fifo[256], new[Q]); fifo j holds slot slot0-256+j; window 256 incl. self", "write_pos": "int32 [1] slot of the first row (prefill; decode too unless decode_kv_write == onehot)", "onehot": "[1,1,span,1] fp16, 1.0 at the write slot (decode functions when decode_kv_write == onehot)", "rp": "[1,1,V] fp16, 1 = token seen in prompt+generated (repetition penalty in graph)" }, "outputs": { "h": "[1,Q,H] fp16 after embedding_norm (stage B)", "topk_v/topk_i": "[1,chunks,k] last row: per-vocab-chunk top-k (desc) with local int32 ids" }, "notes": "stage A output h (raw residual) feeds stage B input x; both stages take the same host inputs; one MLState per stage shared by all its functions; never pad a chunk except the first on a fresh state", "spans": [ 4096 ], "build_seconds": 318.7, "quantization": "int8b32", "k": 64, "awq": null, "decode_kv_write": "onehot" }