如何搭建深度学习的多 GPU 服务器
创始人
2024-09-25 04:20:23
0
alt

引言

随着深度学习模型,尤其是大型语言模型的规模不断扩大,对于开发和本地部署这些模型所需的图形处理单元(GPU)内存的需求也在日益增加。构建或获得一台装备有多个GPU的计算机只是面临的挑战之一。默认情况下,大多数库和应用程序仅支持单个GPU的使用。因此,计算机还需要安装合适的驱动程序和能够支持多GPU配置的库。

本文[1]旨在提供一份设置多GPU(Nvidia)Linux系统的指南,以及一些重要库的安装方法。这将帮助你节省在实验过程中的时间,让你能够更快地开始你的开发工作。

文章最后还提供了一些流行的开源库的链接,这些库能够支持多GPU配置,以便于进行深度学习。

  • 目标

配置一个多GPU Linux系统,并安装必要的库,如CUDA Toolkit和PyTorch,以便开始你的深度学习之旅🤖。这些步骤也适用于只有单个GPU的计算机。

我们将安装1) CUDA Toolkit,2) PyTorch,以及3) Miniconda,以便于使用像exllamaV2和torchtune这样的框架来开始深度学习。

环境检查

alt

在终端里运行 nvidia-smi 命令来查看计算机中安装了多少个GPU。该命令会列出所有安装的GPU。如果输出与预期不符或者命令执行失败,首先需要为您的Linux系统安装相应的Nvidia显卡驱动。确保 nvidia-smi 命令能够正确显示计算机中所有安装的GPU列表。

1. CUDA-Toolkit

请先查看 /usr/local/cuda-xx 路径下是否有 CUDA 文件夹,这表示可能已经安装了 CUDA 的某个版本。如果您已经安装了您需要的 CUDA 工具包版本(可以通过终端中的 nvcc 命令来验证),请直接跳过。

确认您希望使用的 PyTorch 库所需的 CUDA 版本:从本地开始 | PyTorch(我们计划安装的是 CUDA 12.1)。

访问 NVIDIA 开发者网站的 CUDA Toolkit 12.1 下载页面,获取适用于 Linux 的安装命令(选择与您的操作系统版本相匹配的“deb (本地)”安装器类型)。

alt

根据您的选择,终端将显示基础安装器的命令。将这些命令复制并粘贴到您的 Linux 终端中,以完成 CUDA 工具包的安装。例如,如果您使用的是 x86_64 架构的 Ubuntu 22 系统,请打开下载文件夹中的终端,并执行以下命令:

wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-ubuntu2204.pin
sudo mv cuda-ubuntu2204.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget 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.deb
sudo dpkg -i cuda-repo-ubuntu2204-12-1-local_12.1.0-530.30.02-1_amd64.deb
sudo cp /var/cuda-repo-ubuntu2204-12-1-local/cuda-*-keyring.gpg /usr/share/keyrings/
sudo apt-get update
sudo 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"

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

2. Miniconda

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

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

mkdir -p ~/miniconda3
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O ~/miniconda3/miniconda.sh
bash ~/miniconda3/miniconda.sh -b -u -p ~/miniconda3
rm -rf ~/miniconda3/miniconda.sh


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

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

3. PyTorch

(可选步骤)— 为您的项目新建一个 conda 环境。您可以将 <环境名称> 替换为您自己选定的名称。我个人习惯用项目的名字来命名环境。

您可以在开始项目工作时使用 conda activate <环境名称> 命令来激活环境,在工作结束后使用 conda deactivate <环境名称> 命令来停用环境。

conda create -n  python=3.11

# activate the environment
conda activate 

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

pip3 install torch torchvision torchaudio

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

alt

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

python

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

这应该打印系统中安装的 GPU 数量(在我的例子中为 8),并且还应该与 nvidia-smi 命令中列出的 GPU 数量相匹配。

Reference
[1]

Source: https://towardsdatascience.com/how-to-setup-a-multi-gpu-linux-machine-for-deep-learning-in-2024-df561a2d3328

