vllm.models.step5.amd.model
¶
Step5 on ROCm: compressed sparse attention (CSA) and an FP32 residual.
Classes:
-
Step5MoE–Routed experts with the shared expert fused into one FusedMoE call, so
-
Step5SparseIndexer–MQA indexer with
heads_per_groupquery heads per KV group.
Functions:
-
use_fp32_norm_weights–The checkpoint keeps every RMSNorm weight in
norm_dtype.
Step5MoE
¶
Bases: Module
Routed experts with the shared expert fused into one FusedMoE call, so the combined output is all-reduced once in the model dtype.
Source code in vllm/models/step5/amd/model.py
Step5SparseIndexer
¶
Bases: Module
MQA indexer with heads_per_group query heads per KV group.
Q and W are sharded like the attention KV heads, so each rank computes only its own groups; the shared single-head K and Z stay replicated.
Methods:
-
forward–Returns ``(q [T, G, 8, P] fp8, k [T, 1, P], z [T, 1, P],
Source code in vllm/models/step5/amd/model.py
68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 | |
forward(hidden_states, positions, decode=None)
¶
Returns (q [T, G, 8, P] fp8, k [T, 1, P], z [T, 1, P],
w [T, G, 8]) for this rank's G local groups, heads padded to 8.
With decode=(summary cache, ring, slots) it also stores each
token's open-region row and summarizes the regions it closes.
Source code in vllm/models/step5/amd/model.py
use_fp32_norm_weights(module, config)
¶
The checkpoint keeps every RMSNorm weight in norm_dtype.