[Feature] Add the DreamerV3 block RSSM core - #4072
Conversation
[ghstack-poisoned]
🔗 Helpful Links🧪 See artifacts and rendered test results at hud.pytorch.org/pr/pytorch/rl/4072
Note: Links to docs will display an error until the docs builds have been completed. ✅ You can merge normally! (2 Unrelated Failures)As of commit 1ea75bd with merge base d5a62cb ( BROKEN TRUNK - The following jobs failed but were present on the merge base:👉 Rebase onto the `viable/strict` branch to avoid these failures
This comment was automatically generated by Dr. CI and updates every 15 minutes. |
|
Update after the stack-level ghstack rebase: The full eight-PR Dreamer stack was checked out from #4075, rebased onto current Reviewed current PR head On the PR-specific diff, I checked the grouped block projections/gating, action normalization, RMS-normalized prior/posterior paths, the frozen numerical fixture, gradients, and full-graph compile coverage. The current source/config CI failure is actionable but outside these two changed files: µfmt wants the |
[ghstack-poisoned]
[ghstack-poisoned]
[ghstack-poisoned]
|
Addressed the review pass and resubmitted this commit after rebasing the stack onto current main. No layer-specific code change was needed; block-RSSM validation, dtype preservation, action normalization, and compile coverage are preserved. The full all-files lint suite passes at this PR boundary. |
Summary: - add the grouped block-linear recurrent core used by DreamerV3 - add RMS-normalized prior and posterior predictor options - preserve the existing GRU implementation as the default for checkpoint compatibility Rationale: The maintained DreamerV3 implementation used a conventional GRUCell, while the reference architecture projects deterministic state, stochastic state, and action separately before applying grouped recurrent gates. Providing the block core as an explicit mode enables architecture-parity experiments without invalidating existing TorchRL models. Test plan: - pytest test/modules/test_dreamer_components.py -k DreamerV3Components -q - pytest test/objectives/test_dreamer_v3.py -q - verify the frozen numerical fixture, normalized-action invariance, gradients, RMS-normalized posterior shapes, and torch.compile full-graph execution ghstack-source-id: 885a253 Pull-Request: #4072
Stack from ghstack (oldest at bottom):
Summary:
Rationale:
The maintained DreamerV3 implementation used a conventional GRUCell, while the
reference architecture projects deterministic state, stochastic state, and action
separately before applying grouped recurrent gates. Providing the block core as an
explicit mode enables architecture-parity experiments without invalidating existing
TorchRL models.
Test plan:
RMS-normalized posterior shapes, and torch.compile full-graph execution