chore: canonical naming migration
Browse files- rskill.yaml +25 -18
rskill.yaml
CHANGED
|
@@ -1,5 +1,5 @@
|
|
| 1 |
schema_version: "0.1"
|
| 2 |
-
name: "OpenRAL/rskill-
|
| 3 |
version: "0.1.0"
|
| 4 |
license: "apache-2.0"
|
| 5 |
role: "s2"
|
|
@@ -7,7 +7,7 @@ kind: "reward"
|
|
| 7 |
|
| 8 |
# Embodiment-agnostic: a reward monitor scores any rollout video + task
|
| 9 |
# instruction and is exempt from the rSkill<->robot embodiment gate.
|
| 10 |
-
embodiment_tags: ["any"] # explicit embodiment-agnostic wildcard
|
| 11 |
|
| 12 |
# Consumes the same RGB camera stream the co-active VLA uses. No actuators.
|
| 13 |
sensors_required:
|
|
@@ -19,7 +19,7 @@ actuators_required: []
|
|
| 19 |
|
| 20 |
runtime: "pytorch"
|
| 21 |
|
| 22 |
-
# NF4 bitsandbytes quantization (empirically validated
|
| 23 |
# 236 Linear modules -> Linear4bit, 8.91 GB bf16 -> 3.33 GB resident,
|
| 24 |
# 3.56 GB peak incl. an 8-frame forward (4.44 GB headroom on an 8 GB GPU).
|
| 25 |
quantization:
|
|
@@ -30,26 +30,33 @@ quantization:
|
|
| 30 |
quantizer: "bitsandbytes"
|
| 31 |
compute_dtype: "bfloat16"
|
| 32 |
min_params_to_quantize: 4000000
|
| 33 |
-
#
|
| 34 |
-
#
|
| 35 |
-
#
|
| 36 |
-
|
| 37 |
-
#
|
| 38 |
-
#
|
| 39 |
-
|
| 40 |
-
robometer_pin: "a669dffc241d7d76bec12f36efd4084d914d017c"
|
| 41 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 42 |
min_vram_gb:
|
| 43 |
fp32: 18.0
|
| 44 |
bf16: 9.0
|
| 45 |
-
int4:
|
| 46 |
|
| 47 |
-
# Pre-quantized NF4 checkpoint
|
| 48 |
# DIRECTLY on the meta device via Params4bit.from_prequantized — no bf16
|
| 49 |
# materialization, no requantize (~25 s to ready vs ~110 s + a 19 GB CPU spike).
|
| 50 |
# Bit-identical to the bf16+quantize path. Built by
|
| 51 |
# tools/build_robometer_nf4_checkpoint.py from the SHA-pinned upstream below.
|
| 52 |
-
weights_uri: "hf://OpenRAL/rskill-
|
| 53 |
|
| 54 |
chunk_size: 1
|
| 55 |
latency_budget:
|
|
@@ -58,11 +65,11 @@ latency_budget:
|
|
| 58 |
|
| 59 |
source_repo: "hf://robometer/Robometer-4B@beef63bc914c5c189329d49c6d712d96d632aa34"
|
| 60 |
|
| 61 |
-
# Reward / progress-monitor contract
|
| 62 |
# per-frame normalized progress in [0,1] + per-frame success probability.
|
| 63 |
reward:
|
| 64 |
progress_range: [0.0, 1.0]
|
| 65 |
-
# Calibrated to
|
| 66 |
# (task closeness). Measured on cached LIBERO rollouts, full-attempt progress
|
| 67 |
# reaches ~0.80–0.86 on a genuine physical success and ~0.74 on a failure, so
|
| 68 |
# 0.8 is the auto-pass bar and 0.5 the clearly-incomplete floor. The success
|
|
@@ -70,7 +77,7 @@ reward:
|
|
| 70 |
# secondary corroborating cue, never as the completion bar.
|
| 71 |
success_threshold: 0.8
|
| 72 |
preference: false
|
| 73 |
-
# Robometer
|
| 74 |
# is the patience ceiling (default_patience_s=30 s). An 8 s trailing slice
|
| 75 |
# systematically MISSED the completion arc and under-scored progress to ~0.70
|
| 76 |
# (vlm_check/ladder) on real successes whose full-attempt progress was ~0.85.
|
|
@@ -90,7 +97,7 @@ description: >
|
|
| 90 |
as an NF4 reward rSkill. Runs parallel to a VLA: given rollout frames + the
|
| 91 |
task instruction it emits per-frame normalized progress (0-1) and success
|
| 92 |
probability, queried on demand by the Reasoner. Advisory-only — never gates
|
| 93 |
-
motors. Embodiment-agnostic. Apache-2.0.
|
| 94 |
|
| 95 |
actions:
|
| 96 |
- "monitor"
|
|
|
|
| 1 |
schema_version: "0.1"
|
| 2 |
+
name: "OpenRAL/rskill-robometer_4b-any-general-nf4"
|
| 3 |
version: "0.1.0"
|
| 4 |
license: "apache-2.0"
|
| 5 |
role: "s2"
|
|
|
|
| 7 |
|
| 8 |
# Embodiment-agnostic: a reward monitor scores any rollout video + task
|
| 9 |
# instruction and is exempt from the rSkill<->robot embodiment gate.
|
| 10 |
+
embodiment_tags: ["any"] # explicit embodiment-agnostic wildcard
|
| 11 |
|
| 12 |
# Consumes the same RGB camera stream the co-active VLA uses. No actuators.
|
| 13 |
sensors_required:
|
|
|
|
| 19 |
|
| 20 |
runtime: "pytorch"
|
| 21 |
|
| 22 |
+
# NF4 bitsandbytes quantization (empirically validated):
|
| 23 |
# 236 Linear modules -> Linear4bit, 8.91 GB bf16 -> 3.33 GB resident,
|
| 24 |
# 3.56 GB peak incl. an 8-frame forward (4.44 GB headroom on an 8 GB GPU).
|
| 25 |
quantization:
|
|
|
|
| 30 |
quantizer: "bitsandbytes"
|
| 31 |
compute_dtype: "bfloat16"
|
| 32 |
min_params_to_quantize: 4000000
|
| 33 |
+
# Loaded via lerobot's in-tree lerobot.rewards.robometer.RobometerRewardModel
|
| 34 |
+
# (a vanilla AutoModelForImageTextToText / Qwen3-VL-4B) with plain
|
| 35 |
+
# transformers >= 5 — NO robometer git package, NO auto_map, NO
|
| 36 |
+
# transformers==4.57.1 pin. The runtime builds the native module on the meta
|
| 37 |
+
# device and drops these packed NF4 weights straight in. See
|
| 38 |
+
# openral_runner.backends.reward.robometer_reward.
|
| 39 |
+
loader: "lerobot.rewards.robometer.RobometerRewardModel"
|
|
|
|
| 40 |
|
| 41 |
+
# MEASURED runtime footprint of the loaded sidecar (nvidia-smi on the resident
|
| 42 |
+
# robometer-sidecar process), NOT weights-only. The NF4 packed weights are
|
| 43 |
+
# ~3.6 GB, but the live sidecar also holds a CUDA context + the Qwen3-VL-4B
|
| 44 |
+
# backbone's VLM-scoring activations over its frame window, measured at ~5.34 GB
|
| 45 |
+
# steady-state → declare 5.5 GB so the VLA↔reward co-residency preflight budgets
|
| 46 |
+
# the real footprint (a 3.6 GB figure under-counted it and greenlit a pair that
|
| 47 |
+
# OOM-crashed the runner beside it on an 8 GB card). fp32/bf16 stay weights-only
|
| 48 |
+
# estimates — they carry the same context/activation overhead, unmeasured here.
|
| 49 |
min_vram_gb:
|
| 50 |
fp32: 18.0
|
| 51 |
bf16: 9.0
|
| 52 |
+
int4: 5.5
|
| 53 |
|
| 54 |
+
# Pre-quantized NF4 checkpoint: the runtime loads the packed weights
|
| 55 |
# DIRECTLY on the meta device via Params4bit.from_prequantized — no bf16
|
| 56 |
# materialization, no requantize (~25 s to ready vs ~110 s + a 19 GB CPU spike).
|
| 57 |
# Bit-identical to the bf16+quantize path. Built by
|
| 58 |
# tools/build_robometer_nf4_checkpoint.py from the SHA-pinned upstream below.
|
| 59 |
+
weights_uri: "hf://OpenRAL/rskill-robometer_4b-any-general-nf4"
|
| 60 |
|
| 61 |
chunk_size: 1
|
| 62 |
latency_budget:
|
|
|
|
| 65 |
|
| 66 |
source_repo: "hf://robometer/Robometer-4B@beef63bc914c5c189329d49c6d712d96d632aa34"
|
| 67 |
|
| 68 |
+
# Reward / progress-monitor contract. Discrete mode yields
|
| 69 |
# per-frame normalized progress in [0,1] + per-frame success probability.
|
| 70 |
reward:
|
| 71 |
progress_range: [0.0, 1.0]
|
| 72 |
+
# Calibrated to a later reward-calibration amendment (Decision 5): the bars gate the PROGRESS head
|
| 73 |
# (task closeness). Measured on cached LIBERO rollouts, full-attempt progress
|
| 74 |
# reaches ~0.80–0.86 on a genuine physical success and ~0.74 on a failure, so
|
| 75 |
# 0.8 is the auto-pass bar and 0.5 the clearly-incomplete floor. The success
|
|
|
|
| 77 |
# secondary corroborating cue, never as the completion bar.
|
| 78 |
success_threshold: 0.8
|
| 79 |
preference: false
|
| 80 |
+
# Robometer scores a trajectory from its START; the attempt horizon
|
| 81 |
# is the patience ceiling (default_patience_s=30 s). An 8 s trailing slice
|
| 82 |
# systematically MISSED the completion arc and under-scored progress to ~0.70
|
| 83 |
# (vlm_check/ladder) on real successes whose full-attempt progress was ~0.85.
|
|
|
|
| 97 |
as an NF4 reward rSkill. Runs parallel to a VLA: given rollout frames + the
|
| 98 |
task instruction it emits per-frame normalized progress (0-1) and success
|
| 99 |
probability, queried on demand by the Reasoner. Advisory-only — never gates
|
| 100 |
+
motors. Embodiment-agnostic. Apache-2.0.
|
| 101 |
|
| 102 |
actions:
|
| 103 |
- "monitor"
|