bench: add Pocket TTS, DeepFilterNet3 and DTLN to the CI bench suite#2449
Draft
czoli1976 wants to merge 2 commits into
Draft
bench: add Pocket TTS, DeepFilterNet3 and DTLN to the CI bench suite#2449czoli1976 wants to merge 2 commits into
czoli1976 wants to merge 2 commits into
Conversation
…eaming decode step and 25-token prefill on the shape-static graph, one flow-net Euler step, and a 12-frame Mimi decoder chunk. Covers ONNX KV-cache streaming decode (ScatterND cache writes, full-window masked attention), a shape absent from the suite. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…me) and DTLN (both LSTM stages, one 8 ms frame with external state) to the bench suite. Small CPU speech-enhancement workloads: sub-100 us LSTM frames and depthwise-conv-heavy decoders, complementing the KV-cache decode entries. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
5fe783b to
57e7ca7
Compare
Contributor
Author
|
@kali - do you think you can add these ? It is draft as would need you to add them to the S3 Bucket |
Collaborator
|
I think so, yes. Let's park it for a while (a week or so), I'm in the middle of moving out of s3 for the model zoo. |
Contributor
Author
|
NAS?
Best Regards
Ckristian Zoli
Email: ***@***.***
…On Mon, 6 Jul 2026 at 12:36 Mathieu Poumeyrol ***@***.***> wrote:
*kali* left a comment (sonos/tract#2449)
<#2449 (comment)>
I think so, yes. Let's park it for a while (a week or so), I'm in the
middle of moving out of s3 for the model zoo.
—
Reply to this email directly, view it on GitHub
<#2449?email_source=notifications&email_token=APL2Z6WKWN3US3BD2TD2BND5DOFL3A5CNFSNUABFM5UWIORPF5TWS5BNNB2WEL2JONZXKZKDN5WW2ZLOOQXTIOBZGIZTEMBTGAYKM4TFMFZW63VGMF2XI2DPOKSWK5TFNZ2KYZTPN52GK4S7MNWGSY3L#issuecomment-4892320300>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/APL2Z6RA5XQKAOGWRJC5YCD5DOFL3AVCNFSNUABEKJSXA33TNF2G64TZHM4TSNJWGEZDCMZ3JFZXG5LFHM2DQMJXGY4TKOJRHGQXMAQ>
.
Triage notifications, keep track of coding agent tasks and review pull
requests on the go with GitHub Mobile for iOS
<https://github.com/notifications/mobile/ios/APL2Z6TRFA3LQRPZBHYHRRT5DOFL3A5CNFSNUABFM5UWIORPF5TWS5BNNB2WEL2JONZXKZKDN5WW2ZLOOQXTIOBZGIZTEMBTGAYKM4TFMFZW63VGMF2XI2DPOKSWK5TFNZ2KUZTPN52GK4S7NFXXG>
and Android
<https://github.com/notifications/mobile/android/APL2Z6WGYBLEQY2A3CQDTWL5DOFL3A5CNFSNUABFM5UWIORPF5TWS5BNNB2WEL2JONZXKZKDN5WW2ZLOOQXTIOBZGIZTEMBTGAYKM4TFMFZW63VGMF2XI2DPOKSWK5TFNZ2K4ZTPN52GK4S7MFXGI4TPNFSA>.
Download it today!
You are receiving this because you authored the thread.Message ID:
***@***.***>
|
Collaborator
|
I honestly considered it, with the right caching, the CI would probably be fine. R2 is the current contender. |
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Adds three CPU speech workloads to the bench suite.
Pocket TTS (Kyutai, 100M-param CPU TTS): the flow-LM streaming decode step (one 80 ms frame) and 25-token prefill, one Euler step of the latent flow net, and a 12-frame Mimi decoder chunk. This is an ONNX KV-cache streaming decode workload — ScatterND cache writes, full-window masked attention, per-frame GEMV — a shape the suite doesn't cover today, and precisely the path exercised by #2446/#2448.
flow_lm_flow.onnxandmimi_decoder.onnxare unmodified from the community ONNX export (KevinAHM/pocket-tts-onnx, weights CC-BY-4.0 from kyutai/pocket-tts);flow_lm_main_static.onnxis that export's flow LM with its runtime-stepcache slicing rewritten shape-static (arange-table slices →Range(0,s)+step; window reads → full-window, the causal mask is a key-pos≤query-pos compare so out-of-window keys self-mask). The rewrite is validated against onnxruntime on the original graph to ≤2e-6 across (step, seq, text) combinations, and a full tract generation pipeline built on these graphs produces audio matching onnxruntime (corr 0.99999). Random-input note:--allow-random-inputcasts the random f32[0,1)to 0 for the i64step/offset states — a valid stream position — and the graphs are full-window, so compute is position-independent. M-series reference: decode 22.5 ms, prefill25 84.5 ms, flow 1.0 ms, mimi chunk12 136 ms.DeepFilterNet3 (Rikorose/DeepFilterNet, MIT/Apache-2.0): the three streaming submodels (encoder, ERB-mask decoder, deep-filter decoder), symbolic time pinned at export to 100 frames = 1 s of audio at the 10 ms hop. Depthwise-conv + GRU heavy. M-series reference: 7.6 / 7.3 / 6.7 ms.
DTLN (breizhn/DTLN, MIT): both LSTM stages of the dual-signal denoiser, one 8 ms frame per call with LSTM state threaded through graph I/O — the external-state pattern of issue #2157. model_2's free batch dim on outputs is pinned to 1 (tf2onnx export artifact; tract rejects the unpinned graph). M-series reference: 38 / 67 µs per frame.
Needs from a maintainer: mirror the model bundles to the S3 bucket. Archives ready to hand over — I can stage them as release assets on my fork or anywhere convenient:
Until they're mirrored, the Bench run on this PR will 404 on the fetch — happy to keep this as draft until then. (#2446, which the shape-static flow-LM graph needs to load, and #2448, which the Pocket TTS ScatterND cache writes exercise, are both merged.)
All nine entries validated end-to-end through
tract bench-suite --manifest .travis/benches.tomlagainst a pre-populated cache (66 metrics emitted).🍍
🤖 Generated with Claude Code