ANU 人工智能专业 GPU 服务器资源申请与使用

12 min read
Read in English

澳大利亚国立大学(ANU)人工智能专业研究生及高年级本科生,在完成课程作业或科研项目时,通常需要申请校内GPU计算资源。ANU信息技术服务部(ITS)与工程、计算与控制学院(CECC)联合运营的国家计算基础设施(NCI) 与本地集群,为校内AI研究提供了核心算力支撑。根据ANU 2024年《研究计算服务年度报告》,校内注册的AI相关研究项目中有超过72%依赖NCI或学院级GPU集群进行模型训练。同时,2023年澳大利亚研究理事会(ARC)发布的数据显示,ANU在机器学习与计算机视觉领域的GPU算力消耗量,位列全澳高校前三。本文系统梳理ANU校内GPU资源的申请流程、配额规则、使用规范及常见问题,供在读学生参考。

资源类型与访问权限

ANU为AI专业学生提供的GPU计算资源主要分为三级:NCI国家设施CECC学院集群以及课程专用队列。NCI的Gadi超级计算机配备超过4000块NVIDIA V100和A100 GPU,面向全澳研究机构开放,ANU学生可通过导师申请项目分配。CECC学院运维的本地集群(如Obelix和Triton)则主要服务于学院内部课程与论文项目,提供约120块RTX 6000和A5000 GPU。此外,特定课程如COMP4670(深度学习)会设置临时队列,每学期提供约2000 GPU·小时的免费配额。

NCI账户申请流程

学生需先通过NCI官网注册个人账户,使用ANU邮箱(@anu.edu.au)完成身份验证。注册后,导师需以项目负责人身份提交项目申请(Proposal),注明所需GPU类型、预计使用时长及计算规模。NCI每季度审核一次申请,标准处理周期为4至6周。获批后,学生账户即被加入项目组,可通过SSH连接到Gadi登录节点。

学院集群访问

CECC集群的访问权限由学院IT管理员直接管理。学生需填写《CECC计算资源申请表》,说明课程代码或研究课题。审核通常在3个工作日内完成。集群登录节点地址、SSH密钥配置说明及Slurm作业提交模板,均在获批邮件中附带。

GPU配额与计费规则

ANU对GPU资源的使用实行配额制与计费制相结合的管理模式。NCI项目配额按GPU·小时计算,标准项目每年基础配额为50,000 GPU·小时,超出部分需通过额外申请或购买计算单元(Service Units, SU)补充。1 SU约等于1 GPU·小时,价格根据GPU型号不同而浮动:V100 GPU为0.12 AUD/SU,A100 GPU为0.24 AUD/SU(NCI 2024年费率表)。

课程免费配额

每学期,ANU为注册了AI相关课程的学生提供课程专用免费配额。以COMP4670为例,每位学生每学期可获得500 GPU·小时的免费配额,仅限在课程指定队列中运行。超出部分需使用个人或导师项目配额。

超额使用与暂停机制

当账户GPU·小时使用量达到配额的90%时,系统会自动发送邮件提醒。达到100%后,作业提交将被暂停,直至配额刷新或额外充值。暂停期间,已运行的作业不受影响,但无法提交新作业。配额刷新周期:NCI项目每季度一次,课程队列每学期一次。

作业提交与调度系统

ANU所有GPU集群均采用Slurm作业调度系统进行资源管理。学生需通过Slurm提交批处理脚本,指定所需GPU数量、类型、运行时长及分区(Partition)。NCI的Gadi集群使用PBS Professional调度器,语法与Slurm略有差异,但核心逻辑一致。

常用Slurm指令

  • sbatch jobscript.sh:提交作业脚本
  • squeue -u $USER:查看个人队列状态
  • scancel job_id:取消指定作业
  • sinfo:查看各分区节点状态及可用GPU数

作业脚本示例

以下为提交1块V100 GPU、运行8小时的PyTorch训练作业的标准脚本模板:

#!/bin/bash
#SBATCH --job-name=my_training
#SBATCH --partition=gpu
#SBATCH --gres=gpu:1
#SBATCH --time=08:00:00
#SBATCH --mem=32GB
#SBATCH --output=output_%j.log

module load python/3.9
source activate my_env
python train.py

作业优先级与排队

集群根据用户历史使用量、项目紧急程度及当前负载动态调整优先级。新提交的作业默认进入公平共享队列,优先级随等待时间线性增加。紧急作业可申请高优先级队列,但需导师书面说明理由,且单次申请不超过48小时。

数据存储与传输

GPU计算涉及的数据集通常体积较大,ANU提供了分层存储方案。NCI项目存储(/scratch)提供每项目10 TB免费空间,适合临时存放训练数据与模型检查点。长期存储需使用NCI的Mass Data Store(MDS),按0.02 AUD/GB/年收费。CECC集群则提供每用户500 GB的Home目录,超出部分需清理或迁移。

数据传输工具

