Views
No views yet
⚠️ OUTDATED — Superseded by both the modern v2 pretrained model AND the Stage C standalone DT.This is the legacy 8×384 pretrained model. It was superseded bymrvictoru/energydecision-dt-v2(8×768, GQA, RMSNorm, weight-tying), which in turn was superseded by the Stage C standalone DT — a transformer distilled from an honest SDP-planning teacher that beats PPO on all 4 identity surfaces and passes the impact gate:
Surface Stage C DT v2 pretrained (8×768) This model (8×384) PPO Standard Oct $11,573 $4,991 $2,678 $2,353 Dispatch-matched $35,320 $10,138 $8,242* $22,530 Expanded broad-2024 $34,761 $4,596 $2,459 $19,504 * Phase 1 GRPO result (overfit — collapses to $1,533 on standard surface).This checkpoint is retained for reproducing the legacy study only. The shipped model ismodels/aemo/dt/aemo_dt_sdp_jtsoc_fullcorpus.pt.
DecisionTransformer(
(embed_return): Linear(1 -> 384)
(embed_state): Linear(18 -> 384)
(embed_action): Linear(9 -> 384)
(embed_timestep): Embedding(100000 -> 384)
(blocks): 8x TransformerBlock(
(ln1): RMSNorm(384)
(attn): MultiheadAttention(384, 8 heads)
(ln2): RMSNorm(384)
(ffn): SwiGLU(384 -> 1536 -> 384)
(dropout): Dropout(p=0.15)
)
(ln_f): RMSNorm(384)
(predict_action): Linear(384 -> 384) -> GELU -> Linear(384 -> 9) -> Tanh
(predict_state): Linear(384 -> 18)
(predict_return): Linear(384 -> 1)
)| Parameter | Value |
|---|---|
| Blocks | 8 |
| Hidden dim | 384 |
| Attention heads | 8 |
| Context length | 180 |
| Dropout | 0.15 |
| State dim | 18 |
| Action dim | 9 |
| Discount factor | 0.95 |
| Return scale | 2.0 |
rtg_value=0.5. This is the inverse of the modern v2 model (which peaks at 0.0).1import torch
2from huggingface_hub import hf_hub_download
3from decision_transformer import DecisionTransformer
4
5model_kwargs = {
6 "state_dim": 18, "act_dim": 9, "n_block": 8,
7 "h_dim": 384, "context_len": 180, "n_heads": 8,
8 "drop_p": 0.15, "max_timestep": 100000,
9}
10
11model_path = hf_hub_download("mrvictoru/energydecision-dt", "aemo_dt_fcas_model.pt")
12model = DecisionTransformer(**model_kwargs)
13model.load_from_checkpoint(model_path)
14model.eval()1@misc{energydecision-dt,
2 author = {Victor U},
3 title = {EnergyDecision-DT: Decision Transformer for AEMO FCAS Battery Trading},
4 year = {2026},
5 publisher = {HuggingFace},
6 howpublished = {\url{https://huggingface.co/mrvictoru/energydecision-dt}},
7}