【深度学习·实践篇】CodeT5模型学习与基于CodeT5进行新的模型训练( 三 )


在中,数据准备的相关配置参数包含在/.py文件中 。可以在该文件中修改, , 等参数来指定训练集、验证集和测试集的路径 。如果需要进行数据增强、数据预处理等操作,也可以在该文件中设置相关参数 。
(3)要修改配置文件的相关参数,首先要了解自己的电脑/服务器的GPU配置 。
在终端输入-smi可以得到关于GPU的信息 。
举例学习:
当你在终端输入-smi命令时,它将返回所有GPU 设备的相关信息,包括GPU的设备编号、GPU的利用率、显存使用情况、进程占用情况等等 。下面是一些关于如何解读 -smi 命令返回的信息的例子:
+-----------------------------------------------------------------------------+| NVIDIA-SMI 470.42.01Driver Version: 470.42.01CUDA Version: 11.4||-------------------------------+----------------------+----------------------+| GPUNamePersistence-M| Bus-IdDisp.A | Volatile Uncorr. ECC || FanTempPerfPwr:Usage/Cap|Memory-Usage | GPU-UtilCompute M. ||||MIG M. ||===============================+======================+======================||0Tesla V100-PCIE...On| 00000000:3B:00.0 Off |0 || N/A47CP025W / 250W |12688MiB / 16160MiB |0%Default ||||N/A |+-------------------------------+----------------------+----------------------+|1Tesla V100-PCIE...On| 00000000:AF:00.0 Off |0 || N/A46CP026W / 250W |12688MiB / 16160MiB |0%Default ||||N/A |+-------------------------------+----------------------+----------------------+|2Tesla V100-PCIE...On| 00000000:D8:00.0 Off |0 || N/A46CP025W / 250W |12688MiB / 16160MiB |0%Default ||||N/A |+-------------------------------+----------------------+----------------------+|3Tesla V100-PCIE...On| 00000000:E1:00.0 Off |0 || N/A46CP028W / 250W |12688MiB / 16160MiB |0%Default ||||N/A |+-------------------------------+----------------------+----------------------+
上面的输出表明有4个 GPU 设备,编号分别为 0, 1, 2, 3 。这里给出一些有用的信息:
根据上面的例子,我们可以确定第一个节点的GPU设备列表为 [0, 1, 2, 3] 。即,第一个节点有4个GPU设备,它们的设备编号分别为0、1、2、3 。
在这里,解释一下一直提到的“节点”这个概念:
在分布式训练中,节点是指参与训练的物理或虚拟机器,每个节点都可以拥有多个GPU设备 。节点可以是多台物理机器,也可以是同一台物理机器上的多个虚拟机 。在节点之间通过网络通信来共同完成模型训练的任务 。
5. 配置运行环境
由于我是在服务器上跑模型,没有root权限,最终选择使用管理环境 。
具体的配置过程请看我的另一篇博客:学习与实战记录
6. 启动训练
在环境中,在命令行中指定各个参数启动.py文件 。
7. 使用模型
训练只得到了模型的.bin文件,但是要使用模型还需要其他的配置文件等 。
由于我在训练过程中没有修改预训练模型的超参数,因此我直接copy了预训练模型的.json 。
之后将模型上传至 。这样方便调用 。
使用的步骤
参考上传自己的模型
apt-get install git-lfsgit lfs install
git add .git commit -mgit push