Tech-Renaissance V4.20 零基础入门教程

从零开始,在 GPU 云服务器上跑通第一个测试样例,全程不超过 1 小时

本教程介绍如何从零开始在 GPU 云服务器上下载安装 Tech-Renaissance V4.20,并快速跑通第一个测试样例。

即使您完全没有使用 Linux 的基础,按照这个教程也能成功运行,而且整个流程用时不超过 1 个小时。

这里以阿里云为例进行演示,但您也可以选择其他云服务提供商,或者用您自己的电脑。

在 Linux 下我们推荐用 Docker 容器的方式运行,因为可以确保环境一致,而且节省很多配置的时间。

对于有 Linux 使用经验的开发者,可以跳过前面的配置教程,直接看后面的 "五、下载并编译 Tech-Renaissance 框架" 章节。

一、创建 GPU 云服务器实例

在阿里云官网选择 "产品 → 计算 → GPU 云服务器"

阿里云 GPU 云服务器

付费类型选 "按量付费""抢占式实例"。这里我们用 "抢占式实例"。抢占式实例是阿里云在有足额库存的前提下按照竞价人出价高低而确定短期内资源使用权归属的一种高性价比实例购买方式。短期使用的话会比较节省成本,比如我们的示例每小时不到 3 元。当然,也有其他更便宜的提供商。

地域选 "华东1(杭州)",网络及可用区选默认即可。

抢占式实例配置

架构选 "GPU-A10 加速",然后在下面的列表里选一个实例规格,比如第一个,8 vCPU、1 × NVIDIA A10。这里配置的是单个 NVIDIA A10,显存 24 GB,对于普通 CNN 训练,batch size 不大的时候通常够用。

GPU A10 实例规格

实例使用时长选 "无确定使用时长"。选择这项后,成本下降到了每小时 3 元以下。

镜像选 "Ubuntu 24.04 64 位""安装 GPU 驱动" 选项可不勾选,因为我们后面会自己安装正确的版本。

Ubuntu 镜像选择

系统盘需要根据任务调整,如果只是跑个 MLP 测试样例,默认 40 GB 就可以,但如果您要跑 ImageNet 的测试样例,建议 400 GB 以上,因为需要保存较大的数据集,而且需要解压的空间。

公网 IP 必须勾选 "分配公网 IPv4" 地址。

带宽建议用 "按使用流量"。峰值调到 100 Mbps,带宽过低会显著延长更新下载时间和镜像拉取时间,反而增加综合成本。

安全组选 "新建安全组",然后勾选 "SSH"、"RDP"、"ICMP"

登录凭证选 "自定义密码",注意密码要求。

网络和安全组配置

开启实例后进入控制台。想在网页上直接进行命令行操作就点击 "远程连接",如果使用自己的远程连接软件比如 XShell 就复制公网 IP。

实例控制台

二、安装 GPU 驱动

GPU 驱动是让操作系统能够识别和使用 GPU 硬件的基础软件。

安装 NVIDIA GPU 驱动有多种方式,这里我们推荐通过 NVIDIA 的 apt 仓库安装,而不是手动下载。

# 更新
sudo apt update && sudo apt upgrade -y

# APT 安装驱动
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2404/x86_64/cuda-keyring_1.1-1_all.deb
sudo dpkg -i cuda-keyring_1.1-1_all.deb
sudo apt-get update
sudo apt-get install -y nvidia-driver-590

安装完后用 nvidia-smi 命令看看结果。

nvidia-smi 输出结果

可以看到驱动版本是 "595.71.05",而右上角有 "CUDA Version: 13.2",这说明安装成功。

注意这里写的 "CUDA Version: 13.2" 不是您安装了 13.2,而是这个驱动最高可支持 13.2。Tech-Renaissance V4.20 需要的 CUDA 版本是 13.1,这个 595 的驱动就足够。

请注意,这里我们只安装了 GPU 驱动,而没有安装 CUDA。不需要安装 CUDA 的原因是,我们后面会采用 Docker 镜像,镜像里有 CUDA 13.1 和各种必要的依赖。

三、安装 Docker 并拉取镜像

Tech-Renaissance 采用了容器化开发,支持使用 Docker 快速配置环境。

以下是快速安装 Docker 的命令。

# 1. 安装依赖
sudo apt install ca-certificates curl gnupg -y

# 2. 添加阿里云 GPG 密钥
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg

# 3. 添加阿里云 Docker 仓库
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

