Skip to content

Add opt-in encoder-decoder framework modules - #551

Merged
0xShug0 merged 1 commit into
mainfrom
feature/framework-encoder-decoder-modules
Sep 15, 2026
Merged

0xShug0 merged 1 commit into
mainfrom
feature/framework-encoder-decoder-modules

Conversation

@0xShug0

@0xShug0 0xShug0 commented Sep 15, 2026

Copy link
Copy Markdown
Owner

Summary

Extract the reusable encoder-decoder framework additions onto current main, without bringing in model implementations or registrations.

  • Add depthwise convolutional subsampling with optional masks at each downsampling stage.
  • Add a shared channel-affine weight type and BatchNorm evaluation weight binding.
  • Add opt-in contiguous GLU gate materialization, propagated through Conformer modules.
  • Add a ReLU feed-forward option and a cached Transformer decoder block using caller-owned KV storage and packed projections.
  • Add cached flash cross-attention with an explicit additive F16 mask, exposed through a default-off decoder-block option.

Compatibility and Scope

Existing defaults remain unchanged: GELU activation, non-materialized GLU gates, and the existing cross-attention path. Existing keep-mask, attention-prior, and attention-output APIs are retained; the flash path is a separate explicit API.

Includes focused framework unit coverage for defaults, opt-ins, stage masks, affine binding, cached decoder composition, and flash-mask contracts.

Only framework headers/sources and their unit tests are included. No model code, model specs, UI, weights, build registration, or ggml changes. The Qwen prefill/cache additions already merged into main are excluded.

@0xShug0
0xShug0 merged commit 024297b into main Sep 15, 2026
6 checks passed
@0xShug0
0xShug0 deleted the feature/framework-encoder-decoder-modules branch September 15, 2026 02:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant