Module mtp_multi

Module mtp_multi 

Source
Expand description

2026-09-25: Multi-module MTP proposer: draft slot i runs its own MtpHead (own weights and KV cache), as modules[i].forward_one(previous draft token, previous module's hidden).

Owner: model-layers (MTP head). Invariants:

  • modules is non-empty, and each state holds one MtpProposerState per module.
  • A propose runs min(num_drafts, modules.len()) modules, the first ones.

Structsยง

MultiModuleMtpHead
2026-09-25: Independent MTP modules, one per draft slot.
MultiModuleMtpState
2026-09-25: Per-sequence state for MultiModuleMtpHead: one MtpProposerState per module, since the modules do not share a KV cache.