想在家运行大型语言模型吗?其实除了传统的“把一堆英伟达GPU连接到2400瓦电源上”之外,还有一种有趣的架构替代方案。这里我讨论的是运行大型语言模型,而不是训练模型。
自托管 GPT?
截至撰稿时,我们所知的全球最佳语言学习模型是 OpenAI 的 ChatGPT。该模型使用数万亿个参数进行训练。如果您想要最好的,就需要注册 OpenAI 的服务并付费。
但你也可以在家下载并运行LLM程序。它们肯定不如OpenAI的程序好——除非你拥有数十亿资金——但它们也相当不错,而且如果你愿意,还可以进行无审查(不妨问问它如何制造核弹,它会帮助你)。
例如,Meta公司发布的著名Llama3模型就拥有70亿或700亿个参数。我见过的最大模型是Goliath-120模型,它有1200亿个参数。
但问题在于……这些大型模型只有在GPU上才能流畅运行。它们在CPU上也能运行,但随着上下文的增加和模型运行的复杂程度提高,它们的运行速度就会开始……变得……有点……
的…
(暂停)
慢的…
这就像用300波特率的调制解调器跟人聊天一样。甚至更糟。有时候这样也行,但如果你要迭代开发某个项目,这可就严重限制了。
如果能把整个LLM架构装进GPU里,速度会非常快。但Goliath-120需要80GB以上的显存。
如果你要堆叠英伟达显卡,要么是一张价值超过 1 万美元的显卡(仅仅是显卡本身!),要么是多张 3090 或 4090 显卡,外加一块用来分隔它们的大型主板、散热系统以及一个巨大的电源……
或者你也可以直接买一台Mac电脑。
Mac 的架构略有不同。CPU 和 GPU 共享同一块高速内存,其运行速度可达 800GB/秒。这远远超过 DDR5(64GB/秒)或 DDR6(134GB/秒)的读写速度。因此,如果您购买一台配备 64GB 内存的 Mac,它可以将这些内存用于系统 CPU 处理或 GPU 显存。
Mac 出厂时,GPU 最多只能使用 75% 的内存,不过这个值可以调整。
我的 64GB M1 Max 运行需要 40GB 以上 GPU 显存的机型完全没问题。
我目前最喜欢的模型是taozhiyuai/llama-3-uncensored-lumi-tess-gradient:70b_i1_q4_k_m,我用 Ollama 运行它。这是一个 42GB 的模型,响应时间几乎是瞬时的。(我不是想运行核弹,但我讨厌审查过的模型)。
现在我们来看看真正的高端配置。假设你想运行 Goliath-120B 超级主机。最大版本需要近 90GB 的内存。假设一块 Nvidia 4090 显卡售价大约 1800 美元(这是我在亚马逊上看到的)。这块显卡有 24GB 的显存。但你需要 90GB 的显存,所以……你需要 4 张显卡。总共 8000 美元。此外,你还需要一块性能强劲的主板、一颗高速 CPU、系统内存、机箱、存储设备……全部加起来至少要 11000 美元。
另一方面,你可以花不到 6000 美元购买一台配备 M2 Ultra 芯片(24 核 CPU、60 核 GPU)、192GB 系统内存和 2TB 存储空间的 Mac Studio。
有点令人震惊,是吧?
鉴于英伟达显卡的内存容量仍然相对较小,Mac 能够将高速 RAM 用作 CPU 或 GPU 的功能,这在该领域具有颠覆性意义。
我正在申请一台按此配置的 M2 Ultra,拿到之后我会汇报它的性能如何。