单GPU Pytorch培训与SLURM如何设置“ntaskspernode”?

2024-06-16 10:46:03 发布

您现在位置:Python中文网/ 问答频道 /正文

我想通过SLURM在服务器上使用单个GPU对transformers模型进行一些简单的微调。我以前没有使用过SLURM,而且我不是计算机科学家,所以我对这个领域的理解有点有限。我做了一些研究,并创建了下面的脚本

您能确认一下它是否适合使用吗

据我所知,节点对应于一台计算机,“-gres=gpu:1”将使用一台gpu。我唯一不清楚的是“每个节点的ntasks”。按照我的理解,因为我将运行一个python脚本,它可以等于1。对吗

#! /bin/bash

#SBATCH --job-name 'SQuAD'
#SBATCH --output squad_job%J.out
#SBATCH --error squad_error%J.err
#SBATCH --nodes=1
#SBATCH --gres=gpu:1
#SBATCH --ntasks-per-node=1
#SBATCH --partition=normal
#SBATCH --time=72:00:00

python3 fine_tune_squad.py

Tags: 模型服务器脚本节点gpu计算机slurmgres
1条回答
网友
1楼 · 发布于 2024-06-16 10:46:03

是,它将请求1个GPU来运行任务。如documentation中所述:

The default is one task per node [...]

因此, ntasks-per-node的默认值已经是1,这意味着您甚至不需要定义它。事实上,即使是 nodes也有一个默认值1。尽管如此,有些人认为一个好的做法是明确地定义它们以避免问题,所以我会像你们一样离开它们。

相关问题 更多 >