Repository navigation
fix(server): support partial QKV LoRA adapters in SGLang - #849
Merged
Merged
Conversation
Contributor
Author
|
@coderabbitai review Please review this focused load-time compatibility repair, especially partial Q/K/V dimensions for grouped-query attention, preservation of full/fused QKV packing, exact version gating, and child-import hook isolation. CPU validation passed; bounded real L4 qualification is being prepared with the same value-only fixtures that exposed the failure. |
✅ Action performed
|
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.
Selecting a valid query-only, key-only, or value-only LoRA could fail on its first SGLang inference after loading had reported success. The pinned engines assume split attention adapters include query and value projections, leaving partial adapters incompatible with the packed QKV GPU buffers.
Complete absent Q/K/V factors with zeros during adapter loading, using the base attention dimensions for grouped-query attention. Keep supplied factors and native full/fused QKV packing unchanged; reject incomplete factor pairs, mixed fused/split factors, and unsupported partial shapes before inference. The existing opt-in child hook applies this only to the reviewed SGLang versions. CUDA 13 retains its native slot cleanup, and no request path changes.
Validation:
empty_model_outputterminal. Those remain end-user text errors and were separately counted, with strict prospective parser controls; they demonstrate token-level execution only.82d24949b65a9ef9f8205825eedca5359399c1f6470d1ee2c0429bd056453b27.The GPU lifecycle control explicitly disabled radix caching. An earlier pre-LoRA repeat with default radix caching produced a logprob difference and remains a separate failed control; this change makes no default-cache numerical, task-quality, or performance claim. Earlier failed and incomplete runs are retained.