阿里开源的编程模型在个人 Mac 上可用,性能良好。程序员可获得隐私保护的本地编程助手,避免 API 依赖。
围绕阿里巴巴 Qwen 研究团队新发布的 Qwen2.5-Coder 系列开源 LLM(采用 Apache 2.0 许可证),最近出现了大量讨论。就第一印象而言,这波热度实至名归。
Qwen2.5-Coder-32B-Instruct 已经成为当前最先进的开源代码模型,其编程能力可与 GPT-4o 匹敌。
对于一个只有 32B、体量小到能在我的 64GB MacBook Pro M2 上运行的模型来说,这是一个相当大胆的说法。Qwen 公布的成绩看起来很亮眼:在多项代码相关 benchmark 中,它与 GPT-4o 和 Claude 3.5 Sonnet(2024 年 10 月版本)相比也毫不逊色。
那么,其他研究者的 benchmark 结果如何?Paul Gauthier 的 Aider benchmark 口碑很好,Paul 报告称:
新的 Qwen 2.5 Coder 模型在 aider 的代码编辑 benchmark 中表现非常出色。32B Instruct 模型的得分介于 GPT-4o 和 3.5 Haiku 之间。
84% 3.5 Sonnet、75% 3.5 Haiku、74% Qwen2.5 Coder 32B、71% GPT-4o、69% Qwen2.5 Coder 14B、58% Qwen2.5 Coder 7B
以上是 Aider「whole edit」benchmark 的成绩。它在「diff」benchmark 中的得分也很高,Qwen2.5 Coder 32B 与 GPT-4o 打成平手,不过略微落后于 Claude 3.5 Haiku。
看到这些成绩,再加上 Reddit 上的积极讨论,我必须亲自试一试。
我尝试通过 llm-gguf 运行 Qwen/Qwen2.5-Coder-32B-Instruct-GGUF Q8,但速度有些太慢了,因为我目前还没有把它编译成能够使用 Mac GPU 的版本。
不过,Ollama 版本和 MLX 版本的表现都非常棒!
我使用下面的命令安装了 Ollama 版本:
ollama pull qwen2.5-coder:32b
这条命令下载了一个 20GB 的量化文件。随后,我通过自己的 LLM 工具和 Sergey Alexandrov 开发的 llm-ollama 插件,用下面的方式向它发送 prompt:
llm install llm-ollama
llm models # Confirming the new model is present
llm -m qwen2.5-coder:32b 'python function that takes URL to a CSV file and path to a SQLite database, fetches the CSV with the standard library, creates a table with the right columns and inserts the data'
这是生成结果。代码可以正常运行,但我不得不先绕过一个令人恼火的 ssl bug(如果我允许模型使用 requests 或 httpx,而不是限定只能使用标准库,就不会遇到这个问题)。
我还尝试通过 mlx-llm 库直接使用针对 Apple Silicon 优化的高速数组计算框架 MLX,并用 uv 运行:
uv run --with mlx-lm \
mlx_lm.generate \
--model mlx-community/Qwen2.5-Coder-32B-Instruct-8bit \
--max-tokens 4000 \
--prompt 'write me a python function that renders a mandelbrot fractal as wide as the current terminal'
它给出了一个非常令人满意的结果——我在终端中运行它生成的代码后,得到了这样的输出:
MLX 报告了以下性能指标:
Prompt: 49 tokens, 95.691 tokens-per-sec
Generation: 723 tokens, 10.016 tokens-per-sec
Peak memory: 32.685 GB
接下来看看它在「鹈鹕骑自行车」benchmark 上表现如何。
llm -m qwen2.5-coder:32b 'Generate an SVG of a pelican riding a bicycle'
先不讨论这张颇为可疑的鹈鹕 SVG 图,这仍然是一项非常有前景的进展。32GB 的体量刚好足够小,让我无须退出正在运行的其他所有应用,就能在自己的 Mac 上运行这个模型;无论是速度还是结果质量,都让我觉得它确实能够与目前最优秀的托管模型竞争。
考虑到目前我的 LLM 使用场景中,大约 80% 都与代码辅助有关,因此就我使用这类技术的方式而言,这是一次真正具有实用价值的发布。
OpenAI 对 Hugging Face 发起的意外网络攻击,是已经成为现实的科幻故事——2026 年 7 月 22 日
与 Claude Code 团队的 Cat 和 Thariq 炉边对谈——2026 年 7 月 21 日
Kimi K3,以及我们仍然可以从鹈鹕 benchmark 中学到什么——2026 年 7 月 16 日
本文是 Simon Willison 撰写的《Qwen2.5-Coder-32B:一个能在我的 Mac 上运行、编程能力出色的 LLM》,发布于 2024 年 11 月 12 日。
「个人设备上的 LLM」系列文章之一
在终端中使用 LLM 运行 Mistral 模型的多种方式——2023 年 12 月 18 日下午 6:18
通过 LLM 在终端中访问 Llama 3 的几种方式——2024 年 4 月 22 日下午 1:38
使用 mistral.rs 在 Mac 上运行 Llama 3.2 Vision 和 Phi-3.5 Vision——2024 年 10 月 19 日下午 4:14
Qwen2.5-Coder-32B:一个能在我的 Mac 上运行、编程能力出色的 LLM——2024 年 11 月 12 日晚上 11:37
现在,我可以在笔记本电脑上运行 GPT-4 级别的模型了——2024 年 12 月 9 日下午 3:08
DeepSeek-R1,以及对 DeepSeek-R1-Distill-Llama-8B 的探索——2025 年 1 月 20 日下午 3:20
使用 pip 安装一个小于 100MB 的 Large Language Model——2025 年 2 月 7 日上午 6:34
下一篇:项目:Civic Band——抓取并搜索数百个市政机构的 PDF 会议纪要
上一篇:使用 Datasette、Observable 和 MapLibre GL 可视化地方选举结果
每月赞助我 10 美元,即可收到一封精心整理的邮件摘要,了解当月最重要的 LLM 进展。
付钱让我少给你发点内容!