M0rtzz.com

August 26, 2026Last Updated: August 26, 2026

HUSTNLP NAS 使用说明

HUSTNLP NAS 使用说明

实验室 NAS 已挂载至各服务器的:

/nas

目前主要目录结构如下:

/nas/
├── Models/
├── Datasets/
├── Users/
└── DO_NOT_EDIT_OR_DELETE_SHARED_CACHE/
    └── HuggingFace/
        ├── assets/
        ├── datasets/
        ├── hub/
        ├── modules/
        └── xet/

important

除 Conda 环境外,请尽量将个人代码仓库、实验数据、日志、输出结果以及自行训练或微调产生的模型权重和 Checkpoint 全部放在/nas/Users/${USER} 中。

通过 Hugging Face、ModelScope 等平台获取的官方开放模型和公开数据集,如果使用命令行工具显式指定 local_dir 下载,则应分别保存到 /nas/Models/nas/Datasets。代码中按默认方式加载的资源通常会自动进入共享缓存。

目录说明

/nas/Models

用于存放实验室成员共享且需要长期使用的模型文件。

通过 Hugging Face CLI、ModelScope 等工具下载官方开放模型,并显式指定 local_dir 时,应将目标位置统一设在该目录下,例如:

/nas/Models/
├── Qwen/
├── Llama/
├── Mistral/
└── ...

如果模型已经存在于 /nas/Models,请优先直接使用,避免重复下载

例如,可以按模型组织和名称建立目录:

huggingface-cli download <组织>/<模型> \
  --local-dir /nas/Models/<组织>/<模型>

modelscope download --model <组织>/<模型> \
  --local_dir /nas/Models/<组织>/<模型>

这里存放的是官方发布或实验室成员共同使用的开放权重。自行训练、微调或蒸馏产生的权重和 Checkpoint 应存放在 /nas/Users/${USER},不要放入 /nas/Models

tip

下载大模型前,可以先运行以下命令查看已有模型:

ls /nas/Models

/nas/Datasets

用于存放实验室共享的数据集。

通过 Hugging Face CLI、ModelScope 等工具下载公开数据集,并显式指定 local_dir 时,应将目标位置统一设在

/nas/Datasets

例如:

/nas/Datasets/
├── HarmBench/
├── AdvBench/
└── ...

下载数据集前,请先检查该目录中是否已经存在对应数据:

ls /nas/Datasets

例如:

huggingface-cli download <组织>/<数据集> \
  --repo-type dataset \
  --local-dir /nas/Datasets/<组织>/<数据集>

modelscope download --dataset <组织>/<数据集> \
  --local_dir /nas/Datasets/<组织>/<数据集>

个人实验自行生成、清洗或加工的数据仍应放在 /nas/Users/${USER} 中。


/nas/Users/${USER}

用于存放个人文件、项目代码、实验数据、运行结果以及其他不适合放入公共目录的内容。

${USER} 会自动对应当前 Linux 用户名,可以通过以下命令查看:

echo "${USER}"

例如,当前用户名为:

ghost

则对应的个人 NAS 目录为:

/nas/Users/ghost

可以直接进入:

cd "/nas/Users/${USER}"

建议按照自己的需要建立目录,例如:

/nas/Users/${USER}/
├── Workspaces/
├── Programs/
├── Outputs/
├── Checkpoints/
├── Models/
├── Datasets/
├── Misc/
└── Temp/

可以使用以下命令快速创建:

mkdir -p "/nas/Users/${USER}"/{Workspaces,Programs,Outputs,Checkpoints,Models,Datasets,Misc,Temp}

以下内容原则上都应存放在个人 NAS 目录中:

note

Conda 环境可以继续保存在服务器本地。除 Conda 环境外,建议将其他个人文件尽可能统一放入/nas/Users/${USER}

warning

自行训练的模型权重、Checkpoint、实验数据和输出通常占用大量空间。请将其存放在/nas/Users/${USER},不要长期保存在服务器本地的 ${HOME} 中,以免占满本地磁盘并影响其他用户。

在主目录中创建软连接

为了方便访问,可以在自己的主目录中创建指向个人 NAS 目录的软连接。

推荐将软连接命名为 nas

ln -s "/nas/Users/${USER}" "${HOME}/nas"

之后可以直接使用:

cd "${HOME}/nas"

也可以先进入主目录,再执行简写命令:

