在 Slurm 上运行 DeepSeek

介绍

DeepSeek 是一个用于深度学习模型的工具/框架,能够进行高效的模型训练和推理。在高性能计算环境中,Slurm 是一个常用的作业调度系统,用于提交和管理计算任务。此手册将指导用户如何在使用 Slurm 的集群中运行 DeepSeek。

以下所有示例作业脚本中关于 SBATCH 的选项

  • supervisor,请替换为用户账号关联的付费账户名
  • 其它的 SBATCH 选项请根据实际使用需要进行修改

1. 准备 DeepSeek 作业脚本

首先,创建一个作业脚本(例如 deepeek.sh),并在其中设置必要的 Slurm 指令和运行命令。以下是一个示例作业脚本:

#!/bin/bash
#SBATCH --account=supervisor
#SBATCH --job-name=deepseek
#SBATCH --partition=gpu
#SBATCH --ntasks-per-node=20
#SBATCH --gres=gpu:4
#SBATCH --time=06:00:00
#SBATCH --output=output.log
#SBATCH --error=error.log

# 加载 ollama
module load ollama/0.5.7

# 设置环境变量(如果需要自定义模型路径)
export OLLAMA_MODELS=/software/ollama/models

# 启动 DeepSeek 服务
ollama serve &

# 等待服务启动完成
sleep 60

# 运行您的训练或推理脚本
python your_training_script.py

# 关闭 DeepSeek 服务
pkill -f "ollama serve"

2. 提交作业

保存上述脚本后,使用 sbatch 命令提交作业:

sbatch deepeek.sh

3. 检查作业状态

您可以使用以下命令检查作业的状态:

squeue -u $USER

4. 查看输出和错误日志

作业运行结束后,您可以在 output.logerror.log 文件中查看输出和错误信息。

注意事项

  • 模型路径:如果您使用自定义模型,请确保正确设置 OLLAMA_MODELS 环境变量。
  • 节点选择:对于 32B 以上的大模型,建议使用 A100 节点以获得更好的性能。
  • 资源需求:根据您的具体需求调整作业脚本中的资源请求(如 GPU 数量、CPU 核心数等)。

results matching ""

    No results matching ""