Skip to main content

fine-tuning

Use when discussing, submitting, or checking on a fine-tuning run — GPU training jobs on pi05/robot-policy checkpoints, submit_finetune_run, get_finetune_run_status, or questions like "how's my fine-tune doing" or "kick off training on X dataset."

Jump to install

Source facts

Repository
redhat-et/physical-ai-skills
Last source activity
August 4, 2026 at 22:21
Detected SKILL.md language
English
Stars
0
Forks
0

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

File Explorer
7 files

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
fine-tuning
description
Use when discussing, submitting, or checking on a fine-tuning run — GPU training jobs on pi05/robot-policy checkpoints, submit_finetune_run, get_finetune_run_status, or questions like "how's my fine-tune doing" or "kick off training on X dataset."
FINE-TUNING ## Scripts Every capability below is a standalone script under `scripts/`, run via the shell tool as `python3 "$SKILLS_ROOT/fine-tuning/scripts/<name>.py" <flags>`. Each is self-contained and does its whole job end-to-end. | Script | Purpose | | --- | --- | | `submit_finetune_run.py` | Submit a fine-tuning pipeline run against a staged dataset | | `get_finetune_run_status.py` | Check a run's progress, stages, and eval results | | `list_finetune_runs.py` | List all fine-tuning experiments on this cluster | In order: 0. Only 'pi05' is supported as a fine-tuning target right now — say so up front if the user names a different model. 1. Confirm the dataset is staged (`pull_dataset.py`) and, for robot-policy models, validated (`validate_dataset.py --dataset-format lerobot`) before ever running `submit_finetune_run.py` — see the datasets skill for that workflow. If the dataset repo bundles multiple independent LeRobot datasets as subfolders (see the datasets skill), pass the subfolder name as `--dataset-subset`. 2. Discuss the recipe with the user first — model, dataset, that this runs real GPU-hours on the shared cluster for potentially hours. 3. EXCEPTION TO RULE 1: never run `submit_finetune_run.py` in the same turn as the initial fine-tuning request, for any reason, including to "check" whether the dataset/config is valid — that speculative call IS the forbidden action, whether or not it succeeds. Use `get_dataset_job_status.py`, or the datasets skill's `resources_list` check for what's already staged, instead to check preconditions. Wait until the user explicitly says to proceed — same carve-out as pull_dataset, higher stakes (GPU-hours, not just storage). 4. The pipeline advances through its own stages on its own — `get_finetune_run_status.py` is a read-only progress check, not something that needs repeated calls to make a stage happen. 5. If the exact exp_name isn't known, or the question is general ("what's running", "any fine-tunes in progress"), run `list_finetune_runs.py` — don't guess a name or say there's no way to check. 6. Relay final eval numbers and the checkpoint PVC name only once `get_finetune_run_status.py` reports all stages complete. 7. If `get_finetune_run_status.py` reports a FAILED stage, it now includes that stage's recent log lines -- read them. If they mention a LeRobot dataset-format/version error (e.g. BackwardCompatibilityError, "v2.1", "v3.0"): run `convert_dataset_to_v3.py --dataset-pvc-name <name>`, wait for `get_dataset_conversion_status.py` to report succeeded, then run `submit_finetune_run.py` again with the same `--dataset-pvc-name` and `--exp-name` -- resubmitting under the same exp_name is only allowed once the prior run's state is FAILED. For any other failure reason, don't guess a fix -- report the log contents to the user.
View on GitHub