model card: 1M context, no source-repo links, truss ships in-repo
Browse files
README.md
CHANGED
|
@@ -31,7 +31,7 @@ token space.
|
|
| 31 |
| Vision tower | MoonViT-3d from Kimi-K2.6, 27 layers, 1152-dim β **frozen** |
|
| 32 |
| Projector | PatchMerger MLP (`pre_norm β linear_1 β GELU β linear_2`), 1152β4608β6144 β **trained** |
|
| 33 |
| Image tokens | up to 4096 per image (16384 MoonViT patches, 2Γ2 merge) |
|
| 34 |
-
| Context |
|
| 35 |
|
| 36 |
## Variants
|
| 37 |
|
|
@@ -66,6 +66,7 @@ python -m sglang.launch_server \
|
|
| 66 |
--model-path baseten/GLM-5.2-Vision-FP8 --trust-remote-code \
|
| 67 |
--tp-size 8 --attention-backend dsa --mm-attention-backend sdpa \
|
| 68 |
--kv-cache-dtype fp8_e4m3 --page-size 64 \
|
|
|
|
| 69 |
--reasoning-parser glm45 --tool-call-parser glm47 \
|
| 70 |
--port 30000
|
| 71 |
```
|
|
@@ -102,11 +103,11 @@ GLM-5.2 is a reasoning model: with `--reasoning-parser glm45` the chain of thoug
|
|
| 102 |
|
| 103 |
## Deploy on Baseten
|
| 104 |
|
| 105 |
-
A ready-to-push Truss config
|
| 106 |
-
[`serve/glm5v_release/truss/`](https://github.com/basetenlabs/vision-stitching/tree/main/serve/glm5v_release/truss):
|
| 107 |
|
| 108 |
```bash
|
| 109 |
-
|
|
|
|
| 110 |
```
|
| 111 |
|
| 112 |
## How it was built
|
|
@@ -127,8 +128,9 @@ Everything except the projector is copied verbatim from public upstream releases
|
|
| 127 |
- **Config** β `text_config` verbatim from the GLM release, `vision_config` describing MoonViT,
|
| 128 |
and the projector output dim set to GLM's hidden size (6144).
|
| 129 |
|
| 130 |
-
|
| 131 |
-
|
|
|
|
| 132 |
|
| 133 |
## Known issues
|
| 134 |
|
|
@@ -139,13 +141,13 @@ The assembly is fully scripted and reproducible from public repos:
|
|
| 139 |
- **NVFP4 needs two SGLang flags**: `--disable-shared-experts-fusion` (the checkpoint quantizes
|
| 140 |
MoE experts only, so fusion hits a 3072/6144 size mismatch) and `--disable-flashinfer-autotune`
|
| 141 |
(the autotuner's cross-rank coordination deadlocks at MoE bring-up on B200).
|
| 142 |
-
- **NVFP4 needs recent transformers.** NVIDIA's export carries `layer_types` in its text
|
| 143 |
-
config, which `transformers` below ~5.12 rejects at `AutoConfig` validation. The FP8 build
|
| 144 |
-
(from Z.ai's own export) has no such field and parses everywhere.
|
| 145 |
- **Vision quality is projector-limited.** Only the 49.5M projector was trained; the tower and
|
| 146 |
the language model never saw joint training. Expect solid scene description and OCR-ish
|
| 147 |
reading, and weaker performance on tasks needing tight visual grounding.
|
| 148 |
- First SGLang start pays a ~7-8 minute DeepGEMM JIT warmup. It is cached afterwards.
|
|
|
|
|
|
|
|
|
|
| 149 |
|
| 150 |
## License
|
| 151 |
|
|
|
|
| 31 |
| Vision tower | MoonViT-3d from Kimi-K2.6, 27 layers, 1152-dim β **frozen** |
|
| 32 |
| Projector | PatchMerger MLP (`pre_norm β linear_1 β GELU β linear_2`), 1152β4608β6144 β **trained** |
|
| 33 |
| Image tokens | up to 4096 per image (16384 MoonViT patches, 2Γ2 merge) |
|
| 34 |
+
| Context | 1048576 (1M tokens) |
|
| 35 |
|
| 36 |
## Variants
|
| 37 |
|
|
|
|
| 66 |
--model-path baseten/GLM-5.2-Vision-FP8 --trust-remote-code \
|
| 67 |
--tp-size 8 --attention-backend dsa --mm-attention-backend sdpa \
|
| 68 |
--kv-cache-dtype fp8_e4m3 --page-size 64 \
|
| 69 |
+
--context-length 1048576 \
|
| 70 |
--reasoning-parser glm45 --tool-call-parser glm47 \
|
| 71 |
--port 30000
|
| 72 |
```
|
|
|
|
| 103 |
|
| 104 |
## Deploy on Baseten
|
| 105 |
|
| 106 |
+
A ready-to-push [Truss](https://truss.baseten.co) config ships in this repo under `truss/`:
|
|
|
|
| 107 |
|
| 108 |
```bash
|
| 109 |
+
hf download baseten/GLM-5.2-Vision-FP8 --include 'truss/*' --local-dir ./glm5v
|
| 110 |
+
cd glm5v/truss && truss push --remote <your-remote>
|
| 111 |
```
|
| 112 |
|
| 113 |
## How it was built
|
|
|
|
| 128 |
- **Config** β `text_config` verbatim from the GLM release, `vision_config` describing MoonViT,
|
| 129 |
and the projector output dim set to GLM's hidden size (6144).
|
| 130 |
|
| 131 |
+
Nothing here needs assembling β this repo is the finished checkpoint. Every weight in it
|
| 132 |
+
comes from `zai-org/GLM-5.2-FP8` (or `nvidia/GLM-5.2-NVFP4`), `moonshotai/Kimi-K2.6`, and
|
| 133 |
+
`baseten/glm-5-2-projector`, so the whole thing is auditable against those public sources.
|
| 134 |
|
| 135 |
## Known issues
|
| 136 |
|
|
|
|
| 141 |
- **NVFP4 needs two SGLang flags**: `--disable-shared-experts-fusion` (the checkpoint quantizes
|
| 142 |
MoE experts only, so fusion hits a 3072/6144 size mismatch) and `--disable-flashinfer-autotune`
|
| 143 |
(the autotuner's cross-rank coordination deadlocks at MoE bring-up on B200).
|
|
|
|
|
|
|
|
|
|
| 144 |
- **Vision quality is projector-limited.** Only the 49.5M projector was trained; the tower and
|
| 145 |
the language model never saw joint training. Expect solid scene description and OCR-ish
|
| 146 |
reading, and weaker performance on tasks needing tight visual grounding.
|
| 147 |
- First SGLang start pays a ~7-8 minute DeepGEMM JIT warmup. It is cached afterwards.
|
| 148 |
+
- The full 1M context fits on 8ΓB200 at `--mem-fraction-static 0.85` (measured KV budget
|
| 149 |
+
~1.16M tokens), but that budget is shared across in-flight requests β one 1M-token
|
| 150 |
+
request consumes essentially all of it. Lower `--context-length` if you want concurrency.
|
| 151 |
|
| 152 |
## License
|
| 153 |
|