Étiquette Brev
Opère en considérant que /home/ubuntu/RL est le checkout source et /ephemeral est le stockage de travail pour l'état des expériences générées. Garde le repo petit, reproductible et facile à inspecter. Déplace les outputs volumineux des runs vers /ephemeral avant de lancer quoi que ce soit de coûteux.
Règles de stockage
- Conserve les modifications de code, les petits changements de config, les hypothèses d'expériences commitées et les enregistrements concis de reproductibilité sous
/home/ubuntu/RL. - Place les assets d'expériences générées sous
/ephemeral, notamment les checkpoints, les logs de run, les répertoires temporaires Ray, les fichiers offline W&B, les traces du profiler, les dumps d'évaluation, les échantillons de rollout et les artefacts par expérience. - Conserve les caches réutilisables sous une racine de cache partagée unique
/ephemeralpar utilisateur, pas sous chaque expérience. Cela inclut les modèles Hugging Face, les caches de datasets, les caches PyTorch, les caches Triton, les cachesuvet les caches pip. - Avant une campagne ou un long run, vérife la capacité avec
df -h /home/ubuntu/RL /ephemeralet évite de démarrer si/ephemeralest absent ou quasi plein. - Crée une racine de campagne telle que
/ephemeral/nemo-rl/${USER:-ubuntu}/nemo-rl-auto-research/<campaign>et utilise un sous-répertoire par expérience. - Ne laisse pas de fichiers volumineux, répertoires de cache ou outputs générés dans le checkout git. Si un outil envoie par défaut vers le repo, change son chemin de sortie/cache avant de l'exécuter.
Secrets d'environnement
- Traite
/home/ubuntu/RL/.envcomme le stockage local de secrets. Il peut contenir des clés telles queWANDB_API_KEY,HF_TOKENouHUGGING_FACE_HUB_TOKEN. - Avant tout run qui pourrait nécessiter une authentification externe, charge
/home/ubuntu/RL/.envs'il existe. Ne jamais afficher, utilisercat, logger ou committer des valeurs de secrets. - Si
/home/ubuntu/RL/.envest absent ou qu'une clé requise reste non définie après l'avoir chargé, rappelle à l'utilisateur d'ajouter la clé nécessaire à ce fichier avant de lancer du travail authentifié.
if [ -f /home/ubuntu/RL/.env ]; then
set -a
. /home/ubuntu/RL/.env
set +a
else
echo "Missing /home/ubuntu/RL/.env; add required keys such as WANDB_API_KEY or HF_TOKEN before authenticated runs."
fi
Modèle Auto-Research
Quand tu utilises nemo-rl-auto-research, garde le ledger git dans le repo et les preuves lourdes sur /ephemeral.
if [ -f /home/ubuntu/RL/.env ]; then
set -a
. /home/ubuntu/RL/.env
set +a
fi
BREV_ROOT=/ephemeral/nemo-rl/${USER:-ubuntu}
CACHE_ROOT=$BREV_ROOT/cache
CAMPAIGN_ROOT=$BREV_ROOT/nemo-rl-auto-research/<campaign>
EXP_DIR=$CAMPAIGN_ROOT/<experiment>
mkdir -p "$EXP_DIR"/{logs,checkpoints,artifacts,ray,tmp,wandb}
mkdir -p "$CACHE_ROOT"/{huggingface,torch,triton,uv,pip,xdg,wandb}
export HF_HOME=$CACHE_ROOT/huggingface
export HF_HUB_CACHE=$HF_HOME/hub
export HF_DATASETS_CACHE=$HF_HOME/datasets
export TRANSFORMERS_CACHE=$HF_HOME/transformers
export TORCH_HOME=$CACHE_ROOT/torch
export TRITON_CACHE_DIR=$CACHE_ROOT/triton
export UV_CACHE_DIR=$CACHE_ROOT/uv
export PIP_CACHE_DIR=$CACHE_ROOT/pip
export XDG_CACHE_HOME=$CACHE_ROOT/xdg
export WANDB_CACHE_DIR=$CACHE_ROOT/wandb
export RAY_TMPDIR=$EXP_DIR/ray
export TMPDIR=$EXP_DIR/tmp
export WANDB_DIR=$EXP_DIR/wandb
Enregistre les chemins absolus /ephemeral dans les champs TSV de nemo-rl-auto-research pour le chemin de log, le chemin de checkpoint, les artefacts, la racine de cache partagée et la commande. Si le TSV lui-même peut devenir volumineux, stocke le TSV complet dans /ephemeral et garde un petit fichier pointeur ou un résumé dans le repo.
Checklist de lancement
- Inspecte d'abord le disque :
df -h /home/ubuntu/RL /ephemeral. - Choisis une racine de run unique
/ephemeralavant de modifier les recettes ou de lancer des jobs. - Réutilise une racine de cache partagée telle que
/ephemeral/nemo-rl/${USER:-ubuntu}/cacheentre les expériences sauf si un run demande explicitement un cache vierge. - Change les chemins de sortie des recettes, les chemins du logger, les chemins de checkpoint et les chemins temp pour qu'ils pointent sous le répertoire d'expérience.
- Change les chemins de cache pour qu'ils pointent sous la racine de cache partagée.
- Redirige stdout/stderr vers
$EXP_DIR/logs/run.logou un fichier équivalent sous/ephemeral. - Vérifie périodiquement le disque lors de longs runs avec
df -h /ephemeralet arrête proprement si le volume s'épuise. - À la fin, résume les métriques importantes et les chemins dans le ledger du repo ; ne copie pas les artefacts volumineux dans
/home/ubuntu/RL.
Nettoyage
- Nettoie uniquement les fichiers qui appartiennent à la campagne ou l'expérience actuelle.
- Préfère élaguer les répertoires d'expériences clairement nommés sous
/ephemeral/nemo-rl/...; ne supprime jamais les caches partagés ou le répertoire de run d'un autre utilisateur sans instruction explicite. - Préserve suffisamment de petites métadonnées dans le repo pour reproduire un résultat après que
/ephemeralsoit nettoyé.