u/arfung39

▲ 5 r/oMLX

MTP quitting too early for long runs: for oMLX developers

Dear oMLX developers,

First, thanks for an amazing tool.

Here is an issue that might be worth investigating. I've been playing with oMLX running Qwen 3.8 27B - 4 bit MTP. I've set up the model with 96k context, 16k max_tokens, and 8k reasoning limit. Qwen is on xhigh thinking. I'm using it to generate a large web page that is a fluid dynamics visualizers. On my MacBook Pro M5 Max, the full run with many turns takes about 90 mins. It is well behaved throughout - no memory thrashing (took some tuning with the GDN settings).

In analyzing the log, it seems that on many long generation runs, MTP is quitting early - after several hundred tokens - on a many thousand token generation run. Claude suggested that performance might be better if MTP re-armed more often. Here is a table that lists context length (prompt length) (growing over about an hour or so), and then generation length for a turn, and MTP status and success for that turn. Stop means that MTP got through the whole run, and parked means that it stopped after x tokens in the run.

Full post-GDN table, every completion I can pair with an MTP outcome:

Prompt Gen tok/s MTP Accept
69 10,207 29.0
1,182 252 13.7 stop 75.8%
8,729 8,599 23.9 parked at 640 71.5%
17,772 61 28.6 stop 70.5%
17,915 4,964 33.7 stop 93.8%
22,900 1,979 29.9 stop 87.3%
24,899 363 27.2 stop 82.2%
41,338 1,085 29.7
42,443 141 23.6 stop 83.9%
44,123 1,100 28.8 stop 94.2%
45,243 289 25.9 stop 93.1%
45,552 102 23.3 stop 83.8%
46,646 314 17.0 parked at 134 74.3%
46,980 570 22.2 stop 80.3%
47,998 120 21.3 stop 78.6%
48,201 7,559 15.9 parked at 101 79.3%
55,780 132 18.2 parked at 79 81.6%
56,230 2,243 24.0 stop 92.9%
58,493 4,763 15.5 parked at 499 85.6%
63,276 5,865 15.2 parked at 499 90.9%
69,161 3,296 14.9 parked at 155 81.6%
72,477 280 19.0 stop 85.5%
72,777 713 21.0 stop 87.3%
73,510 79 22.3 stop 86.8%
73,618 188 23.4 stop 92.3%
73,835 7,814 14.5 parked at 145 74.1%

thanks for considering!

reddit.com
u/arfung39 — 24 hours ago
▲ 4 r/oMLX

Can I d/l full bf16 versions of Qwen 3.6 27B MTP and 35B MTP in MLX?

I want to make my own oQe quantized versions of Qwen 3.6 27B and 35B, but can't find these models on hugging face. Am I doing the search wrong?

I would be happy to use ones that someone else has quantized (oQ4e would be great), but I don't see those up yet...

reddit.com
u/arfung39 — 1 month ago
▲ 7 r/oMLX

oMLX 0.3.9 getting stuck with high memory use

I'm running Qwen3.5 27B - mtp, and on default settings sometimes (with OpenCode) oMLX gets the the top of its memory and the API stops responding to OpenCode (opencode says: "Cannot connect to API: Unable to connect. Is the computer able to access the url... [retrying in 3s attempt #16]"). Here is a screenshot of the oMLX dashboard. Any fixes?

oMLX dashboard with memory full.

reddit.com
u/arfung39 — 3 months ago
▲ 54 r/oMLX

Qwen3.6-35B-oQ6 is the sweet spot for me with MTP

I've been having a good time playing with OpenCode and oMLX. Multi-token prediction does really seem to speed things up. I'm playing with the Qwen 3.6 35B MoE models, and I noticed that the oQ6 model is almost as fast as the oQ4 for me in token generation. This may be because the prediction acceptance rate is higher. Here are benchmarks for the two running on my machine (M5 Max 64GB) through oMLX:

oMLX - LLM inference, optimized for your Mac
https://github.com/jundot/omlx
Benchmark Model: Qwen3.6-35B-A3B-oQ4-mtp
================================================================================
Single Request Results
--------------------------------------------------------------------------------
Test                TTFT(ms)    TPOT(ms)        pp TPS        tg TPS      E2E(s)    Throughput    Peak Mem
pp1024/tg128           436.3        8.29  2346.9 tok/s   121.6 tok/s       1.489   773.8 tok/s    20.37 GB
pp4096/tg128          1073.4        8.73  3815.9 tok/s   115.4 tok/s       2.183  1935.4 tok/s    21.17 GB
pp8192/tg128          2018.7        9.17  4058.0 tok/s   109.9 tok/s       3.184  2613.2 tok/s    21.66 GB
pp16384/tg128         4503.8        9.72  3637.8 tok/s   103.7 tok/s       5.739  2877.3 tok/s    22.36 GB
oMLX - LLM inference, optimized for your Mac
https://github.com/jundot/omlx
Benchmark Model: Qwen3.6-35B-A3B-oQ6-mtp
================================================================================
Single Request Results
--------------------------------------------------------------------------------
Test                TTFT(ms)    TPOT(ms)        pp TPS        tg TPS      E2E(s)    Throughput    Peak Mem
pp1024/tg128           463.3        9.34  2210.3 tok/s   107.9 tok/s       1.650   698.3 tok/s    28.29 GB
pp4096/tg128          1121.2        9.87  3653.1 tok/s   102.1 tok/s       2.375  1778.7 tok/s    29.10 GB
pp8192/tg128          2095.8       10.38  3908.8 tok/s    97.1 tok/s       3.414  2436.9 tok/s    29.58 GB
pp16384/tg128         4732.2       10.61  3462.2 tok/s    95.0 tok/s       6.080  2715.8 tok/s    30.29 GB
u/arfung39 — 3 months ago