Ollama 现已支持 AMD 显卡
Ollama 新增对 AMD GPU 的支持,被视为削弱 Nvidia CUDA 主导地位、让本地大语言模型推理更便宜的一步,尤其是考虑到 AMD 通常在每美元 VRAM 方面更有优势。评论者指出,性能仍落后于顶级 Nvidia 显卡,AMD 的 ROCm 栈依然碎片化且更难配置,但许多人报告称通过官方支持或环境变量变通方案,可以在多款消费级显卡上成功运行。该讨论串也强调了 Ollama 作为 llama.cpp 易用封装的角色,并引出了关于上游项目署名以及 Ollama 适合实验还是生产部署的疑问。
AMD 支持的意义及其对 Nvidia 的影响
- 许多人认为 Ollama 对 AMD 的支持削弱了 Nvidia 的 CUDA 壁垒,至少在推理侧如此。
- 训练仍被认为由 Nvidia 主导,但推理更关乎每个 token 的成本和 VRAM,而这正是 AMD 可以竞争的领域。
- 本地 LLM 的热情正在推动对非 Nvidia 方案的需求,原因在于价格和可用性。
性能、成本与 VRAM 取舍
- 多条评论指出,AMD 显卡在原始性能上通常落后于 RTX 4090,但按每 GB VRAM 的价格来看更便宜。
- 对许多用户来说,能够以稍低的 tokens/s 运行更大、更好的模型,比速度更快但受限于 VRAM 的 Nvidia 显卡更有吸引力。
- 有人报告了具体数字(例如在中端 AMD GPU 上运行 Mistral 7B Q6 约 35 tokens/s),但系统性的基准测试大多仍“不明确”。
实现细节:ROCm、Vulkan、OpenCL、HIP
- Ollama 的 AMD 支持构建在 llama.cpp 之上,使用 ROCm;一个关联的提交确认了 ROCm 集成。
- llama.cpp 中也有面向较老 AMD GPU 的 Vulkan 和 OpenCL 后端;其性能被描述为不如 CUDA/ROCm,但可用。
- HIP 被提及为 AMD 的类 CUDA 可移植层,但其可靠性和稳定性存在争议。
- OpenCL 被广泛描述为“仍然活着,但属于二等选择”,而且不如厂商专有栈好用。
硬件兼容性与变通方案
- 官方支持列表主要面向较新的 RDNA2/3 显卡;许多用户报告通过环境变量(例如
HSA_OVERRIDE_GFX_VERSION=10.3.0)在更多显卡上“非官方”成功运行。 - 某些显卡(尤其是 5700XT)缺少 ROCm 支持,这让从旧 Nvidia 显卡升级来的用户感到沮丧。
- 集成 Radeon/APU 支持尚不可用;问题链接表明这是已知限制。
Ollama 与 llama.cpp 及其他工具
- 普遍共识是,Ollama 本质上是对 llama.cpp 的用户友好封装,增加了注册表、简单 CLI,以及基于 VRAM 的自动配置。
- 一些用户表示,他们在编译 llama.cpp 时遇到困难(尤其是 CUDA/ROCm 相关),但觉得 Ollama “一条命令”就能用,很方便。
- 另一些人更偏好直接使用 llama.cpp、koboldcpp 或其他 UI,以获得更多控制、性能调优、并发能力或多模型支持。
生产环境 vs. 实验探索之争
- 有人认为 Ollama 主要面向本地实验和个人使用,缺乏并发和多模型服务能力,因此不适合企业/生产环境。
- 也有人表示自己在“类生产”的个人或小规模工作流中使用 Ollama(RAG、本地知识抽取、内网工具),并看重它的简洁性。
- 还有人担心 llama.cpp 实际上承担了大部分艰难的优化工作,而 Ollama 却获得了更多关注;同时也讨论了 Ollama 是否充分注明其依赖并遵守许可。