Repository navigation
tools/paradee: memory-map the F32 GGUF; record the F16 and v1.1 evaluation - #85
Merged
Merged
Conversation
…ation paradee_load_model read the whole GGUF into private memory (32 MB that stays resident while the voice is loaded). An all-F32 file, the converter's default and the pinned one, is now mapped read-only and the layers read the weights in place; PARADEE_USE_MMAP=0 restores the read. Other files are still read and widened. Output is byte-identical; on a 4 GB TB336FU peak private memory for a 19.8 s utterance drops from 202 MB to 170 MB. README: F16 halves the file but fails the parity gate (the BERT and F0 predictor carry the error), changes a duration in 1 of 40 sentences, is no faster, and costs more RAM because it is widened at load; WER is unchanged. Paradee-8M v1.1 replaces the generator with a new frame-rate head, which this runtime cannot load; its upstream ONNX graph is ~5x faster than v1.0's with the same WER. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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.
What
paradee_load_modelmemory-maps an all-F32 GGUF.PARADEE_USE_MMAP=0restores the read. Non-F32 files are still read and widened, and Windows falls back to the read.--outtype f16and of Paradee-8M v1.1 that was asked for, with the numbers below.Mapping: evidence
test-paradee-parityagainst a fresh reference dump (pinned torch 2.14.0 / kokoro 0.9.4 / misaki 0.9.4, paradee9c8b4d75): OK, mapped and read.cmp, all 5 sentences).test-paradee-api(mapped, read, and an F16 file through the widening path),test-paradee-phase-lock, andeliza-inference-test-paradee-asr(558 checks).paradee-ttson 19.8 s of speech, two runs each:PARADEE_USE_MMAP=0(old behaviour)F16: keep F32
Pinned v1.0 GGUF, this directory's parity test, and 40 more sentences (20 assistant prompts and 20 Harvard sentences):
tools/misaki-g2p, synthesized withparadee-tts, and transcribed with Phonon-2 (tools/parakeet) and whisper.cppbase.en.--outtype f16asr/decexceed the 1e-3 × RMS stage gatecached_f16_weight, up to ~10 MB for the 3-D weights). That is where a follow-up could save memory.onnx/paradee_int8.onnx, 9.0 MB). This runtime does not use it.v1.1: needs a native port, not a pin move
sahilmahendrakar/Paradee-8M-v1.1at330617adkeeps the text side (identicaltext_side.pt) and the decoder's AdaIN trunk.training/scripts/vhead.py, paradee606e16e1): ConvNeXt blocks at 80 fps shaping the STFT of a 64-harmonic sine bank and of random noise, plus a 3 ms noise burst path.Upstream's ONNX graphs, one onnxruntime thread on the M4 Max, the same 40 sentences:
v1.1 is about 5x faster at the same WER (one word in 385 is the resolution here). Upstream reports less buzz (2–4 kHz harmonic contrast 3.9 dB vs 1.3 dB); that was not re-measured here. On the 4 GB tablet, where v1.0 runs at RTF ~0.3, a native v1.1 head is the TTS change worth doing next.
Not covered
AI-assisted change.
🤖 Generated with Claude Code