Improve GLM MTP parity and batched verify sampling - #858
Merged
Conversation
Collaborator
|
@i386 I called my guy, and he said: |
Collaborator
Author
|
@ndizazzo thanks for this |
Collaborator
Author
|
build not passing due to HF rate limits, due to different job, but previous failing job is now passing. Merging anyway. |
This was referenced Jun 18, 2026
This was referenced Jun 21, 2026
Merged
This was referenced Jul 1, 2026
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.
Summary
This PR carries the GLM-4.7 native MTP path for Skippy split serving and restores the winning two-stage MTP condition after the review cleanup regressed it.
Goal: improve Skippy two-stage GLM MTP n=1 decode tok/s toward vanilla llama.cpp zero-MTP. Decode tok/s is the hard optimization target.
Current Carried Condition
What Broke After Review
The stale post-review row showed Skippy 2-stage MTP at 29.73 tok/s, far below the previous ~40 tok/s result. The restore run found two transport/state regressions:
PredictedTokendirect-return and fail-open fallback writers dropped thepredicted_tokenssideband, so native MTP drafts disappeared (drafted=0).SKIPPY_NATIVE_MTP_DEFER_REJECT_TRIM=1, but the review cleanup had removed that behavior; reject trims then failed on stage1 withcannot trim session beyond current token count.This branch now preserves sideband tokens, accepts direct-return or fallback-lane replies, and restores the defer-reject-trim behavior for the carried winning condition.
Fresh Benchmark Table
SPEED-Bench slice:
qualitative, categoriescoding,reasoning, limit4per category (8requests total),OSL=512,temperature=0.studio54layers0..22->micstudiolayers22..48Important comparison:
41.07 / 32.72 = 1.26x.32.72 / 48.79 = 0.67x.Result Artifacts
Lab note:
Final restored result directory:
Archaeology result directories are also committed in
lab-experimentsfor the failed intermediate restore attempts:Validation
Local validation:
Lab validation:
skippy-serverbuilt and installed to/private/tmp/skippy-bin/skippy-serveronstudio54.micstudio:~/src/mesh-llm-codex/.skippy-serverbuilt and installed to/private/tmp/skippy-bin/skippy-serveronmicstudio.