博客

掌握DeepSeek 32B部署:多GPU推理、硬件冷却和性能测试,以实现企业AI的成功。

返回列表

深入理解DeepSeek及企业实践(第二部分):32B多GPU推理、硬件冷却和性能测试的原则

前言
在文章《深度理解DeepSeek及其企业实践(第一部分):蒸馏、部署与评估》中,我们探讨了深度模型的蒸馏和量化技术,以及一个7B模型的部署基础。通常情况下,单个GPU的内存可以处理一个7B模型的全部参数需求。然而,当参数数量扩展到32B(32亿)级别时,单个GPU的内存往往不足以支持其完整运行。这时,多GPU并行推理变得必要,同时还需考虑服务器硬件架构是否能够支持多个GPU。
本文以DeepSeek-Distilled-Qwen-32B的部署为例,深入探讨多GPU并行的原理和在服务器中部署多个GPU的关键考虑因素。此外,我们将评估32B模型的运行时性能和推理能力,提供分析和建议,以确定其适用的用例。
I. 32B模型部署的内存需求评估
在部署32B模型时,精度、上下文长度和批量大小等因素显著影响内存和计算需求。我们在之前的文章中已经涵盖了核心影响因素,因此这里不再重复。相反,我们将直接提供评估值:
鉴于现代量化方法的复杂性(例如,数据打包、FP8格式量化等),将其标记为Int8或Int4不够精确。因此,我们将在这里使用8位量化和4位量化进行估算。
由于不同层的量化策略、数据结构精度、是否启用KV缓存量化或使用不同的推理框架,可能会出现额外的变化。
II. 多GPU推理原理解释
从上述计算中可以清楚地看出,对于大上下文——特别是在更高的数据精度下——单个GPU难以满足内存需求。常见的消费级GPU通常提供高达24GB的内存,而专注于推理的显卡达到48GB。只有少数高端GPU提供64-141GB。
因此,对于32B参数或更多的模型,多GPU推理几乎是不可避免的。当今主要的多GPU并行策略是张量并行和流水线并行。
张量并行
将单个张量跨维度分割,使得相同的操作可以在多个GPU上并行计算。
优点:计算和通信可以重叠,提高效率。
缺点:实现复杂性高。它需要高GPU间通信带宽和低延迟。分割必须遵循2的幂(例如,2、4、8、16)。
流水线并行
将不同的模型层分配给不同的GPU。上游和下游GPU依次传递激活值,就像流水线一样。
优点:减少了同步通信开销。它对带宽和延迟的要求较低。
缺点:可能会出现流水线泡沫,浪费资源。
并行策略比较
从上面的表格中可以看出,张量并行在提高整体吞吐量方面表现出色。然而,流水线并行更易于实现,适合混合CPU-GPU推理场景。这就是为什么llama.cpp(ollama使用的推理引擎)选择流水线并行。这也解释了为什么llama.cpp的多GPU性能相对较弱。
III. 服务器硬件部署和GPU配置
在2U服务器中安装多个GPU的挑战
如前所述,以2的幂安装GPU(例如,2、4、8、16)可以优化张量并行性能。对于常用的2U服务器,通常可以轻松安装2个GPU。然而,4个GPU带来了挑战。
大多数GPU是双宽的,占用两个PCIe插槽。即使没有其他设备占用插槽,典型的2U服务器也只能容纳三个GPU。由于这与2的幂不一致,只能充分利用两个GPU。
解决方案
减少前面板驱动器数量:通过使用大容量驱动器代替多个小驱动器来释放空间并改善散热。
使用多GPU模块:一些服务器供应商提供专用的GPU模块。这些模块将整个上1U空间预留给GPU,允许多达4个双宽GPU并排放置。
此时,前面板必须为冷却预留气流。因此,它只能容纳8个3.5英寸驱动器。需要更大容量的驱动器以确保足够的存储空间。
对于更多的驱动器或更好的冷却,需要3U、4U或更高的服务器。最佳设置取决于机柜电源供应和GPU功耗。
IV. 在AIOS Helix上一键部署DeepSeek-Distilled-Qwen-32B
部署步骤
环境配置
部署步骤
环境准备:安装ZStackAIOS Helix。确保系统满足运行时要求。
一键部署:
使用ZStack AIOS Helix选择并加载模型。
b. 指定部署的GPU和计算规格。
测试运行:在演示框中尝试聊天或通过API连接到其他应用程序。
性能评估
使用ZStack AIOS Helix的性能测试,我们迅速评估了模型在当前硬件上的性能。数据总结如下:
结合这些结果,我们可以分析当前环境:
吞吐量(TPS)与并发性
TPS从1到16并发性急剧上升(23→256)。在32并发性时,增长显著放缓(仅增加15%)。
推荐的

联系我们