# 4. 安装 Docker
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y

# 5. 启动并设置开机自启
sudo systemctl start docker
sudo systemctl enable docker

# 6. 将当前用户加入 docker 组
sudo usermod -aG docker $USER
newgrp docker

到这里 Docker 就安装完成了,下面拉取镜像。

# 1. 登录到阿里云 ACR 的镜像仓库,注意填写用户名
docker login --username=[您的用户名] crpi-vbtd6yj00u83ugqk.cn-beijing.personal.cr.aliyuncs.com

# 2. 拉取镜像
docker pull crpi-vbtd6yj00u83ugqk.cn-beijing.personal.cr.aliyuncs.com/tech-renaissance/tr4:v4.20

拉取镜像可能是相对比较耗时的一个步骤。但是由于是阿里云服务器拉取阿里云 ACR 镜像,正常情况下拉取 5 GB 大小的镜像应该可以在 10 分钟内完成。

拉取完成后输入 docker images | grep renaissance 命令,如果能看到一个名为 tr4:v4.20 的镜像,大小 5 GB 左右,则表示拉取成功。

四、安装 NVIDIA Container Toolkit

有了 GPU 驱动和 Docker,您还要安装 NVIDIA Container Toolkit,才能让 Docker 使用 GPU。

按以下步骤操作:

1. 配置仓库

# 添加 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

2. 安装工具包

sudo apt-get update
sudo apt-get install -y nvidia-container-toolkit

3. 配置 Docker

# 让 Docker 使用 nvidia runtime
sudo nvidia-ctk runtime configure --runtime=docker

# 重启 Docker
sudo systemctl restart docker

到这里,基本运行环境即配置完成。

五、下载并编译 Tech-Renaissance 框架

首先是克隆项目。您可以选择 https://gitee.com/tech-renaissance/renaissance.githttps://github.com/tech-renaissance/renaissance.git 两个地址之一。在中国大陆网络环境下,Gitee 通常更稳定。

# 克隆项目
mkdir -p /opt/tr4 && cd /opt/tr4
git clone https://gitee.com/tech-renaissance/renaissance.git

然后是启动容器。特别强调一定要有 --gpus all,否则您的容器将无法使用 GPU。

# 启动容器
docker pull crpi-vbtd6yj00u83ugqk.cn-beijing.personal.cr.aliyuncs.com/tech-renaissance/tr4:v4.20
docker run -d -it --name tr4-dev --gpus all --cap-add SYS_NICE -v /opt/tr4:/opt/tr4 -w /opt/tr4 \
    crpi-vbtd6yj00u83ugqk.cn-beijing.personal.cr.aliyuncs.com/tech-renaissance/tr4:v4.20 \
    tail -f /dev/null
docker exec -it tr4-dev bash

然后进行配置和编译。configure.py 是项目的配置脚本,它可以自动从当前环境中找齐各种依赖并生成编译脚本。

配置过程中出现的提示,问是否使用 GPU 就选 Y,回车;问使用哪个 Python 就选 1,回车。

然后执行 build.sh 就可以一键编译了。

# 配置
cd /opt/tr4/renaissance && python configure.py

# 编译
./build.sh

如果您看到 [OK] Build completed successfully! 即表示编译成功。

这时您就可以直接运行基本测试样例,这个测试样例的功能是训练一个识别 MNIST 的简单 MLP。虽然简单,但它的准确率可达 99.4% 以上,这对 MLP 来说是一个相当高的准确率。

运行命令如下:

# 运行示例
/opt/tr4/renaissance/build/bin/tests/example/mlp_mnist

运行结果如下图所示:

MLP MNIST 运行结果

可以看到测试样例已经运行成功了,用时 42.44 s,准确率达到 99.43%。平均每个 epoch 用时仅 0.42 s。我们选用了最便宜的 CPU,但仍然得到了一个相当快的结果。同样的环境下如果使用 PyTorch 执行相同的训练,那就需要更长的时间。

您再重跑一次,将得到完全一致的结果,这是因为技术觉醒框架满足可复现性要求(可复现性是深度学习框架的一个高级特性,确保可复现性的技术难度相当不低),当选择相同的种子的时候,总是可以得到相同的结果。要得到不同的结果,使用 auto_seed() 就可以了。

从创建云服务器开始算起,一个小时内就可以跑通测试样例。

更多功能,请自由探索,或关注官方博客官网文档页面。