









> The benchmark prompt was: > Write a compact Python function that parses a unified diff and returns the changed file paths. Then explain two edge cases. > Each benchmark generated about 128 tokens. Generating 128 tokens is probably not enough for good benchmark results. MTP speedup depends on how often the predicted tokens are accepted. In my experience, the very early output has a higher acceptance rate, so short testing can give false positive speedups. llama.cpp includes a tool specifically for benchmarking that will sweep the arguments for you so you don't have to restart the server and send it prompts: https://github.com/ggml-org/llama.cpp/blob/master/tools/llam... EDIT: Also the section about downloading the models should have mentioned that llama.cpp has a "-hf" argument that will download the models for you. I appreciate the author for sharing their experience, but for beginners this might not be the best guide to use. |
I wasn't familiar with Unclothe, so I had to look it up.. Are you sure you did not mean Unsloth? |
This is akin to saying “it runs on my machine” without actually examining the problem. Sad. You’re absolutely right that 128 tokens is nothing, it’s a little more than a hello response. |
is also pretty useful if you're doing this just to try agentic coding and you're not processing images/voice. Stops it downloading the multimodal projector. |
I cannot wait until a time in the future when we have local models that are Opus 4.6+ level, and capable of running on inexpensive hardware like a 16Gb Mac. Hopefully that's only a few years away. |
it looks handy but ... just so the single pi sandbox can talk to localhost? ... this gives me some grave doubts about the rest of it being set up well. |
I also have an M1 Max 64GB: Qwen 3.6 benefits from MTP (after rounds of parameter optimization). MLX was unstable (haven't tried it recently), faster at TG but slower at PP, so inconclusive. |
It truly is the SOTA for local inference on mac. Even when there are regressions the dev(s) are insanely responsive. It is the most impressive opensource project I've seen in a awhile |
For high Ram (unified), and relatively middling to lowish Tflops and bandwidth GB/s, usually MoEs are most hopeful. The current top-1 in the (iq, tok/s, @ context depth) ranks for me (M2 Max, 96gb) is DeepSeek-V4-Flash REAP25 <65gb gguf + ds4-server + pi agent. Not better than cloud API ofc, but useful enough to endure if I need to. E.g on a non-Internet 4h flight the battery (local llm draws 60w) held long enough. REAP supporting ds4 branch here https://github.com/ljubomirj/ds4/tree/reap-compact-support DS4F dropping to unusable <10 tok/s only at 784K context (!!) makes a big difference. |
I found a marginal downside to Qwen3.6-35B-A3B-MTP vs. the non-MTP equivalent on an M1 Max. I’ll maybe experiment with settings further though. |
That is what I have learned, yes. Not tested the dense Qwen yet. IIRC the 31B Gemma was slow enough that I doubt MTP will help me much. |
when I started using QAT recently, I stopped trying to improve my configuration after that. I will try tuning my local environment again in a few months, but with QAT things are good enough for now. |
Do you use that as a daily driver? Claude Code' prompt is huge and causes you to spend a long, long time on prompt processing for local models, then running out of context shortly after. |
Yes CC prompt can be ~30K tokens. I definitely do not use this as a daily driver. I did use it a few times for sensitive document work with Qwen3.6 MOE. |
FYI you can open Claude code in the terminal, point it at this article and just tell it to "do it", if you're feeling extra lazy |
> Instead of complaining on the sidelines, I'm getting a shit ton of work done. Nah, you are just producing a bunch of slop and hope that nobody notices. |
> I'm getting a shit ton of work done. It’s weird when people are proud of doing ton of work. Im the opposite, Im proud that Im doing minimal stuff without llms. |
> I'm getting a shit ton of work done. maybe you stopped thinking too much that you dont regonize that you are just producing slop that no one cares about. AI is now getting humans to produce slop |
>64 GB Thats the rub. I have an M4 with 48G. I wonder if it is worth testing this out. My past attempts (with Ollama and various LLMs) were too slow to use. |
I have a M5 MAX with 128, local models are toys compared to hosted ones. I've spent a lot of time and money trying to make it work even 1/2 as well. |
This might be useful when ‘coding in chat mode’: I have a few scripts that I run in a project directory that takes a prompt from me, and creates a single long one-shot prompt that I can paste into a chat window and ask that any generating code is inside markdown code blocks for easier copy/pasting. Also, pardon the plug, but you can read my new tiny book free online that documents my experiences using agentic coding on my 16G Mac and my 32G Mac: https://leanpub.com/read/local-coding-agents |
Looks cool, I’ll checkout the book. Your download links (PDF and EPUB) are down for me. > NoSuchKeyThe specified key does not exist… |
M4 24GB here. You'll be fine, if you're anything like me minor latency is acceptable to obtain (a) privacy (b) reliability (c) CI/CD/guardrails (d) network independence (e) future-proofing vs. AIaaS. https://omlx.ai/ gives you intelligent local hardware based model download recommendations. That said it probably depends heavily on your workload, process and polish expectations. See also https://news.ycombinator.com/item?id=48089091 |
what are you using on yours? I've got a M4 Pro 24GB also. tried the open source gpt one. it's alright but I found it can get stuck at times. maybe just my config in LM Studio. |
The video is stuck in an `<img>` tag so you need to wait for it to load. On a slow connection it might just not show for a while. Though the video is only 1MB so should load in if you wait. |
That’s what I was wondering, lm studio and draw things are easy to use apps that handle much of the cruft for you |
Is there a link to the video? It did not render when I went to the page. Curious about the real-time feel of this |
Note this is cut to just before the model responds, so not a great way for people to judge the real-time feel of this. |
Whay about of the tons of caches that just pile up until you notice that you must delete them manually? |
or you can just load up ollama, have it load a local model and point claude or opencode at it... is this article old? It's not. I'm not sure why he went through all the bother of llama.cpp |
That was exactly my same question. Then I finished reading the post. The reason is pretty clear, and written in the post: it is faster than ollama+mlx. |
I was benchmarking different models, different engines, and different draft models, I posted a video on twitter, and people started asking about the setup in the final screen recording. So the blog post isn't so much "how a beginner should setup something" it's "here's the setup I posted in the video". Original video: https://x.com/Freerunnering/status/2065275403548168398 And in the blog post there is a table showing the different speeds I got from different engines. Slowest combo was 38.1 tk/s, and the fastest was 72.2 tk/s. All from "the same" model. |
ollama is a wrapper on top of llama.cpp, and it makes llama.cpp slower, why use it? Also Ollama has other issues (like forgetting what it really is - a wrapper). |
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。