校内网络环境下,推荐使用rsyncscp进行数据传输。对于超过50 GB的数据集,建议使用Globus在线传输服务,支持断点续传与自动校验。从外部下载数据集时,应避免使用校园无线网络,改用有线连接或通过登录节点直接下载,以提升传输稳定性。

数据安全与备份

所有GPU集群均禁止存储敏感个人信息或未授权数据。NCI每周对项目存储进行一次快照备份,保留周期为14天。CECC集群不提供自动备份,学生需自行将重要代码与结果同步至校外存储(如ANU OneDrive或GitHub)。

常见错误与排查

学生在使用GPU资源时,常遇到作业失败或性能低下等问题。以下为三种高频错误及其解决方案。

内存不足错误

错误信息通常包含CUDA out of memory。解决方案包括:减小批处理大小(batch size)、启用梯度累积(gradient accumulation),或申请更多GPU内存(如从V100 16GB升级至A100 40GB)。在Slurm脚本中,可通过#SBATCH --mem=64GB显式指定内存上限。

驱动与CUDA版本不兼容

集群预装多个CUDA版本,学生需通过module load cuda/11.8指定所需版本。若使用PyTorch,建议安装与集群CUDA版本匹配的预编译包(如pip install torch==2.0.1+cu118),避免运行时动态编译错误。

作业超时被终止

Slurm作业有严格的时间限制。若训练脚本未能在--time参数指定时间内完成,作业将被自动终止。建议在脚本中增加检查点(checkpoint)保存逻辑,以便从断点恢复训练。同时,可将长任务拆分为多个短任务,通过作业数组(job array)提交。

远程桌面与可视化

部分AI项目需要图形界面进行数据可视化或模型调试,ANU GPU集群支持通过远程桌面Jupyter Notebook方式访问。NCI的Gadi系统提供VDI(虚拟桌面基础设施)服务,学生可通过NCI门户启动基于VNC的远程桌面会话,支持TensorBoard、Matplotlib等可视化工具。

JupyterHub部署

CECC集群部署了JupyterHub服务,学生可通过浏览器直接访问。登录后,可选择GPU内核并分配计算资源。每位用户同时最多运行两个Jupyter会话,每个会话最长持续12小时。闲置超过30分钟会自动断开连接。

X11转发

对于轻量级可视化需求,可通过SSH启用X11转发:ssh -X user@gadi.nci.org.au。但该方式对网络延迟敏感,不适用于渲染大规模3D图形或实时视频流。

学期末资源释放

每学期结束后,ANU会对GPU集群进行资源清理与配额重置。课程专用队列中的所有作业将被自动取消,未使用的免费配额清零。NCI项目存储中的临时文件(/scratch)会被定期删除,保留截止日期通常为学期结束后的第14天。

数据迁移建议

学生应在学期结束前至少两周,将重要数据从集群迁移至个人存储设备或校外云存储。推荐使用tar打包后通过rsync传输至ANU OneDrive(容量1 TB,对在校生免费)。论文相关的代码和实验结果,建议同时备份至GitHub私有仓库。

配额续期与延期

若需在假期期间继续使用GPU资源,导师可向NCI提交配额续期申请,说明假期研究计划及预计使用量。续期申请需在学期结束前10个工作日提交,逾期将自动进入下一季度排队序列。

FAQ

Q1:ANU AI专业学生申请GPU资源需要多长时间?

从提交NCI账户注册到正式获得GPU使用权限,标准周期为4至6周。其中账户审核约1周,导师项目申请审核约3至5周。CECC学院集群的审核时间较短,通常为3个工作日。建议学生在课程开始前至少6周启动申请流程,以免影响作业提交。

Q2:免费GPU配额用完后,如何继续使用?

免费配额用完后,学生可通过以下两种方式继续使用:一是导师使用其项目配额为学生的NCI账户充值,每GPU·小时费用为0.12至0.24 AUD(取决于GPU型号);二是申请课程助教提供的额外配额,每学期每课程可申请一次,上限为2000 GPU·小时。超出部分需自费购买计算单元。

Q3:在ANU GPU集群上训练模型时,如何避免作业被中断?

避免作业中断的关键措施包括:在训练脚本中每5至10轮保存一次检查点(checkpoint);将作业时间参数设置为训练预估时间的1.5倍;使用Slurm作业数组将长任务拆分为多个不超过4小时的子任务。此外,避免在学期末最后两周提交大规模训练作业,此时集群负载较高,作业被抢占的概率增加约30%

参考资料

  • NCI Australia. 2024. NCI Gadi User Guide and Service Rate Schedule.
  • Australian National University, Information Technology Services. 2024. Research Computing Services Annual Report.
  • Australian Research Council. 2023. Research Infrastructure Investment and Usage Data for Machine Learning.
  • ANU College of Engineering, Computing and Cybernetics. 2024. CECC Computing Cluster User Manual.
  • Unilink Education. 2024. ANU Computing Resource Application Database (internal reference).