AI

AI相关知识

环境配置

系统安装

Nvidia驱动安装

驱动安装

cuda安装

Nvidia cuda官网

pytorch环境安装

  • conda安装环境
  • 安装pytorch,选择合适的cuda和torch版本,可以使用conda或者pip命令安装
  • 测试gpu是否可用torch.cuda.is_available()

多节点环境

  • torchrun
  • deepspeed
  • pytorchlighting <!— Pytorchlighting多机多卡 https://zhuanlan.zhihu.com/p/561011846
    这部分和单机多卡的区别不大,只是增加了一个参数num_nodes,来设定所使用的机器数量,例如:

Trainer(gpus=4, num_nodes=3) # 表示使用3台机器,共12张显卡
之后需要注意的是启动进程,可以参考https://pytorch-lightning.readthedocs.io/en/latest/accelerators/gpu_intermediate.html

针对上面那个例子,如果想要启动训练,需要在三台机器上分别输入下面命令:

master_ip=192.168.1.10
机器1:
CUDA_VISIBLE_DEVICES=”0,1,2,3” MASTER_ADDR=$master_ip MASTER_PORT=45321 WORLD_SIZE=3 NODE_RANK=0 LOCAL_RANK=0 python main.py
机器2:
CUDA_VISIBLE_DEVICES=”0,1,2,3” MASTER_ADDR=$master_ip MASTER_PORT=45321 WORLD_SIZE=3 NODE_RANK=1 LOCAL_RANK=0 python main.py
机器3:
CUDA_VISIBLE_DEVICES=”0,1,2,3” MASTER_ADDR=$master_ip MASTER_PORT=45321 WORLD_SIZE=3 NODE_RANK=2 LOCAL_RANK=0 python main.py
这样就可以在3台机器上进行训练了

如果训练的时候报错或者卡死,无法运行,可以试试在上面的命令中加上NCCL_IB_DISABLE=1,将NCCL_IB_DISABLE设置为1来禁止使用IB/RoCE传输方式,转而使用IP传输,对于不支持RDMA技术的服务器,这个值设置为1可以解决部分训练卡死的问题。如果网络接口不能被自动发现,则手工设置NCCL_SOCKET_IFNAME=eth0,如果还有问题,就设置NCCL的debug模式NCCL_DEBUG=INFO —>

查看僵尸进程

fuser -v /dev/nvidia* 查看gpu中进程已经关闭,但是还在占用显存的僵尸进程

编程环境配置

jupyter

jupyter lab --ip :: --port PORT --no-browser --notebook-dir='/path' 可以同时支持ipv4和ipv6地址

Vscode

远程配置

远程调试

模型调试

tensorboard参数监控

tensorboard —bind_all —logdir runs —port 11112

模型下载huggingface

快速下载

  • 安装
    pip install -U huggingface_hub
  • 下载
    huggingface-cli download --resume-download --repo-type dataset lavita/medical-qa-shared-task-v1-toy
  • hf_transfer依附并兼容 huggingface-cli,提高下载速度
    pip install -U hf-transfer
  • 设置 HF_HUB_ENABLE_HF_TRANSFER 环境变量为 1
    export HF_HUB_ENABLE_HF_TRANSFER=1
    开启后使用方法同 huggingface-cli
Contents
  1. 1. 环境配置
    1. 1.1. 系统安装
    2. 1.2. Nvidia驱动安装
    3. 1.3. cuda安装
    4. 1.4. pytorch环境安装
    5. 1.5. 多节点环境
    6. 1.6. 查看僵尸进程
  2. 2. 编程环境配置
    1. 2.1. jupyter
    2. 2.2. Vscode
      1. 2.2.1. 远程配置
      2. 2.2.2. 远程调试
  3. 3. 模型调试
    1. 3.1. tensorboard参数监控
  4. 4. 模型下载huggingface
    1. 4.1. 快速下载
|