本文由 mdnice 多平台发布

相关内容

热门资讯

安卓系统可以分享视频吗,安卓系... 你有没有想过,手机里的视频怎么才能和朋友一起分享呢?尤其是当你发现了一个超级搞笑的短视频,或者是一部...
安卓系统上安装pc软件,跨平台... 你是不是也和我一样,对安卓系统上的那些PC软件垂涎欲滴呢?想象在手机上就能享受到电脑上的强大功能,是...
安卓原生系统怎么折腾,深度定制... 你有没有想过,你的安卓手机其实就像一个等待你发挥创意的画布呢?没错,就是那个安卓原生系统,它可是隐藏...
安卓作业系统耗电,深度解析耗电... 手机电量告急,是不是你也和我一样,对安卓作业系统的耗电问题头疼不已?别急,今天就来聊聊这个让人又爱又...
宝宝浙江游戏安卓系统,乐享童年 最近有没有发现你家的小宝贝对手机上的游戏越来越感兴趣了呢?尤其是那些在浙江地区特别受欢迎的安卓系统游...
安卓系统程序放在那,安卓系统程... 你有没有发现,手机里的安卓系统程序总是乱糟糟的,有时候找起来就像大海捞针一样?别急,今天就来给你揭秘...
手表怎么装上安卓系统,轻松安装... 你有没有想过,你的安卓手机那么智能,那你的手表呢?是不是也想给它来个升级,让它也能玩转各种应用,变身...
碧蓝航线在安卓系统,安卓平台上... 你知道吗?最近在安卓系统上,有一款游戏可是火得一塌糊涂,那就是《碧蓝航线》!这款游戏不仅画面精美,剧...
安卓系统设置分辨率,解锁屏幕显... 亲爱的手机控们,你是不是也和我一样,对手机屏幕的分辨率有着超乎寻常的执着呢?分辨率,这个看似简单的数...
安卓超市收银系统下载,高效便捷... 你有没有想过,逛超市的时候,收银员那熟练的操作是不是让你也跃跃欲试呢?现在,机会来了!安卓超市收银系...
安卓系统升级清理,深度清理与性... 亲爱的手机控们,你是不是也和我一样,对安卓系统的升级清理充满了好奇和期待呢?每次系统更新,都仿佛是给...
安卓如何绕过系统安装,深度解析... 你是不是也和我一样,对安卓系统的安装限制感到有些头疼?有时候,我们可能需要安装一些特殊的软件或者游戏...
安卓系统跟linux系统怎么样... 你有没有想过,你的手机里那个默默无闻的安卓系统,和电脑上那个稳如泰山的Linux系统,它们之间到底有...
凤凰系统用安卓软件很卡,凤凰系... 最近是不是发现你的凤凰系统用安卓软件时总是卡得要命?别急,让我来给你细细道来,看看这其中的原因和解决...
安卓系统怎么玩脸书,脸书应用攻... 你有没有想过,在安卓系统上怎么玩转脸书呢?这个全球最大的社交平台,可是让很多人沉迷其中哦!别急,今天...
虚拟机系统安卓11,虚拟机系统... 你有没有想过,手机里的安卓系统竟然也能变成电脑上的虚拟机?没错,就是那个我们每天不离手的安卓11系统...
钻石vip微信安卓系统,畅享无... 你知道吗?在微信这个庞大的社交世界里,钻石VIP可是个让人羡慕的身份呢!尤其是对于那些安卓系统的用户...
安装安卓系统后蓝屏,安卓系统安... 你刚刚升级了安卓系统,是不是觉得自己的手机焕然一新,充满了科技感?就在你沉浸在新系统的美好体验中时,...
安卓系统如何调出返回键,安卓系... 你是不是也和我一样,有时候在使用安卓手机时,突然发现那个神秘的返回键怎么就消失了?别急,今天就来手把...
荣耀8安装原生安卓系统,体验纯... 你有没有想过,让你的荣耀8手机焕发新生?别再让它被那些臃肿的第三方系统拖累啦!今天,就让我带你一起探...