Download assets/config.json from FluidInference/lfm3-audio-2b-coreml: direct link, hf CLI and curl.
- Browser
- Download file 5.74 kB
-
https://huggingface.co/FluidInference/lfm3-audio-2b-coreml/resolve/main/assets/config.json
- Command line
-
hf download hf://FluidInference/lfm3-audio-2b-coreml/assets/config.json
-
curl -L -o config.json https://huggingface.co/FluidInference/lfm3-audio-2b-coreml/resolve/main/assets/config.json
5.74 kB
| { | |
| "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" | |
| } |