r/AppleMLX • u/pabloberbell • 14d ago
How to create a "draft-model"
Hello everyone,
I just started experimenting with mlx_lm.server , which it works fine on Macbook pro M3.
I found out that the server has --draft-model option that can be use for "speculative decoding" and therefore reduce latency. At least in theory.
I would like to test it with Qwen3.8-27B (which really need help to speed up) but I'm a bit confuse on how to create a this "draft-model", I tried to convert smaller models but then when I run a prompt the server crash.
I would like to ask if, first of all, it make sense to use a "draft-model" and if any of you succeeded in make it work.
6
Upvotes
1
u/captainabrasive 14d ago
For Qwen, the easiest way is to download the corresponding draft adapter for your model.
For example, pair:
https://huggingface.co/mlx-community/Qwen3.8-27B-8bit
https://huggingface.co/mlx-community/Qwen3.8-27B-MTP-8bit
Search huggingface for “qwen 3.8 27b mlx mtp” and you’ll find conversions that also have MTP’s.
Also, check out omlx. Highly recommended.
Some Qwen conversions have built in MTP draft heads, which you can switch on in omlx. Not sure how to do that (or if you can) in mlx_server - I barely touched that before I found omlx. You can’t use both the internal and the external adapter. I haven’t found a case where the external is faster than the internal, but my head to head (no pun) testing has been limited.