cd ${HOME}
ln -s "/nas/Users/${USER}"

后一种写法会使用源目录的名称作为软连接名称。例如用户名为 ghost 时,将创建:

${HOME}/ghost -> /nas/Users/ghost

tip

更推荐显式指定软连接名称:

ln -s "/nas/Users/${USER}" "${HOME}/nas"

这样所有用户都可以通过统一的 ${HOME}/nas 路径访问自己的 NAS 目录。

如果 ${HOME}/nas 已经存在,请先检查它是什么:

ls -ld "${HOME}/nas"

不要在未确认内容的情况下直接覆盖或删除。


/nas/DO_NOT_EDIT_OR_DELETE_SHARED_CACHE/HuggingFace

该目录是实验室统一使用的 Hugging Face 共享缓存:

/nas/DO_NOT_EDIT_OR_DELETE_SHARED_CACHE/HuggingFace

服务器已经配置了相关环境变量。因此,正常使用以下 Hugging Face 工具时,缓存会自动写入该目录:

from transformers import AutoModel
from datasets import load_dataset

例如,在代码中使用仓库 ID 且不显式指定本地目录时,模型或数据集通常会下载到该共享缓存:

from transformers import AutoModel
from datasets import load_dataset

model = AutoModel.from_pretrained("<组织名>/<模型名>")
dataset = load_dataset("<组织名>/<数据集名>")

这与使用 Hugging Face CLI、ModelScope 等工具显式指定 local_dir 的情形不同:后者下载的官方开放模型和公开数据集应分别放在 /nas/Models/nas/Datasets

Hugging Face Token

共享的只是 Hugging Face 缓存,Hugging Face Token 不共享。每位用户的 Token 都保存在各自的 ${HOME} 中:

${HOME}/.cache/huggingface/token

服务器通过以下环境变量明确指定个人 Token 路径:

HF_TOKEN_PATH="${HOME}/.cache/huggingface/token"

系统只将模型、数据集、辅助资源和 Xet 缓存指向 NAS,不设置 HF_HOME,从而避免 Token 随缓存进入共享目录。整体关系如下:

模型与仓库缓存  → /nas/DO_NOT_EDIT_OR_DELETE_SHARED_CACHE/HuggingFace/hub
数据集处理缓存  → /nas/DO_NOT_EDIT_OR_DELETE_SHARED_CACHE/HuggingFace/datasets
辅助资源缓存    → /nas/DO_NOT_EDIT_OR_DELETE_SHARED_CACHE/HuggingFace/assets
Xet 缓存        → /nas/DO_NOT_EDIT_OR_DELETE_SHARED_CACHE/HuggingFace/xet
个人 Token      → ${HOME}/.cache/huggingface/token

用户应使用自己的 Linux 账号登录 Hugging Face:

hf auth login

不要使用 sudo hf auth login,否则 Token 可能被保存到 root 用户的主目录,而不是当前用户的 ${HOME}

可以检查 Token 路径是否配置正确,但不要输出 Token 文件内容:

echo "${HF_TOKEN_PATH}"
ls -l "${HF_TOKEN_PATH}"
hf auth whoami

期望 HF_TOKEN_PATH 指向:

${HOME}/.cache/huggingface/token

warning

Token 属于个人敏感凭据。不要将 Token 写入代码仓库、实验配置、日志、共享 NAS 目录或聊天记录,也不要将 Token 文件复制到/nas/DO_NOT_EDIT_OR_DELETE_SHARED_CACHE/HuggingFace

caution

Hugging Face Token 只控制从远程仓库下载资源的权限,不控制已经下载到 NAS 后的本地文件读取权限。如有需要,可以不把敏感的 gated/private 模型下载到全员可读的共享缓存或公共模型目录;此类资源可使用权限隔离的个人或项目目录。

当前缓存目录包含:

/nas/DO_NOT_EDIT_OR_DELETE_SHARED_CACHE/HuggingFace/
├── assets/
├── datasets/
├── hub/
├── modules/
└── xet/

各目录的主要用途如下:

目录用途
assets/存放 Hugging Face 相关库生成或下载的辅助资源
datasets/存放 datasets 库处理后的数据集缓存、索引、锁文件及中间结果
hub/存放从 Hugging Face Hub 下载的模型、数据集和其他仓库快照
modules/存放动态加载的自定义 Python 模块或远程代码缓存
xet/存放 Hugging Face Xet 下载机制使用的数据及传输缓存

