AdrianLlopart commited on
Commit
adb1ec6
·
verified ·
1 Parent(s): f105df8

chore: canonical naming migration

Browse files
Files changed (1) hide show
  1. rskill.yaml +25 -18
rskill.yaml CHANGED
@@ -1,5 +1,5 @@
1
  schema_version: "0.1"
2
- name: "OpenRAL/rskill-robometer-4b-nf4"
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 (ADR-0072)
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, ADR-0057 Phase 2):
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
- # RBM cannot be loaded by vanilla AutoModel (config advertises
34
- # architectures:["RFM"] with no auto_map). The sidecar loads via the
35
- # pinned robometer package: robometer.utils.save.load_model_from_hf.
36
- loader: "robometer.utils.save.load_model_from_hf"
37
- # transformers MUST be pinned to 4.57.1 (5.x changes processor kwargs and
38
- # drops input_ids). robometer package pinned to a669dffc.
39
- transformers_pin: "4.57.1"
40
- robometer_pin: "a669dffc241d7d76bec12f36efd4084d914d017c"
41
 
 
 
 
 
 
 
 
 
42
  min_vram_gb:
43
  fp32: 18.0
44
  bf16: 9.0
45
- int4: 3.6
46
 
47
- # Pre-quantized NF4 checkpoint (ADR-0057): the sidecar loads the packed weights
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-robometer-4b-nf4"
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 (ADR-0057). Discrete mode yields
62
  # per-frame normalized progress in [0,1] + per-frame success probability.
63
  reward:
64
  progress_range: [0.0, 1.0]
65
- # Calibrated to ADR-0074 Decision 5 (amendment): the bars gate the PROGRESS head
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 (ADR-0057) scores a trajectory from its START; the attempt horizon
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. ADR-0057.
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"