Qwen3-ASR decoder_init, last-position logits
Patched decoder_init.int4.onnx prefill graphs from
andrewleech/qwen3-asr-0.6b-onnx and
andrewleech/qwen3-asr-1.7b-onnx:
a Slice on the final residual stream before the last RMSNorm, so the lm_head runs on the
last position only and logits comes out [batch, 1, 151936] instead of [batch, seq_len, 151936].
For a 30 s chunk (~420 prompt positions) this removes a ~246 MB logits readback plus the
lm_head matmul over every non-final position — prefill-only greedy decoding never reads the
other rows. present_keys / present_values are untouched and bit-identical to the originals,
as are the last-position logits (verified with onnxruntime 1.29 CPU against the int4 weights).
Use with the original repos' decoder_weights.int4.data (referenced by name — pass it via
externalData), decoder_step.int4.onnx, encoder.int4.onnx, embed_tokens.bin, and
tokenizer.json. Patched for the YAAR transcribe app.