其中常见内容包括:

hub/
├── models--组织名--模型名/
├── datasets--组织名--数据集名/
├── .locks/
└── ...

datasets/
├── 数据集处理缓存/
├── downloads/
├── *.lock
└── ...

caution

/nas/DO_NOT_EDIT_OR_DELETE_SHARED_CACHE/HuggingFace 下的所有文件和目录均由 Hugging Face 工具自动管理。请勿人工创建、复制、上传、修改、移动、重命名、整理或删除其中的任何文件或目录,包括 .lock 文件、快照、符号链接和看似重复的文件。***不得将个人文件、说明文档、手动下载的模型或数据集、实验输出以及临时文件放入该目录;***只有 Hugging Face 相关工具在正常运行过程中才能自动在其中创建缓存内容。

尤其不要执行:

rm -rf /nas/DO_NOT_EDIT_OR_DELETE_SHARED_CACHE/HuggingFace/*

也不要对其子目录执行类似操作,例如:

rm -rf /nas/DO_NOT_EDIT_OR_DELETE_SHARED_CACHE/HuggingFace/hub/*
rm -rf /nas/DO_NOT_EDIT_OR_DELETE_SHARED_CACHE/HuggingFace/datasets/*

手动改动共享缓存可能导致:

important

可以通过 Hugging Face 库正常读取和使用共享缓存,但不要把hub/datasets/ 等内部缓存路径当作稳定的模型或数据集路径写入项目配置。

请按资源来源和下载方式选择位置:

显式指定 local_dir 下载的官方开放模型 → /nas/Models
显式指定 local_dir 下载的公开数据集   → /nas/Datasets
自行训练的权重、Checkpoint 和实验数据 → /nas/Users/${USER}
代码默认调用产生的 Hugging Face 缓存   → 共享缓存(自动管理)

而不是直接依赖共享缓存中的内部目录结构。


推荐存储规则

内容推荐路径
显式指定 local_dir 下载的官方开放模型/nas/Models
显式指定 local_dir 下载的公开数据集/nas/Datasets
个人代码仓库/nas/Users/${USER}/Workspaces
个人安装的程序、工具及其运行文件/nas/Users/${USER}/Programs
自行训练或微调完成后整理、导出的最终模型及个人模型权重/nas/Users/${USER}/Models
自行生成、处理或仅供个人使用的数据集/nas/Users/${USER}/Datasets
实验结果及日志/nas/Users/${USER}/Outputs
训练过程中的模型 Checkpoint 及断点续训状态/nas/Users/${USER}/Checkpoints
其他不便归类的个人文件/nas/Users/${USER}/Misc
个人临时文件/nas/Users/${USER}/Temp
Conda 环境可保存在服务器本地
Hugging Face 自动缓存/nas/DO_NOT_EDIT_OR_DELETE_SHARED_CACHE/HuggingFace
Hugging Face 个人 Token${HOME}/.cache/huggingface/token

简单来说:

官方开放模型(显式 local_dir) → /nas/Models
公开数据集(显式 local_dir)   → /nas/Datasets
个人代码、实验数据、自训权重   → /nas/Users/${USER}
Conda 环境                      → 可以保留在服务器本地
代码默认调用产生的 HF 缓存      → /nas/DO_NOT_EDIT_OR_DELETE_SHARED_CACHE/HuggingFace
HF 个人 Token                   → ${HOME}/.cache/huggingface/token

使用建议

在下载较大的模型或数据集之前,请先检查:

ls /nas/Models
ls /nas/Datasets

模型和数据集应按以下规则存放:

训练脚本中的输出路径也建议直接指定到个人 NAS 目录,例如:

OUTPUT_DIR="/nas/Users/${USER}/Outputs/my_experiment"
CHECKPOINT_DIR="/nas/Users/${USER}/Checkpoints/my_experiment"

mkdir -p "${OUTPUT_DIR}" "${CHECKPOINT_DIR}"

tip

新建项目时,可以直接将代码仓库克隆到 NAS:

cd "/nas/Users/${USER}/Workspaces"
git clone <repository-url>

请大家尽量按照上述目录规范使用 NAS,以减少重复文件、方便资源共享,并降低各服务器本地磁盘的存储压力,谢谢大家 :)