写点什么

配置 NVIDIA Container Runtime 和容器运行 GPUStack 教程

作者:GPUStack
  • 2024-11-19
    广东
  • 本文字数:2089 字

    阅读完需:约 7 分钟

配置NVIDIA Container Runtime和容器运行GPUStack教程

GPUStack 是一个设计用于运行大模型的开源 GPU 集群管理器,提供私有部署的大模型服务,支持大语言模型、Embedding 文本嵌入模型、Reranker 重排序模型、Vision 多模态模型等各种模型。它可以聚合不同平台(如 Apple Mac、Windows PC 和 Linux 服务器)的 GPU,构建一个统一的异构 GPU 集群。


在 Linux 中十分推荐使用 Docker 方式安装 GPUStack,可以避免很多依赖和冲突问题,简化安装过程。


今天带来一篇关于如何设置 NVIDIA 容器运行时并使用容器方式运行 GPUStack 的操作教程。

前置准备

验证当前环境有 NVIDIA GPU 硬件:


lspci | grep -i nvidia
复制代码


验证系统已安装 GCC:


gcc --version
复制代码

安装 NVIDIA 驱动

参考:https://developer.nvidia.com/datacenter-driver-downloads


为当前内核安装内核头文件和开发包:


sudo apt-get install linux-headers-$(uname -r)
复制代码


安装 cuda-keyring 包:


wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-keyring_1.1-1_all.debsudo dpkg -i cuda-keyring_1.1-1_all.deb
复制代码


安装 NVIDIA 驱动:


sudo apt-get updatesudo apt-get install nvidia-open -y
复制代码


重启系统:


sudo reboot
复制代码


重新登录并检查 nvidia-smi 命令可用:


nvidia-smi
复制代码


安装 Docker Engine

参考:https://docs.docker.com/engine/install/ubuntu/


执行以下命令卸载所有冲突的包:


for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done
复制代码


设置 Docker 的 apt 仓库:


# Add Docker's official GPG key:sudo apt-get updatesudo apt-get install ca-certificates curlsudo install -m 0755 -d /etc/apt/keyringssudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.ascsudo chmod a+r /etc/apt/keyrings/docker.asc
# Add the repository to Apt sources:echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \ $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \ sudo tee /etc/apt/sources.list.d/docker.list > /dev/nullsudo apt-get update
复制代码


安装 Docker:


sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y
复制代码


检查 docker 命令可用:


docker info
复制代码

安装 NVIDIA Container Toolkit

参考:https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html


配置 NVIDIA Container Toolkit 的生产仓库:


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
复制代码


安装 NVIDIA Container Toolkit:


sudo apt-get updatesudo apt-get install -y nvidia-container-toolkit -y
复制代码


使用 nvidia-ctk 命令配置容器运行时:


sudo nvidia-ctk runtime configure --runtime=docker
复制代码


检查 daemon.json 文件的配置:


cat /etc/docker/daemon.json
复制代码


重启 Docker daemon:


sudo systemctl restart docker
复制代码


运行一个示例的 CUDA 容器来验证安装:


sudo docker run --rm --runtime=nvidia --gpus all ubuntu nvidia-smi
复制代码


安装 GPUStack

参考:https://docs.gpustack.ai/latest/installation/docker-installation/


通过 Docker 安装 GPUStack:


docker run -d --gpus all -p 80:80 --ipc=host --name gpustack \    -v gpustack-data:/var/lib/gpustack gpustack/gpustack
复制代码


使用以下命令查看登录密码:


docker exec -it gpustack cat /var/lib/gpustack/initial_admin_password
复制代码


在浏览器访问 GPUStack( http://YOUR_HOST_IP )以用户名 admin 和密码登录。设置密码后,登录进 GPUStack,查看识别到的 GPU 资源:



(可选)要添加额外的 Worker 节点,构建 GPU 集群,在其它工作节点上执行以下命令:


docker run -d --gpus all --ipc=host --network=host \    gpustack/gpustack --server-url http://YOUR_HOST_IP --token YOUR_TOKEN
复制代码


将其中的 http://YOUR_HOST_IP 替换为你的 GPUStack 访问地址,将 YOUR_TOKEN 替换为用于添加 Worker 的认证 Token。要从 GPUStack Server 检索 Token,使用以下命令:


docker exec -it gpustack cat /var/lib/gpustack/token
复制代码


完成之后,尝试从 Hugging Face 或其它模型仓库部署模型:



在 Playground 中调测模型:


加入社区

以上为配置 NVIDIA 容器运行时环境并使用容器方式运行 GPUStack 的操作教程。


对 GPUStack 感兴趣或者在使用过程中遇到问题,可以添加 GPUStack 微信小助手(微信号:GPUStack)入群交流。


如果觉得写得不错,欢迎点赞转发关注

用户头像

GPUStack

关注

github.com/gpustack/gpustack 2024-01-22 加入

Manage GPU clusters for running LLMs

评论

发布
暂无评论
配置NVIDIA Container Runtime和容器运行GPUStack教程_Docker_GPUStack_InfoQ写作社区