H100 has the compute budget — 200 epochs with cosine decay gives the model full room to learn through C51 transition and converge. Early stopping can't fire before epoch 100. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
79 lines
1.5 KiB
TOML
79 lines
1.5 KiB
TOML
# DQN Production Training Profile — H100 80GB
|
|
# Full Rainbow DQN: branching + distributional + dueling + double + PER + noisy nets + CQL
|
|
#
|
|
# Mixed-precision (NVIDIA AMP pattern):
|
|
# - f32 master weights, Adam moments, gradients, loss accumulators
|
|
# - bf16 shadow copies for cuBLAS GemmEx tensor core GEMM
|
|
# - Cosine LR decay: 1e-4 → 1e-5 over 100 epochs
|
|
|
|
[training]
|
|
epochs = 200
|
|
batch_size = 1024
|
|
learning_rate = 0.0001
|
|
gamma = 0.99
|
|
weight_decay = 0.0001
|
|
adam_epsilon = 1e-8
|
|
warmup_steps = 0
|
|
hidden_dim_base = 256
|
|
max_steps_per_epoch = 2000
|
|
reward_scale = 1.0
|
|
huber_delta = 1.0
|
|
lr_decay_type = 2
|
|
lr_min = 0.00001
|
|
|
|
[distributional]
|
|
num_atoms = 51
|
|
|
|
[exploration]
|
|
epsilon_start = 1.0
|
|
epsilon_end = 0.01
|
|
epsilon_decay = 0.995
|
|
noisy_sigma_init = 0.3
|
|
entropy_coefficient = 0.001
|
|
count_bonus_coefficient = 0.1
|
|
q_gap_threshold = 0.05
|
|
|
|
[replay_buffer]
|
|
buffer_size = 500000
|
|
min_replay_size = 1000
|
|
per_alpha = 0.6
|
|
per_beta_start = 0.4
|
|
|
|
[early_stopping]
|
|
enabled = true
|
|
patience = 20
|
|
min_epochs_before_stopping = 100
|
|
|
|
[experience]
|
|
initial_capital = 100000.0
|
|
tx_cost_multiplier = 0.0001
|
|
min_hold_bars = 5
|
|
|
|
[experience.fill_simulation]
|
|
ioc_fill_prob = 0.85
|
|
limit_fill_min = 0.30
|
|
limit_fill_max = 0.80
|
|
spread_cost_frac = 0.50
|
|
spread_capture_frac = 0.50
|
|
|
|
[risk]
|
|
max_position = 2.0
|
|
loss_aversion = 1.5
|
|
q_clip_min = -50.0
|
|
q_clip_max = 50.0
|
|
|
|
[advanced]
|
|
n_steps = 3
|
|
tau = 0.005
|
|
c51_warmup_epochs = 5
|
|
her_ratio = 0.2
|
|
cql_alpha = 0.1
|
|
curiosity_weight = 0.1
|
|
iqn_lambda = 0.25
|
|
spectral_norm_sigma_max = 1.5
|
|
gradient_clip_norm = 1.0
|
|
|
|
[reward]
|
|
loss_aversion = 1.5
|
|
q_gap_threshold = 0.1
|