| --- |
| license: other |
| license_name: polyform-noncommercial-1.0.0 |
| license_link: https://polyformproject.org/licenses/noncommercial/1.0.0 |
| tags: |
| - reinforcement-learning |
| - unity-ml-agents |
| - onnx |
| - causal-gpt-rl |
| - pyramids |
| - pushblock |
| --- |
| |
| # Causal GPT-RL — Unity ML-Agents Policies |
|
|
| Causal GPT-RL policies trained for Unity ML-Agents environments. |
|
|
| This repository contains self-contained ONNX policies: |
|
|
| ```text |
| pyramids/pyramids-b16.onnx |
| pushblock/pushblock-b32.onnx |
| ``` |
|
|
| The graph includes observation normalization and can run with ONNX Runtime or |
| Unity Sentis without PyTorch at inference time. |
|
|
| ## Pyramids |
|
|
| ### Training data |
|
|
| This policy was trained using: |
|
|
| - `unity/pyramids/simple-v0` |
| - `unity/pyramids/medium-v0` |
|
|
| The `unity/pyramids/expert-v0` dataset was not used for training and is included |
| below only as an evaluation reference. |
|
|
| ### Evaluation |
|
|
| | Policy | Context | Batch | Observation | Action | Return | Completed | |
| |---|---:|---:|---:|---|---:|---:| |
| | `pyramids/pyramids-b16.onnx` | 32 | 16 | 172 | `Discrete(5)` | **1.7738 ± 0.1278** | **128/128** | |
|
|
| The result is the mean ± population standard deviation over 128 episodes: |
| 16 agents across eight fresh Unity launches using environment seeds `100..107`. |
|
|
| All episodes completed successfully on the matching model-removed ML-Agents |
| release-23 Pyramids build. |
|
|
| ### Dataset reference |
|
|
| | Dataset | Episodes | Mean return | Training use | |
| |---|---:|---:|---| |
| | `unity/pyramids/simple-v0` | 3,042 | 1.6256 ± 0.4154 | Used | |
| | `unity/pyramids/medium-v0` | 4,159 | 1.7432 ± 0.2601 | Used | |
| | `unity/pyramids/expert-v0` | 5,348 | 1.7953 ± 0.2661 | Not used | |
|
|
| The ONNX policy exceeds the mean returns of both training datasets. It is also |
| approximately 1.2% below the expert dataset mean, despite never being trained |
| on the expert dataset. |
|
|
| Dataset returns are sums of the recorded per-step rewards for each Minari |
| episode. |
|
|
| ### ONNX interface |
|
|
| | Input/output | Shape | |
| |---|---| |
| | `states` | `[16, 32, 172]` | |
| | `actions` | `[16, 32, 5]` | |
| | `is_bos` | `[16, 32, 1]` | |
| | `mask` | `[16, 32]` | |
| | `action` | `[16, 5]` | |
|
|
| The four observation sensors must be concatenated in this order: |
|
|
| ```text |
| 56 + 56 + 56 + 4 |
| ``` |
|
|
| `action` contains five logits. Select the environment action with `argmax`, then |
| feed its five-way one-hot representation into the next action window. Maintain |
| one independent 32-step rolling context per agent. |
|
|
| The graph uses the checkpoint's `bos_cache_mode=discard` serving convention. |
|
|
| ## PushBlock |
|
|
| | Policy | Ctx | Obs | Action | Batch | Validation | |
| |---|---:|---:|---|---:|---:| |
| | `pushblock/pushblock-b32.onnx` | 32 | 210 (`105+105`) | `Discrete(7)` | 32 | 159/160 successes (99.4%) | |
|
|
| The graph inputs are `states[32,32,210]`, `actions[32,32,7]`, |
| `is_bos[32,32,1]`, and `mask[32,32]`; output `action[32,7]` contains the |
| seven discrete-action logits. Use `argmax` per row, and feed the selected |
| action back as a 7-way one-hot vector. The Unity scene has 32 agents and a |
| decision period of 5: infer only on decision steps and repeat the selected |
| action on the four intervening physics ticks. |
|
|
| Closed-loop validation covered five Unity seeds (160 first episodes): 159 |
| successes (99.4%). A final ONNX-only run completed 32/32 episodes with return |
| `4.968 ± 0.049`. |
|
|
| This policy was trained on **expert-only trajectories**. Data affected by the |
| dataset recall was excluded and was not used to train this release. |
|
|
| ## Companion resources |
|
|
| - [Unity environment build](https://huggingface.co/datasets/ccnets/causal-gpt-rl-unity-envs) |
| - [Recorded datasets](https://huggingface.co/datasets/ccnets/causal-gpt-rl-unity-datasets) |
| - [Evaluation code](https://github.com/ccnets-team/causal-gpt-rl/tree/main/examples/unity) |
| - [Causal GPT-RL models for Gymnasium and MuJoCo](https://huggingface.co/ccnets/causal-gpt-rl) |
|
|
| ## License |
|
|
| Released under PolyForm Noncommercial License 1.0.0. See `LICENSE` for details. |
| For commercial licensing, contact the maintainers via |
| [ccnets.org](https://ccnets.org). |
|
|