flying101 commited on
Commit
329b9cc
·
verified ·
1 Parent(s): 0d71ed8

v75 (Galaxy S24 / SM8650, soc_model 57): Qwen3-VL-2B VLM (vision) bundle — fp16 vision tower + W8 shared decode

Browse files

Adds the Hexagon **v75** Qwen3-VL-2B **vision (VLM)** bundle under `v75/` (source Qwen/Qwen3-VL-2B-Instruct).

**Files (~2.8G):**
- `qwen3vl-2b-vlm-512.json` — VLM manifest (family=vlm, host-op `qwen3vl_generate`)
- `vis_native_512_f16.bin` — native-resolution vision tower (fp16)
- `llm_shared_512_w8.bin` — shared 28-layer Qwen3 decoder (W8A16), M-RoPE
- `lmhead_wqo_w8.bin` — tied lm-head (W8, weight-only)
- `embed_f16.bin`, `tokenizer.json`

**Params:** hidden 2048, 28 layers, vocab 151936, head_dim 128, kv_dim 1024, rope_theta 5e6, max_ctx 1024, eos 151645.
**Compile:** QAIRT 2.47.0, dsp_arch v75, soc_model 57 (O3/VTCM). Vision fp16 + W8 weight-only decode/lm-head.

**Runtime note (important):** the VLM manifest drives inference through the `qwen3vl_generate` host-op (vision -> M-RoPE splice -> shared decode). That op must be registered in the QHexRT runtime; the current public `qhx_generate` registers internvl/gemma/qwen3_5/etc. but not `qwen3vl_generate` yet, so this bundle needs a runtime build that includes it. The **text-path** v75 build (v81-style generic-op plan, no custom host-op) is separately in progress and its decode export **gates greedy first-token 12095 (" Paris") == HF gold**. Published for v75 arch parity with the v79/v81 dirs.

.gitattributes CHANGED
@@ -33,3 +33,4 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
 
 
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
36
+ v75/tokenizer.json filter=lfs diff=lfs merge=lfs -text
v75/embed_f16.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:80a4c412dd8905216d165d7f23e88fb4f0bc14e8137198bcea8da67222643d6c
3
+ size 622329856
v75/llm_shared_512_w8.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:9b9f1e43578e17906e28ea8b67669bbef572282ec41d39f402a01dfbb9423b17
3
+ size 1419825152
v75/lmhead_wqo_w8.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:6969fa1ce415a7be358750a9112ef0743d3321566ca365b6eb87e399026bbc67
3
+ size 313548800
v75/qwen3vl-2b-vlm-512.json ADDED
@@ -0,0 +1,49 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "schema_version": 1,
3
+ "_comment": "",
4
+ "model": {
5
+ "name": "qwen3vl-2b-vlm-512",
6
+ "family": "vlm",
7
+ "dsp_arch": "v75",
8
+ "tokenizer_pre": "qwen2"
9
+ },
10
+ "params": {
11
+ "hidden": 2048,
12
+ "vocab": 151936,
13
+ "n_layers": 28,
14
+ "max_ctx": 1024,
15
+ "kv_dim": 1024,
16
+ "head_dim": 128,
17
+ "rope_theta": 5000000.0,
18
+ "eos_token_id": 151645
19
+ },
20
+ "artifacts": {
21
+ "contexts": {
22
+ "vision": {
23
+ "bin": "vis_native_512_f16.bin"
24
+ },
25
+ "decode": {
26
+ "bin": "llm_shared_512_w8.bin"
27
+ },
28
+ "lmhead": {
29
+ "bin": "lmhead_wqo_w8.bin"
30
+ }
31
+ },
32
+ "embed": "embed_f16.bin",
33
+ "tokenizer": "tokenizer.json"
34
+ },
35
+ "plan": {
36
+ "steps": [
37
+ {
38
+ "host": "qwen3vl_generate",
39
+ "params": {
40
+ "vision": "vis_native_512_f16",
41
+ "decode": "llm_shared_512_w8",
42
+ "lmhead": "lmhead_wqo_w8",
43
+ "max_new": 64,
44
+ "neg": -50000
45
+ }
46
+ }
47
+ ]
48
+ }
49
+ }
v75/tokenizer.json ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:be75606093db2094d7cd20f3c2f385c212750648bd6ea4fb2bf507a6a4c55506
3
+ size 11422650
v75/vis_native_512_f16.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:fc8feaff672954c1db3420e6964ca3d6112735e38eb6b1671c870bc9c2a0194f
3
+ size 619499520