Repository navigation
Pin the full model to TensorFold v1.1.9 with no patches - #31
Closed
plotarmordev wants to merge 1 commit into
Closed
plotarmordev wants to merge 1 commit into
plotarmordev wants to merge 1 commit into
Conversation
TensorFold v1.1.9 (465e48b6) carries every full-model patch I shipped: 0001-0011 since v1.1.4, the reference-prefill reuse (0012, a06a4dff) since v1.1.5 and the request sampling controls (0013/0014, #1277) since v1.1.6. It also has the slot-release fix (7e43ebeab, #1438) since v1.1.8. 0013 and 0014 no longer apply to v1.1.9 because their files are already there; the patched speech_sampling sources differ from v1.1.9 only by upstream's +0 temperature fix (4a556244). - engine/UPSTREAM moves to v1.1.9; engine/patches keeps an empty SHA256SUMS that declares the empty series. - scripts/build-engine.sh accepts an empty series only through an empty manifest; a missing manifest or a listed-but-absent patch still fails before checkout. A new build test covers both. - The Linux pilot sets TF_DRAMA_PREFILL_ROWS=128 for full and custom checkpoints, because upstream defaults to single-row prefill and the old patch 0001 turned batched prefill on. - README, patch README, CONTRIBUTING, NOTICE, macOS and sampling docs and CHANGELOG describe the new pin and its two behaviour differences.
5 of 6 tasks
Owner
Author
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.
Description and motivation
I move the full-model engine pin from TensorFold
d1018b31to v1.1.9 (465e48b6). The full-model patch series is now empty. v1.1.9 already includes every patch I carried:a06a4dff, #1237e19b8073,90082556)v1.1.9 also includes the slot-release fix (
7e43ebeab, #1438), which shipped in v1.1.8. So this bump needs no local patch for it.Patch check against v1.1.9: 0013 and 0014 no longer apply with
git am, because the files they add (docs/speech-sampling.md,zig/src/server/speech_sampling*.zig) already exist there. I applied 0001–0014 tod1018b31and compared the result with v1.1.9:docs/speech-sampling.mdis identical.speech_sampling.zigand its test differ only by upstream's later fix4a556244, which sends a temperature of-0/-1e-400to the sampler as+0.zig/src/server/root.zigregisters both test files.The same is true for the dialogue-speaker patch proposed as full-model
0015in #28: v1.1.9 already ships it (#1278), so it would not apply on this pin either.What changes:
engine/UPSTREAMnow pins v1.1.9. The 14 full-model patches are removed.engine/patches/SHA256SUMSstays as an empty file, which declares the empty series.scripts/build-engine.shaccepts an empty series, but only when the manifest is present and empty. A missing manifest still fails before checkout, and so does a manifest that lists a patch that is not there. A new model-free build test covers both cases.recipe/pilot.pypassesTF_DRAMA_PREFILL_ROWS=128for full and custom checkpoints on the Linux native backend. Upstream defaults to single-row prefill, and old patch 0001 turned batched prefill on. NVFP4 and the sglang backend are unchanged.engine/patches/README.md, CONTRIBUTING, NOTICE, the macOS and sampling docs and CHANGELOG now describe the new pin. They also name its two behaviour differences:X-Silence-Mid-Tripsnow counts only the returned take. This has been true since v1.1.4 and is unchanged through v1.1.9.-0temperature sign fix above.The NVFP4 pins (CUDA and Metal) and their patch series are untouched.
This replaces the earlier 1.1.4 bump branch, which I will not merge.
Testing
CPU only. I built and tested on a GB10 host, without using its GPU.
ZIG=zig-0.17.0 NVCC=/usr/local/cuda/bin/nvcc JOBS=4 scripts/build-engine.sh --weights full <dir>:maindb6ba7da:d1018b31 + 14 patches = e0f55c97. Exit 0 in 3:46.tensorfold-nativesha25693fc4ca1…d249, reports version 1.1.1.cb958306:465e48b6 + 0 patches = 465e48b6. Exit 0 in 4:32.tensorfold-nativesha256ca64be09…9c89b,drama3-generatesha25632bbb744…6027, reports version 1.1.9.serve --helplists the guard flags the recipe uses.--voices,--allowed-controlsand--max-framesdon't appear in the help text on A or B; I found them in v1.1.9'szig/src/server/cli.zig.python3 -m unittest discover -s recipe -p 'test_*.py': 48 tests OK. The 15 skips are the explicit macOS subprocess smoke tests.main'sscripts/build-engine.sh(1 failure) and passes with this change.python3 bench/stream_check.py --self-test: passed.bash -n scripts/build-engine.sh: OK.zig build test -Dnvcc=/usr/local/cuda/bin/nvccin the v1.1.9 engine tree: exit 0 in 9:23. The test output includes expected-failure lines from negative cases. The build host exposed no CUDA device, so this covers host-side tests only.Not run yet: GPU A/B. I will compare
main(A) with this branch (B) using the guard pilot: builtin and catalog probes, 24 + 24 items, checked item by item against A, plus sequential drives at 0 and 200 ms gaps on B. It runs only when the GPU is free. I will add its result here. Until then this pull request has no audio-identity or qualification evidence. Byte identity with A is not guaranteed: upstream changed the engine betweend1018b31and v1.1.9, and the A/B will show how much.Performance or quality claim
None.
Checklist
SHA256SUMSandengine/patches/README.mdupdated (series emptied; manifest kept empty)scripts/build-engine.shapplies the whole series and builds from a clean checkoutcompare_gate.pyreports"identical": trueandstream_check.pypasses; where it changes on purpose, the qualification gates are reported before and after (pending the GPU A/B)