Hyperparameters

alpha_sigmoid_steepness

Slope of the liquid-alpha sigmoid mapping consensus deviation to the bonds EMA rate; negative values (root only) invert the curve.

View as Markdown

alpha_sigmoid_steepness shapes the transition between alpha_low and alpha_high when liquid_alpha_enabled is on. Subnet owners tune it to make the liquid-alpha response gradual (small values) or nearly a step function (large values); validators care because it decides how much deviation from consensus is needed before their bonds start moving at the fast rate.

How it works

For each validator–miner pair, alpha_sigmoid (pallets/subtensor/src/epoch/run_epoch.rs) computes

sigmoid = 1 / (1 + e^(-(steepness / 100) × (diff − 0.5)))
alpha   = alpha_low + sigmoid × (alpha_high − alpha_low)

where diff is the pair's deviation from consensus, clamped to 0..1. The stored i16 is divided by 100, so the default 1000 gives an effective slope of 10: alpha sits near alpha_low for small deviations, crosses the midpoint at diff = 0.5, and saturates near alpha_high beyond it. Steepness near 0 flattens the curve to the midpoint of the range; very large values approximate a hard threshold at 0.5.

Negative steepness inverts the curve — consensus-aligned pairs get the fast rate — and sudo_set_alpha_sigmoid_steepness in pallets/admin-utils/src/lib.rs reserves that to root: a subnet owner passing a negative value gets NegativeSigmoidSteepness.

Liquid alpha: per-weight bonds EMA rate

Matches alpha_sigmoid in the epoch code. Deviation is weight − consensus when buying bond, bond − weight when selling. Higher alpha moves bonds faster. Requires yuma3_enabled; when liquid alpha is off, every pair uses the flat 1 − bonds_moving_avg / 1e6. The steepness slider sweeps on its own so you can watch the transition sharpen from a gentle ramp into a near step at deviation 0.5 — grab any control to stop it.

In consensus (diff = 0)

0.776

EMA rate for weights matching consensus

Max deviation (diff = 1)

0.824

EMA rate at full deviation

Flat rate when disabled

0.100

1 − 900,000 / 1,000,000

900,000 (0.900)
45,875 (0.700)
58,982 (0.900)
100 (slope 1.0; negative is root-only) — sweeping

Reading and setting

btcli sudo get --netuid N --name alpha_sigmoid_steepness

Plain integer (i16); owners may set 0 or positive values:

btcli sudo set --netuid N --name alpha_sigmoid_steepness --value 1000

alpha_low, alpha_high, liquid_alpha_enabled, yuma3_enabled