Repository navigation
Support published K2-Horizon FP8 model weights in SGLang #50
Description
Public source requirements
Use the public Hugging Face artifacts below for all K2-Horizon work in this issue.
These identities define the model consumer. They do not add model bytes, runtime execution, or another owner to a source-only issue.
These requirements supersede earlier internal checkpoints, source revisions, private locators, model aliases, and conversion requirements for this campaign.
| Public source | Immutable revision | Qualification owner |
|---|---|---|
| IFM/K2-Horizon-375B-A23B-FP8 | f3d9e54cb096b5567a94feb26d87caa9f700daca |
#863 |
| IFM/K2-Horizon-MoVA-36B-A4B-FP8 | feffd71999eb06bfa2fbb8ad220059b694077457 |
#866 |
| IFM/K2-Horizon-32B-FP8 | ff78aa18915bbfd44fc9c76859500436f8d35944 |
#864 |
| IFM/K2-Horizon-7B-FP8 | 7f26f4c991cb5ba9bde7d7b409f8b6bf5784f191 |
#865 |
The source catalog and artifact cookbooks bind the accepted 2026-09-13 source epoch.
Use their exact content identities, manifests, input roles, and loader requirements.
A changed upstream head requires a separately reviewed source epoch.
A local cache or storage path is a physical input. It does not identify the model.
Earlier internal checkpoint tests, image runs, and qualification results do not qualify these public bytes.
Repeat the applicable source, engine, topology, request, and cleanup checks for each selected public identity.
Keep model bytes unchanged and outside Git. Keep admitted model inputs read-only.
Keep remote checkpoint code disabled. Use reviewed installed runtime support.
Verify the published model-weight format and tensor headers. An FP8 KV cache does not prove FP8 model-weight support.
Do not assume that the published artifact has the old internal expert-only quantization scope.
Problem and scope
SGLang needs loading support for the four published K2-Horizon FP8 artifacts.
The source catalog distinguishes compressed-tensors FP8 linear weights from the MoVA quant_method: fp8 format.
Use each pinned artifact's configuration, index, and staged tensor headers as the authority for quantization scope.
The former private expert-only checkpoint is historical evidence.
Do not assume that all public FP8 artifacts quantize only routed experts.
No private validation package is required for this public source contract.
Required behavior and acceptance
- Define separate loader capability checks for compressed-tensors FP8 and the published MoVA FP8 format.
- Detect quantization scope from typed metadata and verified staged tensor headers.
- Load all tensors and scales required by the selected published format.
- Preserve the declared dtype of every tensor outside the declared quantization scope.
- Keep support for expert-only scope when the accepted source explicitly declares it.
- Test mixed quantized and unquantized tensors and reject accidental quantization of unrelated tensors.
- Reject missing scales, incomplete expert tensors, inconsistent metadata, and unsupported formats.
- Test dense linear, routed-expert, shared-expert, and MoVA cases where the source format requires them.
- Support tensor parallelism, expert parallelism, and DeepEP when the selected model and topology require them.
- Test distributed expert ownership and shard loading.
- Reject BF16-only and FP8-KV-cache-only evidence at the FP8 model-weight gate.
- Run fresh H200 qualification for each accepted public FP8 artifact without invalid values or missing weights.
- Bind each result to exact public source, engine, image, quantization, topology, and cleanup identities.
- Publish sanitized receipt identities and outcomes. Public model names, revisions, and published tensor-format facts are permitted.
- Keep credentials, private storage paths, hosts, endpoints, and private runtime data out of public records.
Dependencies and boundaries
LLM360/sglang#49 owns native public base-model support.
LLM360/comet#847 owns Comet FP8 admission integration.
LLM360/comet#811 owns managed image qualification.
Comet #863, #864, #865, and #866 own complete service rows.
Do not change published model bytes or substitute a private quantization artifact.
Native MoVA FP8 implementation progress
The native loader change is in sgl-project/sglang PR #39509.
Signed merge commit 35dd6431ec108b721a0e00c43a00ac55e76b9e88 includes required upstream base ddd4600197a43a36962ec761af9628b78be05c69.
The four feature files and public checkpoint revision did not change.
Fork CI run 35278828188 used commit 35dd6431ec108b721a0e00c43a00ac55e76b9e88.
All 144 affected native CPU cases passed. These cases include all 114 new cases.
Required upstream checks still apply. Maintainers control upstream CI authorization.
The public MoVA FP8 configuration still lacks the necessary training router provenance.
Positive small-model tests declare synthetic provenance explicitly.
This PR does not complete the four public FP8 rows or their H200 qualification.
The acceptance items in this issue stay open.
Native FP8 source progress
This progress section can change when new evidence is accepted.
The public source requirements and all acceptance items above stay unchanged.
| Native source | Signed PR head | Accepted CPU result |
|---|---|---|
| Dense FP8, PR #52 | 3d6db36e46f5f15643a642e92f97ef2fb750a56a |
Six cases passed at this head. |
| Standard-MoE FP8, PR #53 | a4060a6e0e0627c14ae4246f171ed403c39570eb |
22 cases passed at 2e102a72abe31f3e47ace517d11f26524a3c7752. |
| MoVA FP8 restore, PR #54 | adabb14a39ab514277e9714cb8e4d7c726bd3982 |
One case passed at this head. |
The standard-MoE successor changes only test formatting. Its full test syntax tree and product bytes are unchanged.
Dense and standard-MoE cases include native cache restore followed by a weight update.
The MoVA case includes real cache restore, checksum verification, tensor bytes, and rejection of a second load before source iteration.
Signed integration 9040ecfdf31edaa225e96967f176c2e5aba5f390 keeps all three completion states.
PR #55 contains this source.
CI run 35362262881 collected three restore cases at this source.
All three passed, with no failures, errors or skips. Ordinary PR CI and platform controls apply.
This source is a candidate for the Comet build. Comet #1137 owns the build input and its proposed successor.
These synthetic CPU cases do not qualify GPU execution, DeepEP transport, distributed cache-key admission, full public checkpoints, images, or service rows.
The standard-MoE restore uses TP1 cache metadata with a TP2/MoE-TP1/EP2 rank-1 model.
The public MoVA configuration does not give the necessary training router provenance. Positive cases declare synthetic provenance.
All wider acceptance requirements stay open.
Activity
[-]Support expert-only compressed-tensors FP8 for IFM[/-][+]Support published K2-Horizon FP8 model weights in SGLang[/+]