返回顶部
热门问答 更多热门问答
技术文章 更多技术文章

在这个夏天设置一个多 GPU 的 Linux 机器来搞深度学习

[复制链接]
链载Ai 显示全部楼层 发表于 半小时前 |阅读模式 打印 上一主题 下一主题

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


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


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



ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 14px;letter-spacing: 0.6px;text-wrap: wrap;background-color: rgb(255, 255, 255);">

目标




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


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

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

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 14px;letter-spacing: 0.6px;text-wrap: wrap;background-color: rgb(255, 255, 255);">

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 14px;letter-spacing: 0.6px;text-wrap: wrap;background-color: rgb(255, 255, 255);">

开始




使用终端中的 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 命令有选择地安装所需的驱动程序。例如:



ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 14px;letter-spacing: 0.6px;text-wrap: wrap;background-color: rgb(255, 255, 255);">第三步


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



ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 14px;letter-spacing: 0.6px;text-wrap: wrap;background-color: rgb(255, 255, 255);">

安装 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,通过在下载文件夹中打开终端运行以下命令:
wgethttps://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-ubuntu2204.pinsudomvcuda-ubuntu2204.pin/etc/apt/preferences.d/cuda-repository-pin-600wgethttps://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.debsudodpkg-icuda-repo-ubuntu2204-12-1-local_12.1.0-530.30.02-1_amd64.debsudocp/var/cuda-repo-ubuntu2204-12-1-local/cuda-*-keyring.gpg/usr/share/keyrings/sudoapt-getupdatesudoapt-get-yinstallcuda


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


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

nano/home/$USER/.bashrc

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

exportPATH="/usr/local/cuda-12.1/binPATH"exportLD_LIBRARY_PATH="/usr/local/cuda-12.1/lib64LD_LIBRARY_PATH"


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


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

To save changes - On you keyboard, press the following: 
ctrl+o-->saveenterorreturnkey-->acceptchangesctrl+x-->closeeditor


关闭并重新打开终端。现在 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:

pip3installtorchtorchvisiontorchaudio


上述命令来自 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 的深度学习项目 ?。

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 14px;letter-spacing: 0.6px;background-color: rgb(255, 255, 255);">



回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

链载AI是专业的生成式人工智能教程平台。提供Stable Diffusion、Midjourney AI绘画教程,Suno AI音乐生成指南,以及Runway、Pika等AI视频制作与动画生成实战案例。从提示词编写到参数调整,手把手助您从入门到精通。
  • 官方手机版

  • 微信公众号

  • 商务合作

  • Powered by Discuz! X3.5 | Copyright © 2025-2025. | 链载Ai
  • 桂ICP备2024021734号 | 营业执照 | |广西笔趣文化传媒有限公司|| QQ