Commit 6f08731
docs(eval skill): vLLM backend env vars + SLURM HF-cache/cpu_partition guidance (#1625)
### What does this PR do?
Type of change: documentation
Hardens the **evaluation** skill with operational guidance discovered
while running AA-Index evals (NVFP4 Nemotron-3-Nano) on SLURM. Two
themes:
**1. vLLM backend env vars (original commits).** Some models need a
model-card backend toggle that is an env var, not a CLI flag — e.g.
NVFP4 MoE models like
[NVIDIA-Nemotron-3-Nano-30B-A3B-NVFP4](https://huggingface.co/nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B-NVFP4)
need `VLLM_USE_FLASHINFER_MOE_FP4=1` +
`VLLM_FLASHINFER_MOE_BACKEND=throughput`. These go in
`deployment.env_vars` (with the `lit:` prefix), not the `vllm serve`
command.
**2. SLURM deploy/eval operational lessons (new commits).**
- **`mount_home: false` always.** Some internal cluster templates
default it `true`, which mounts the host `~/.cache`; where that is a
symlink into a shared/networked filesystem, it dangles in the container
and the vLLM `trust-remote-code` deploy dies with `FileNotFoundError:
/root/.cache/huggingface` — **invisible to `--dry-run`**.
- **HF cache:** mount the realpath of `~/.cache/huggingface` to
`/hf-cache` and set `HF_HOME: lit:/hf-cache` for both stages.
- **`execution.cpu_partition`:** on split GPU/CPU-partition clusters,
the CPU-only MLflow auto-export job is rejected by the GPU partition and
marks the whole task FAILED despite `EVAL_EXIT_CODE=0`. Set
`cpu_partition` to route it correctly.
- **Top-level `env_vars:`** for vars both stages need (`HF_TOKEN`,
`HF_HOME`); `execution.env_vars` is unsupported and hard-errors.
- **`lcr.md`:** `LOG_LEVEL=WARNING` to skip logging AA-LCR's ~120K-token
inputs.
### Usage
```yaml
execution:
cpu_partition: <cpu-partition> # CPU-only auto-export job
mounts:
mount_home: false
deployment: { <shared-fs>/<user>/.cache/huggingface: /hf-cache }
evaluation: { <shared-fs>/<user>/.cache/huggingface: /hf-cache }
env_vars: # shared by both stages
HF_TOKEN: host:HF_TOKEN
HF_HOME: lit:/hf-cache
deployment:
env_vars:
VLLM_USE_FLASHINFER_MOE_FP4: lit:1
VLLM_FLASHINFER_MOE_BACKEND: lit:throughput
```
### Testing
Docs/skill-only. Validated end-to-end by running the full AA suite (GPQA
+ SciCode + AA-LCR) across 5 NVFP4 checkpoints on SLURM: dry-run +
canary + full runs all SUCCESS with these settings. Pre-commit (yamlfmt,
markdownlint) passed.
### Before your PR is "*Ready for review*"
- Is this change backward compatible?: ✅
- If you copied code from any other sources or added a new PIP
dependency, did you follow guidance in `CONTRIBUTING.md`: N/A
- Did you write any new necessary tests?: N/A
- Did you update Changelog?: N/A
- Did you get Claude approval on this PR?: ❌
🤖 Generated with [Claude Code](https://claude.com/claude-code)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **Documentation**
* Clarified where backend-related environment variables must be
configured (deployment-level) and not embedded in execution commands.
* Added guidance to mount the real HuggingFace cache path and set
home-mounting to false for containerized SLURM runs.
* Documented routing CPU-only jobs via CPU partitions and added a
task-level LOG_LEVEL setting to reduce verbose long-context logging.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Signed-off-by: Chenjie Luo <chenjiel@nvidia.com>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>1 parent bdb793a commit 6f08731
4 files changed
Lines changed: 57 additions & 3 deletions
File tree
- .agents/skills/evaluation
- recipes
- examples
- tasks/aa
- references
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
84 | 84 | | |
85 | 85 | | |
86 | 86 | | |
87 | | - | |
| 87 | + | |
88 | 88 | | |
89 | 89 | | |
90 | 90 | | |
| |||
223 | 223 | | |
224 | 224 | | |
225 | 225 | | |
| 226 | + | |
| 227 | + | |
226 | 228 | | |
227 | 229 | | |
228 | 230 | | |
| |||
295 | 297 | | |
296 | 298 | | |
297 | 299 | | |
298 | | - | |
| 300 | + | |
299 | 301 | | |
300 | 302 | | |
301 | 303 | | |
302 | 304 | | |
303 | | - | |
| 305 | + | |
304 | 306 | | |
305 | 307 | | |
306 | 308 | | |
| |||
Lines changed: 12 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
56 | 56 | | |
57 | 57 | | |
58 | 58 | | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
59 | 62 | | |
| 63 | + | |
| 64 | + | |
60 | 65 | | |
61 | 66 | | |
62 | 67 | | |
63 | 68 | | |
64 | 69 | | |
65 | 70 | | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
66 | 77 | | |
67 | 78 | | |
68 | 79 | | |
| |||
96 | 107 | | |
97 | 108 | | |
98 | 109 | | |
| 110 | + | |
99 | 111 | | |
100 | 112 | | |
101 | 113 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
42 | 42 | | |
43 | 43 | | |
44 | 44 | | |
| 45 | + | |
45 | 46 | | |
46 | 47 | | |
47 | 48 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
0 commit comments