教程AI Translated Content

Nvidia GPU 驱动程序设置:AI 开发者的基本步骤

Float16 团队
7 min read
Nvidia GPU 驱动程序设置:AI 开发者的基本步骤

在这个 AI 繁荣的时代,LLM 可能是每个公司都在谈论的东西。许多地方希望 LLM 解决方案在他们的公司中发挥更大的作用,无论是创建聊天机器人、RAG 等。随之而来的是,这些解决方案需要在公司的基础设施中,无论是本地部署还是云提供商,基于数据不应发送到外部 LLM 提供商(如 OpenAI)进行处理的要求。

因此,像我们这样的基础设施人员的新任务将是提供 GPU 机器。然而,获得机器后,仍然有许多事情需要配置,例如安装驱动程序和其他工具。在本文中,我们将介绍基本的机器准备方法,以确保我们创建的 GPU 实例尽可能准备就绪。

我首先要说的是,我们主要使用的 GPU 来自 Nvidia,这是目前用户最多的市场领导者之一。所以所有内容都将使用 Nvidia 作为叙述者。准备好了吗?让我们开始吧!!

安装驱动程序

安装 Nvidia GPU 驱动程序并不像您想象的那么困难或复杂。我们可以遵循 Nvidia 的文档,但我们需要调整一些参数以匹配我们选择的操作系统和 CPU 架构。在本文中,我们可能不会涵盖文档中列出的每个主题,但我们将教授基本的安装方法,以允许 GPU 使用。

Nvidia 驱动程序安装文档

1. 准备所需参数

从 Supported Linux Distributions 表中,它告诉我们哪些 Linux 版本支持驱动程序安装。

我们需要注意的 3 个参数 以供下一步使用:

  1. $distro
  2. $arch
  3. $arch_ext

假设我们在 x86 机器上使用 Linux Ubuntu 22.04 LTS。当我们比较表中的值时:

值将是: $distro = ubuntu2204 $arch = x86_64 $arch_ext = amd64

2. 根据 Linux 发行版选择安装指南

此步骤是根据我们的操作系统选择驱动程序安装方法。从我选择 Ubuntu 的示例中,我们将查看解释 Ubuntu 安装方法的第 10 节。

我们需要做的是:

  1. 遵循所有预安装步骤
  2. 安装内核头文件和开发包
sudo apt install linux-headers-$(uname -r)
  1. 在 Local Repository 或 Network Repository 之间选择安装方法。我将选择 Network Repository。

在 URL https://developer.download.nvidia.com/compute/cuda/repos/$distro/$arch/cuda-keyring_1.1-1_all.deb

用表中的值替换 $distro 和 $arch

wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-keyring_1.1-1_all.deb
sudo dpkg -i cuda-keyring_1.1-1_all.deb
sudo apt update

安装新的 cuda-keyring 包

  1. 安装驱动程序
sudo apt install nvidia-open

完成此步骤后,我们将在机器上安装 Nvidia 驱动程序和 CUDA 库。我们可以使用以下命令验证:

nvidia-smi

输出将显示活动 GPU 的数量以及基本利用率。

nvidia-smi 输出

  1. 安装 CUDA Toolkit
apt install cuda-toolkit

CUDA Toolkit 安装

就是这样!我们现在有一台带有 GPU 的 Linux Ubuntu 机器可以使用了。

NVIDIA Container Toolkit

简单来说,它是允许容器使用 GPU 的工具和库。我们将从安装 NVIDIA Container Toolkit 开始。此示例侧重于我相信许多人最常使用的 Docker 容器。

从这个示例中,我们将使用 Ubuntu 作为安装示例。

先决条件:

  • 容器引擎(Docker、Containerd)
  • Nvidia GPU 驱动程序
  1. 配置生产存储库
curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \
  && curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \
    sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
    sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
  1. 从存储库更新包列表
sudo apt-get update
  1. 安装 NVIDIA Container Toolkit 包
sudo apt-get install -y nvidia-container-toolkit

通过这 3 个步骤,我们将安装 nvidia container toolkit。下一步是配置我们的容器引擎以使用此工具包。

Docker 配置

sudo nvidia-ctk runtime configure --runtime=docker
sudo systemctl restart docker

对于其他容器引擎,您可以查看文档以获取更多详细信息。

对于 Kubernetes,我将把它作为另一个主要主题,因为还有另一个特定工具比在每个节点上安装 GPU 驱动程序和配置工具包更适合 K8S。

监控工具

安装和使用后,我们应该做的下一件事是监控使用情况。最简单的初始监控可能只是使用 nvidia-smi 来查看有多少 GPU 以及多少使用情况,但这还不够详细。所以我想推荐其他工具作为使用选项。

Nvitop

交互式 CLI,可以查看详细的 GPU 使用情况。安装非常简单:

pip3 install --upgrade nvitop

然后只需使用命令:

nvitop

您将通过终端获得一个交互式 UI

在那里我们可以向下钻取以查看每个正在运行的进程。

NVIDIA DCGM

来自 Nvidia 的官方工具,使用 Golang 开发,充当提取各种 GPU 集群指标的 API。

对于在常规 VM 上的安装,您需要先安装 GPU 驱动程序、Docker 引擎以及 Nvidia Container toolkit 才能使用 DCGM。

对于使用方法,我将保存它们以作为单独的完整文章编写,因为要充分使用 DCGM 需要与其他几个工具(如 Prometheus 和 Grafana Dashboard)一起使用。

最终总结

到目前为止,我认为阅读到最后的每个人都应该能够为团队使用提供带有 GPU 的 VM。如果我们逐渐理解它,我认为它比安装某些服务更容易。至于待处理的内容,请继续关注。它应该可以帮助您从开发到生产构建基础设施。