答案并非“显卡好,CPU差”这么简单。
如果用户在本地运行人工智能,可能见过这样的建议:“买个好显卡”。但这到底是什么意思?CPU真的那么没用吗?答案并非“显卡好,CPU差”这么简单。关键在于每个处理器如何处理人工智能推理背后的数学运算,以及哪个处理器能够以足够快的速度处理数据,从而跟上计算进度。
人工智能推理过程中究竟发生了什么?
当运行本地 LLM 或图像模型时,硬件会反复执行同一件事:矩阵乘法。模型接收输入,将其转换为数字,然后将这些数字传递给各个层进行数十亿次的数学运算。硬件处理这些运算的速度越快,就能越快得到响应。
这是推理,即从训练好的模型中生成输出。用户并没有训练任何东西。只是逐个处理词元,进行数学运算。
CPU如何处理AI工作
CPU 的设计目标是面面俱到。它负责操作系统、浏览器标签页、文件系统,当然,它也能运行人工智能模型。现代 CPU 拥有多个核心(消费级芯片通常为 8 到 24 个),每个核心都功能强大且灵活。
问题在于:人工智能推理需要同时对海量数据执行相同的操作。CPU 可以做到这一点,但它处理这些操作的方式更偏向于顺序处理。这就像让几个速度极快的工人去完成一项实际上需要数百人同时协作才能完成的工作。
话虽如此,CPU并非完全无法胜任本地AI任务。像llama.cpp这样的工具就专门针对CPU推理进行了优化,如果模型能够装进系统内存,那么完全可以只用CPU运行它。只是速度有时会明显变慢,有时则不然,这取决于模型的大小。
GPU 如何处理 AI 工作
GPU 的设计核心就是并行计算。CPU 可能有 8 到 24 个核心,而现代 GPU 则拥有数千个更小的核心,这些核心可以同时处理同一问题的不同部分。这使得 GPU 在人工智能模型所依赖的大规模数学运算方面表现异常出色。
此外,GPU拥有独立的显存(VRAM),其带宽远高于系统内存。带宽至关重要,它决定了数据传输到数千个核心的速度。更高的带宽意味着更少的等待时间和更多的计算时间。
具体到局部LLM推理,GPU的优势体现在两方面:并行处理能力和内存带宽。这两者都直接影响输出中每秒显示的词元数量。
内存带宽
大多数人可能会感到惊讶:对于局部 LLM 推理而言,原始计算能力通常不是限制因素,内存带宽才是。
在推理过程中,需要从内存中读取每个生成的词元对应的模型权重。如果内存无法足够快地将数据传输给处理器,那么无论有多少个核心都无济于事,它们只会闲置等待。
这就是为什么显存带宽如此重要。典型的DDR5系统内存配置可能提供50-90 GB/s的带宽。而像RTX 5090这样的现代GPU可以提供超过1000 GB/s的带宽。这可是数量级的差距。
如果模型完全可以放入显存中,仅凭这一点,GPU 上的推理速度几乎总是比 CPU 上的推理速度更快。
何时仅使用 CPU 才是明智之举
GPU并非总是最佳选择。在某些情况下,使用CPU运行才是正确的选择:
你运行的是一个小型模型(3B 参数或更少),速度差异几乎难以察觉。
您的显卡不兼容,或者您的显卡显存不足以支持该型号。
你想利用全部系统内存(通常比显存大得多)以较慢的速度运行更大的模型。
你使用的是笔记本电脑或台式机,而GPU功耗或发热量是一个需要考虑的问题。
由于量化技术(降低模型精度以减少内存占用)以及针对量化技术优化的框架,CPU推理性能得到了显著提升。在配备32GB内存的现代CPU上运行量化后的70亿模型,足以胜任许多任务。
如果您的模型太大,超出显存容量,但您仍然希望获得 GPU 加速,大多数本地 LLM 工具都支持部分卸载。这意味着模型的某些层在 GPU 上运行,而其余层在 CPU 上运行。
这是一种权衡:虽然能获得一些 GPU 的速度优势,但 CPU 密集型层会成为瓶颈。VRAM 中能容纳的层越多,速度就越快。但如果只有少数几层最终在 GPU 上运行,那么数据在 GPU 和 GPU 之间来回传输的开销实际上可能会使其速度比纯 CPU 推理还要慢。
经验法则是:如果至少一半的模型无法放入显存中,那么最好完全在 CPU 上运行它,从而避免增加复杂性。
NVIDIA 与 AMD 在本地 AI 领域的竞争
NVIDIA 目前在本地 AI 领域占据主导地位,这主要归功于 CUDA。几乎所有 AI 工具都基于 CUDA 这个专有的计算框架构建。如果您在 Windows 系统上使用 LM Studio、Ollama 或 llama.cpp,NVIDIA GPU 将为您带来最流畅的体验,并将故障排除工作量降至最低。
AMD正在迎头赶上。ROCm(AMD对标CUDA的技术)取得了显著进展,像Ollama这样的工具也明确支持Windows上的AMD Radeon GPU。但目前的生态系统仍然较为有限,根据你使用的GPU型号和工具的不同,你可能会遇到兼容性问题。
如果购买显卡的目的是为了本地AI,那么目前NVIDIA显卡是更稳妥的选择。如果你已经拥有AMD显卡,那么也绝对值得一试,但最好先查看一下你所用工具的文档,确认它支持的型号。
*声明:本文系原作者创作。文章内容系其个人观点,我方转载仅为分享与讨论,不代表我方赞成或认同,如有异议,请联系后台。
热门跟贴