MacBook实测Qwen2.5-Coder-32B
阿里巴巴 Qwen 研究团队发布的新 Qwen2.5-Coder 系列开源LLM(Apache 2.0 许可)引起了广泛关注。乍一看,这种关注似乎是当之无愧的。
Qwen 声称:
Qwen2.5-Coder-32B-Instruct 已成为当前的 SOTA 开源代码模型,与 GPT-4o 的编码能力相匹配。
对于一个足够小的 32B 模型来说,这是一个很大的声明,它可以在我的 64GB MacBook Pro M2 上运行。 Qwen 发布的分数看起来令人印象深刻,在各种代码相关基准测试中与 GPT-4o 和 Claude 3.5 Sonnet(2024 年 10 月)版本相比均表现出色:
其他研究人员的基准测试怎么样?Paul Gauthier 的 Aider 基准测试享有盛誉,Paul 报告称:
新的 Qwen 2.5 Coder 模型在 aider 的代码编辑基准测试中表现非常出色。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“整体编辑”基准测试的。“diff”基准测试得分也不错,Qwen2.5 Coder 32B 与 GPT-4o 持平(但略低于 Claude 3.5 Haiku)。
鉴于这些分数(以及 Reddit 上的积极评价),我不得不亲自尝试一下。
我尝试使用 llm-gguf 运行 Qwen/Qwen2.5-Coder-32B-Instruct-GGUF Q8,但速度有点太慢了,因为我目前没有编译它来使用我的 Mac 的 GPU。
我使用以下命令安装了 Ollama 版本:
ollama pull qwen2.5-coder:32b
这获取了一个 20GB 的量化文件。我使用我的 LLM 工具和 Sergey Alexandrov 的 llm-ollama 插件运行了一个提示,如下所示:
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 错误(如果我允许模型使用 requests
或 httpx
而不是标准库,这不会成为问题)。
我还尝试使用 Apple Silicon 快速阵列框架 MLX,我 直接使用 mlx-llm 库来运行它,通过 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'
这给了我一个非常令人满意的结果——当我在终端中运行它生成的代码时,我得到了这个:
这是一个非常有前途的开发。32GB 足够小,我可以在 Mac 上运行模型,而不必退出我正在运行的所有其他应用程序,而且结果的速度和质量都与当前最好的托管模型相媲美。
鉴于代码辅助目前大概占我 LLM 使用量的 80% 左右,这对于我如何使用这类技术来说是一个非常有用的版本。
原文链接:Qwen2.5-Coder-32B is an LLM that can code well that runs on my Mac
汇智网翻译整理,转载请标明出处