-
Notifications
You must be signed in to change notification settings - Fork 5
Simplify composite ONNX GenAI metadata #478
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
justinchuby
merged 152 commits into
main
from
justinchuby/simplify-composite-metadata-producer
Aug 21, 2026
Merged
Changes from all commits
Commits
Show all changes
152 commits
Select commit
Hold shift + click to select a range
83c2938
Simplify composite inference metadata
justinchuby 7f58445
Add reusable ONNX generation policy components
justinchuby ffc1b04
Align policy components with workflow contract
justinchuby d2e0810
Migrate masked diffusion metadata to SSA workflow
justinchuby 6d265cc
Migrate codec metadata to typed workflow SSA
justinchuby 66ab136
Resolve combined workflow migration tests
justinchuby 5b6a3ff
Fix workflow sampling and loop correctness
justinchuby 144dcfa
Make generation workflows request executable
justinchuby 99820aa
Migrate diffusion metadata to workflow SSA
justinchuby ba813b9
Migrate multimodal metadata to workflow SSA
justinchuby 62114b1
Add nested TTS workflow generation
justinchuby 3a40b0b
Add speculative workflow branch joins
justinchuby 56e76f5
Validate migrated workflows and Muse metadata
justinchuby 69153d5
Fix workflow policy artifact and solver execution
justinchuby b69bbfa
Carry normalized decoder logits through workflows
justinchuby 8a77aee
Add speculative accepted-state rollback policies
justinchuby 13b9954
Migrate Qwen3 TTS to real nested workflow
justinchuby 3de8157
Emit typed SSA image preprocessing programs
justinchuby c6fa8fd
Complete speculative prefix rollback workflow
justinchuby 7fdfe86
Harden workflow export contracts
justinchuby e464ed9
Add grammar and adaptive proposal policy components
justinchuby 91bc6c2
Migrate workflows to versioned guidance contracts
justinchuby 7279dff
Simplify public workflow metadata
justinchuby ceabcae
Parameterize workflow token sampling
justinchuby 61e3fa7
Add capture-friendly min-p sampling
justinchuby 50a2144
Gate workflow performance against native
justinchuby 045f20a
Make policy contracts data driven
justinchuby a201acd
Use lexical workflow loop iteration
justinchuby d880482
Align workflows with ONNX GenAI serving contracts
justinchuby 7c6a201
Add KV service contracts to nested TTS
justinchuby 5169a15
Check in ONNX GenAI workflow fixtures
justinchuby 1b66dcc
Bound speculative grammar forced-token emits
justinchuby f20885b
Execute every ONNX GenAI workflow fixture
justinchuby 7420d76
Stabilize TTS fixtures across serializer versions
justinchuby b7f9936
Fix component symbolic shape isolation
justinchuby 532b83d
Support reduced-precision decoder logits policies
justinchuby 37bba25
Add paired real Muse H200 benchmark harness
justinchuby b4ab3bc
Guard metadata against tiny config leakage
justinchuby 632ab91
Derive KV storage mode from model ABI
justinchuby 7f017bc
Emit capture-stable decoder workflow state
justinchuby dc3f362
Add executable text-only VLM branch
justinchuby afa6541
Refresh capture-stable workflow fixtures
justinchuby 9d781d8
Fix shared-buffer cache recurrence metadata
justinchuby e93d68e
Make VLM media presence explicit
justinchuby 3934de7
Derive generation constants from package metadata
justinchuby 32d1c46
Mark autoregressive EOS loop termination
justinchuby f22c9df
Pin exact Muse benchmark prompt tokens
justinchuby b30e4db
Verify native Muse prompt identity
justinchuby 8c936d6
Pin paired Muse attention kernel
justinchuby 30cc0fe
Validate current workflow termination contract
justinchuby 6d51fa4
Derive dynamic KV storage from decoder ABI
justinchuby b6ba874
Compare workflow fixtures semantically
justinchuby abe1797
Normalize ONNX SSA names in fixture checks
justinchuby 53cce3b
Ignore serializer value wiring in fixture checks
justinchuby 6dd733c
Limit fixture checks to stable ONNX semantics
justinchuby 09071ed
Compare canonical ONNX tensor contents
justinchuby 30454a3
Pin executable Muse workflow profiler
justinchuby 92099e8
Restore logical shared-buffer KV contracts
justinchuby 87cf626
Clarify runtime shared KV binding contract
justinchuby 8932134
Separate Muse prefill and decode mask shapes
justinchuby 1436b49
Use one persistent Muse attention mask
justinchuby 448952f
Enforce fixed-count Muse benchmark semantics
justinchuby 16dff43
Verify paired benchmark runtime identity
justinchuby b4108e5
Record paired benchmark runner identity
justinchuby 49dd6c6
Pin exact prompt-ID runtime head
justinchuby 9f58c2b
Format persistent-mask workflow changes
justinchuby cf14bd8
Run workflow conformance on ORT 1.28
justinchuby 1b81572
Pin image-enabled workflow runtime
justinchuby 2c0580a
Require CUDA Graph in paired workflow runs
justinchuby 8a9aa99
Refresh persistent-mask workflow fixtures
justinchuby daedfed
Manifest dirty benchmark runtimes
justinchuby a6ac2d7
Record clean Muse release diagnostics
justinchuby 50129f2
Pin measured Muse producer artifacts
justinchuby 80a5ae8
Record SHA-named Muse release rerun
justinchuby 1e103e2
Record exact prompt-ID release evidence
justinchuby 6c22eb4
Pin landed CUDA bridge runtime
justinchuby 7f66a6c
Pin dirty bridge evidence manifest
justinchuby 3fdbb18
Enforce 0.99x Muse release gate
justinchuby 130e393
Add heterogeneous batched generation policies
justinchuby c3028e0
Upgrade batched generation policy contracts to v2
justinchuby c34cde4
Bind row-wise emits to semantic request identities
justinchuby 8784ad4
Validate workflows against semantic row runtime
justinchuby 509c049
Expose row-output conformance errors
justinchuby bdc10f0
Exercise explicit batched policy controls
justinchuby f597878
Bind row emits to carried serving slots
justinchuby 6b9bb7b
Match the exact batched policy v2 ABI
justinchuby 96580bb
Lock exact batched policy bindings
justinchuby 28f8129
Require complete diffusion workflow packages
justinchuby faf8686
Assert batched policy super-island admission
justinchuby 00202cd
Declare coordinated row compaction semantics
justinchuby 8175780
Enable nested TTS row compaction
justinchuby 3dc1f96
Exercise nested TTS batch compaction
justinchuby 7abe416
Add generic runtime adapter artifact model
justinchuby 33c9929
Fix adapter framework lint diagnostics
justinchuby 8f1efca
Align adapter groundwork with native LoRA contracts
justinchuby 20f8df1
Validate adapter target parameter consumption
justinchuby 7fdd437
Emit generic parameter adapter workflow artifacts
justinchuby d25779a
Fix adapter metadata lint findings
justinchuby f728255
Resolve remaining adapter lint checks
justinchuby d6e48f1
Pin finalized adapter runtime contract
justinchuby 7809f21
Enforce final adapter selection contract
justinchuby 5c9841a
Freeze generic adapter wire ABI
justinchuby 08ce7ae
Integrate canonical LoRA adapter metadata ABI
justinchuby 53e1271
Freeze final LoRA adapter producer ABI
justinchuby 32eaca6
Align adapter targets with published ABI
justinchuby fa868ce
Test heterogeneous PEFT binding overrides
justinchuby 219f77e
Pin executable heterogeneous adapter regression
justinchuby 2a46e92
Express encoder-conditioned decode loops and align serving with the r…
justinchuby 16c93ed
Fix Gemma 4 text-only export and prefill-prefix pruning on the Attent…
justinchuby e83a1df
Declare Gemma 4's heterogeneous KV cache geometry in workflow metadata
justinchuby 9e1e5b3
Derive KV storage, ship chat templates, and drop vestigial row identity
JustinChu 87accf7
Declare Whisper audio preprocessing in speech-to-text workflow metadata
justinchuby 7616c08
Fix Wav2Vec2 CTC correctness and represent it end-to-end in inference…
justinchuby d93abcd
Make diffusion component exports faithful to their schedulers
justinchuby 904495f
Produce a diffusion workflow that a runtime can actually execute
justinchuby 6743366
Make the Qwen Image VAE exportable and loadable in bfloat16
justinchuby c6acf9f
Add flow-matching image-edit policy components
justinchuby 26ba902
Emit executable onnx-genai metadata for image-edit pipelines
justinchuby 228a2d7
Free the CogVideoX denoiser from its baked frame count and resolution
Copilot d23245e
Add a faithful CogVideoX causal 3D VAE decoder with conv-cache chunking
Copilot e58d35b
Produce video diffusion workflow metadata with temporal state
Copilot 2dc969c
Shape generation positions for decoders with multi-axis rotary embedd…
justinchuby 6b4511e
Add full-duplex speech-to-speech workflow metadata producer
justinchuby df4b6f5
Reconcile the E2E metadata producers after the rebase onto main
justinchuby d5353d3
Refresh the artifacts the integrated producers now emit
justinchuby 8c38757
Execute the integrated workflows against their coordinated runtime
justinchuby 5a37fe4
Describe fixed-capacity and FP8 KV caches instead of refusing to
justinchuby ac540b5
Format the static cache metadata tests
justinchuby ed73edb
Pin the runtime that accepts a port ABI beside a workflow
justinchuby e2f736f
Make the workflow the only place a package describes itself
justinchuby d8da245
Declare a role for every component a task builds
justinchuby c7e453a
Pin GenAI validation to the branch head, not an ancestor of it
justinchuby 16fd082
Cover the cache layer annotation where it can actually be wrong
justinchuby c3dfeca
Pin GenAI validation to the workflow-derived scatter proof
justinchuby 564af03
Re-pin GenAI validation after the upstream branch was rebased
justinchuby a02bf94
Re-pin GenAI validation after a second upstream rebase
justinchuby 9694953
Stop transcribing an exported graph into its own workflow component
justinchuby e9bd70f
Pin the ONNX GenAI head rather than an ancestor of it
justinchuby 10cd48f
Re-verify the canonical packages against a stricter package loader
justinchuby 2a7bace
Require a sequence role wherever a fixed-capacity cache is bound
justinchuby 76f158b
Stop committing generated fixture graphs; drop the last model.io prod…
justinchuby 43ef64a
Restore revision threading lost to the rebase onto GLM-ASR and LFM2.5-VL
justinchuby fe1829d
Repin ONNX GenAI: the pinned commit was orphaned by a rebase
justinchuby 9390138
Repin ONNX GenAI again and stop the regenerated tree from being commi…
justinchuby 894527d
Anchor the ONNX GenAI pin against rebases instead of chasing it
justinchuby dd9eaaa
Repin ONNX GenAI onto the rebased head, and move the anchor with it
justinchuby 00c748d
Give encoder embeddings their own workflow metadata, and add ESM-2
justinchuby ab343c3
Align metadata producer with final workflow schema
justinchuby 6007c04
Merge origin/main into metadata producer
justinchuby 6429957
Stop duplicating workflow version and ONNX opsets
justinchuby 2c8ae52
Update canonical workflow metadata design
justinchuby 1219f0b
Pin final metadata design revision
justinchuby File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,36 @@ | ||
| # Muse workflow benchmark | ||
|
|
||
| `muse_workflow_h200.json` is the shared workload for a paired native and | ||
| metadata-workflow benchmark of the published Muse Glimmer INT4 package. Both | ||
| paths use the exact 68 token IDs in `muse_prompt_ids.json`, greedy parameters, | ||
| token budget, warmups, and steady-decode window. Passing token IDs avoids a | ||
| tokenizer adding another beginning-of-text token to the already rendered prompt. | ||
| Both runners set `ORT_ENABLE_CUDNN_FLASH_ATTENTION=0`; this matches the native | ||
| baseline and avoids comparing different GQA attention kernels. | ||
| `request_max_length` is prompt tokens plus new tokens (68 + 128 = 196); | ||
| `model_max_context` is the independent 131072-token artifact admission ceiling. | ||
| For the text-only VLM path, omit `request.image`. The runtime initializes | ||
| `request.image_present=false`, and the false branch supplies empty image features. | ||
|
|
||
| Run the native ORT GenAI path: | ||
|
|
||
| ```bash | ||
| python scripts/benchmark_muse_native.py \ | ||
| --model artifacts/muse-int4-package \ | ||
| --output artifacts/muse-int4-package/native-benchmark.json | ||
| ``` | ||
|
|
||
| Run the ONNX GenAI workflow path with the `profile_native` binary built from | ||
| the schema/runtime revision named in the JSON config: | ||
|
|
||
| ```bash | ||
| python scripts/benchmark_muse_workflow.py \ | ||
| --model artifacts/muse-int4-package \ | ||
| --runner path/to/profile_native \ | ||
| --output artifacts/muse-int4-package/workflow-benchmark.json | ||
| ``` | ||
|
|
||
| The workflow runner must support `--pipeline --backend ort --ep cuda`, | ||
| `--prompt-ids`, and an optional `--image` request binding. The text-only workload | ||
| intentionally leaves the image unset so results remain comparable to the | ||
| published 61.76 tok/s baseline. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,58 @@ | ||
| { | ||
| "kind": "workflow_release_diagnostic", | ||
| "producer_commit": "80acfc069f0959f9e6580785fad3172bcc4cc0aa", | ||
| "runtime_source_head": "568457045ea003e787816995a380bcd9d7443169", | ||
| "runner_sha256": "fad10c7c8735c56e42acdfc092c4c6c327090c50de823efc45d4f3309b2d4aa9", | ||
| "overlay_manifest_sha256": "fd77589ffb9333d69efe78909b7f4a489da1071a35affb49b243e87a76330c6a", | ||
| "metadata_sha256": "8727cb6ab44ff65a4e74b6281c5af9eadba336483f5fa1e6033996c3b99fcced", | ||
| "decoder_state_initializer_sha256": "77e4eae0e35cc618214476e0776af3c1b7930862924f431edb62724cadb97af7", | ||
| "workload": { | ||
| "prompt_tokens": 68, | ||
| "generated_tokens": 128, | ||
| "warmups": 1, | ||
| "runs": 3, | ||
| "decode_skip": 8, | ||
| "stop_on_eos": false, | ||
| "image": null | ||
| }, | ||
| "metrics": { | ||
| "ttft_ms": 67.512, | ||
| "decode_ms_per_token": 29.168, | ||
| "throughput_tok_s": 34.28, | ||
| "native_ttft_ms": 49.02172100264579, | ||
| "native_throughput_tok_s": 63.36527373646786, | ||
| "throughput_ratio": 0.5409903244885887 | ||
| }, | ||
| "diagnostics": { | ||
| "captures": 1, | ||
| "replays": 510, | ||
| "synchronizations": 2580, | ||
| "h2d_calls": 1556, | ||
| "h2d_bytes": 413802656, | ||
| "d2h_calls": 512, | ||
| "d2h_bytes": 4096, | ||
| "d2d_calls": 3068, | ||
| "d2d_bytes": 17376, | ||
| "island_elapsed_ms": 2974.922 | ||
| }, | ||
| "token_parity": { | ||
| "exact": false, | ||
| "first_difference": { | ||
| "index": 38, | ||
| "runtime": 4243, | ||
| "native": 33386 | ||
| }, | ||
| "runtime_count": 128, | ||
| "native_count": 128 | ||
| }, | ||
| "gate": { | ||
| "required_throughput_ratio": 0.99, | ||
| "correctness": false, | ||
| "paired_performance": false, | ||
| "upload_allowed": false | ||
| }, | ||
| "notes": [ | ||
| "The decoder remained outside the captured policy island.", | ||
| "This exact prompt-ID runtime still materialized decoder logits through host memory." | ||
| ] | ||
| } |
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Remove or made separate