AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


在这个夏天设置一个多 GPU 的 Linux 机器来搞深度学习
发布日期:2024-08-05 12:52:53 浏览次数: 1685



随着深度学习模型(尤其是 LLM)变得越来越大,在本地开发和使用它们,就需要更多的 GPU 内存 (VRAM) 。构建或获取多 GPU 机器只是挑战的第一部分。大多数库和应用程序默认只使用单个 GPU。因此,机器还需要有适当的驱动程序以及可以利用多 GPU 设置的库。


本文提供了有关如何设置带有重要库的多 GPU (Nvidia) Linux 机器的指南。希望这能为你节省一些实验时间,让你快速开始开发。


最后,提供了可以利用多 GPU 设置进行深度学习的流行开源库的链接。




目标 




设置一个多 GPU Linux 系统,其中包含必要的库(例如 CUDA Toolkit 和 PyTorch),以开始深度学习 ?。同样的步骤也适用于单 GPU 机器。


我们将安装 1) CUDA Toolkit、2) PyTorch 和 3) Miniconda 使用 exllamaV2 和 torchtune 等框架开始深度学习。

©️ 本文中提到的所有库和信息都是开源的和/或公开可用的。



开始




使用终端中的 nvidia-smi 命令检查机器中安装的 GPU 数量。它应该会打印所有已安装 GPU 的列表。如果存在差异或命令不起作用,请首先安装适用于你的 Linux 版本的 Nvidia 驱动程序。确保 nvidia-smi 命令打印机器中安装的所有 GPU 的列表,如上所示。



如果尚未完成,请按照以下步骤安装 Nvidia 驱动程序:


我以在 Ubuntu 22.04 (Jammy Jellyfish) Linux 上安装 NVIDIA 驱动程序,并从默认的开源 Nouveau 驱动程序切换到专有的 Nvidia 驱动程序为例说明。虽然 Nouveau 驱动程序是默认安装的,但专有的 Nvidia 驱动程序可以提供比其替代方案更多的优势。通过下载官方驱动程序,你将拥有最先进的软件并确保与你的显卡硬件的最大兼容性。


我们统一使用命令行的方式安装。


第一步


首先,检测你的 nvidia 显卡型号和推荐的驱动程序。为此,请执行以下命令。请注意,你的输出和推荐的驱动程序很可能会有所不同:



从上面的输出我们可以得出结论,当前系统安装了 NVIDIA GeForce RTX 3080 显卡,建议安装的驱动程序是 nvidia-driver-470。


第二步


安装驱动程序。如果你同意该建议,请随意再次使用 ubuntu-drivers 命令安装所有推荐的驱动程序:



或者,使用 apt 命令有选择地安装所需的驱动程序。例如:



第三步


安装完成后,重新启动系统即可完成。




安装 CUDA-Toolkit




? 检查 usr/local/cuda-xx 处是否存在任何现有的 CUDA 文件夹。这意味着已安装某个版本的 CUDA。如果你已安装所需的 CUDA 工具包(使用终端中的 nvcc 命令检查),请跳至下一节。


检查所需 PyTorch 库所需的 CUDA 版本:

https://pytorch.org/get-started/locally/


转到 CUDA 工具包 12.1 下载 | NVIDIA 开发人员以获取安装 CUDA 12.1 的 Linux 命令(选择你的操作系统版本和相应的“deb(本地)”安装程序类型)。




根据你选择的选项,将出现基本安装程序的终端命令。复制粘贴并在 Linux 终端中运行它们以安装 CUDA 工具包。例如,对于 x86_64 Ubuntu 22,通过在下载文件夹中打开终端运行以下命令:
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-ubuntu2204.pinsudo mv cuda-ubuntu2204.pin /etc/apt/preferences.d/cuda-repository-pin-600wget https://developer.download.nvidia.com/compute/cuda/12.1.0/local_installers/cuda-repo-ubuntu2204-12-1-local_12.1.0-530.30.02-1_amd64.debsudo dpkg -i cuda-repo-ubuntu2204-12-1-local_12.1.0-530.30.02-1_amd64.debsudo cp /var/cuda-repo-ubuntu2204-12-1-local/cuda-*-keyring.gpg /usr/share/keyrings/sudo apt-get updatesudo apt-get -y install cuda


⚠️在安装 CUDA 工具包时,安装程序可能会提示内核更新。如果终端中出现任何更新内核的弹出窗口,请按 esc 按钮取消。在此阶段不要更新内核!— 这可能会破坏你的 Nvidia 驱动程序☠️。


安装后重新启动 Linux 机器。nvcc 命令仍然不起作用。你需要将 CUDA 安装添加到 PATH。使用 nano 编辑器打开 .bashrc 文件。

nano /home/$USER/.bashrc

滚动到 .bashrc 文件的底部并添加以下两行:

export PATH="/usr/local/cuda-12.1/bin:$PATH"export LD_LIBRARY_PATH="/usr/local/cuda-12.1/lib64:$LD_LIBRARY_PATH"


? 请注意,你可以将 cuda-12.1 更改为你想要安装的 CUDA 版本,如果将来需要,可以更改为 cuda-xx,其中“xx”是你的 CUDA 版本。


保存更改并关闭 nano 编辑器:

To save changes - On you keyboard, press the following: 
ctrl + o             --> save enter or return key  --> accept changesctrl + x             --> close editor


关闭并重新打开终端。现在 nvcc--version 命令应该会在终端中打印已安装的 CUDA 版本。



安装 MiniConda




在安装 PyTorch 之前,最好先安装 Miniconda,然后在 Conda 环境中安装 PyTorch。为每个项目创建一个新的 Conda 环境也很方便。


在下载文件夹中打开终端并运行以下命令:

mkdir -p ~/miniconda3wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O ~/miniconda3/miniconda.shbash ~/miniconda3/miniconda.sh -b -u -p ~/miniconda3rm -rf ~/miniconda3/miniconda.sh

# initiate conda~/miniconda3/bin/conda init bash~/miniconda3/bin/conda init zsh


关闭并重新打开终端。现在 conda 命令应该可以工作了。



安装 PyTorch




为你的项目创建一个新的 conda 环境。你可以将 <environment-name> 替换为你选择的名称。我通常以我的项目名称命名。? 你可以在处理项目之前和之后使用 conda activate <environment-name> 和 conda deactivate <environment-name> 命令。

conda create -n <environment-name> python=3.11
# activate the environmentconda activate <environment-name>


安装适合你的 CUDA 版本的 PyTorch 库。以下命令适用于我们安装的 cuda-12.1:

pip3 install torch torchvision torchaudio


上述命令来自 PyTorch 安装指南:

https://pytorch.org/get-started/locally/



PyTorch 安装后,在终端中检查 PyTorch 可见的 GPU 数量。

python
>> import torch>> print(torch.cuda.device_count())8


这应该会打印系统中安装的 GPU 数量(在我的情况下是 8 个),并且还应与 nvidia-smi 命令中列出的 GPU 数量相匹配。


好的!我们已准备好开始利用多个 GPU 的深度学习项目 ?。





53AI,企业落地应用大模型首选服务商

产品:大模型应用平台+智能体定制开发+落地咨询服务

承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

与创始人交个朋友

回到顶部

 
扫码咨询