ebasKing Voodisss commited on
Commit
ffe7913
·
0 Parent(s):

Duplicate from Voodisss/Qwen3-Reranker-4B-GGUF-llama_cpp

Browse files

Co-authored-by: VooDisss <Voodisss@users.noreply.huggingface.co>

.gitattributes ADDED
@@ -0,0 +1,44 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ *.7z filter=lfs diff=lfs merge=lfs -text
2
+ *.arrow filter=lfs diff=lfs merge=lfs -text
3
+ *.bin filter=lfs diff=lfs merge=lfs -text
4
+ *.bz2 filter=lfs diff=lfs merge=lfs -text
5
+ *.ckpt filter=lfs diff=lfs merge=lfs -text
6
+ *.ftz filter=lfs diff=lfs merge=lfs -text
7
+ *.gz filter=lfs diff=lfs merge=lfs -text
8
+ *.h5 filter=lfs diff=lfs merge=lfs -text
9
+ *.joblib filter=lfs diff=lfs merge=lfs -text
10
+ *.lfs.* filter=lfs diff=lfs merge=lfs -text
11
+ *.mlmodel filter=lfs diff=lfs merge=lfs -text
12
+ *.model filter=lfs diff=lfs merge=lfs -text
13
+ *.msgpack filter=lfs diff=lfs merge=lfs -text
14
+ *.npy filter=lfs diff=lfs merge=lfs -text
15
+ *.npz filter=lfs diff=lfs merge=lfs -text
16
+ *.onnx filter=lfs diff=lfs merge=lfs -text
17
+ *.ot filter=lfs diff=lfs merge=lfs -text
18
+ *.parquet filter=lfs diff=lfs merge=lfs -text
19
+ *.pb filter=lfs diff=lfs merge=lfs -text
20
+ *.pickle filter=lfs diff=lfs merge=lfs -text
21
+ *.pkl filter=lfs diff=lfs merge=lfs -text
22
+ *.pt filter=lfs diff=lfs merge=lfs -text
23
+ *.pth filter=lfs diff=lfs merge=lfs -text
24
+ *.rar filter=lfs diff=lfs merge=lfs -text
25
+ *.safetensors filter=lfs diff=lfs merge=lfs -text
26
+ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
27
+ *.tar.* filter=lfs diff=lfs merge=lfs -text
28
+ *.tar filter=lfs diff=lfs merge=lfs -text
29
+ *.tflite filter=lfs diff=lfs merge=lfs -text
30
+ *.tgz filter=lfs diff=lfs merge=lfs -text
31
+ *.wasm filter=lfs diff=lfs merge=lfs -text
32
+ *.xz 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
+ Qwen3-Reranker-4B-f16.gguf filter=lfs diff=lfs merge=lfs -text
37
+ Qwen3-Reranker-4B.Q8_0.gguf filter=lfs diff=lfs merge=lfs -text
38
+ Qwen3-Reranker-4B-Q2_K.gguf filter=lfs diff=lfs merge=lfs -text
39
+ Qwen3-Reranker-4B-Q3_K_M.gguf filter=lfs diff=lfs merge=lfs -text
40
+ Qwen3-Reranker-4B-Q4_0.gguf filter=lfs diff=lfs merge=lfs -text
41
+ Qwen3-Reranker-4B-Q4_K_M.gguf filter=lfs diff=lfs merge=lfs -text
42
+ Qwen3-Reranker-4B-Q5_0.gguf filter=lfs diff=lfs merge=lfs -text
43
+ Qwen3-Reranker-4B-Q5_K_M.gguf filter=lfs diff=lfs merge=lfs -text
44
+ Qwen3-Reranker-4B-Q6_K.gguf filter=lfs diff=lfs merge=lfs -text
Qwen3-Reranker-4B-Q2_K.gguf ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:351cb7e1be302c7a94d3e055f3d0a139467d38ed204f64eb4384994e74ad0780
3
+ size 1668935136
Qwen3-Reranker-4B-Q3_K_M.gguf ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:2bc1029151b819db3958e54f15df17b6ad8ee48b70e9a8201491cd48f80e9759
3
+ size 2075054048
Qwen3-Reranker-4B-Q4_0.gguf ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:9fd3d5669d2caf0763dd060f320c688f5ed832abdba7f66dede6bd7f8623c473
3
+ size 2368983680
Qwen3-Reranker-4B-Q4_K_M.gguf ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:2a693b22cc8122353562c2d261a3894301c14c6eecce7304bc29968f8994258b
3
+ size 2496717440
Qwen3-Reranker-4B-Q5_0.gguf ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:a840078d2b83d816c4bab931ae14eca0a318efd6f63621c7388a6e3503ac2152
3
+ size 2823148800
Qwen3-Reranker-4B-Q5_K_M.gguf ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:13950913d05a320df83190fa2367872faccbe93e7beee2cc2ca2b9f345e8847c
3
+ size 2888951040
Qwen3-Reranker-4B-Q6_K.gguf ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:e54c8d0d8002f852048a8b46b40c54cd5349cdc0b0128ea11ff1df974105dd88
3
+ size 3305699264
Qwen3-Reranker-4B-f16.gguf ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:c4de2e3e4179d5bca95a2e960e07d225a565018e3bbb5e073f1777809091f117
3
+ size 8049922912
Qwen3-Reranker-4B.Q8_0.gguf ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:102ac400d68f02877c2fdfecf0732872652298448352b6faf28ec7f8dca8c913
3
+ size 4279678912
README.md ADDED
@@ -0,0 +1,104 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ base_model: Qwen/Qwen3-Reranker-4B
3
+ library_name: gguf
4
+ license: apache-2.0
5
+ pipeline_tag: text-ranking
6
+ tags:
7
+ - reranker
8
+ - gguf
9
+ - llama.cpp
10
+ - qwen3
11
+ - text-ranking
12
+ ---
13
+
14
+ # Qwen3-Reranker-4B — GGUF (llama.cpp)
15
+
16
+ Working GGUF of [Qwen/Qwen3-Reranker-4B](https://huggingface.co/Qwen/Qwen3-Reranker-4B) for [llama.cpp](https://github.com/ggml-org/llama.cpp). Converted 2025-03-09 with the official `convert_hf_to_gguf.py`.
17
+
18
+ > **Other sizes:** [0.6B](https://huggingface.co/Voodisss/Qwen3-Reranker-0.6B-GGUF-llama_cpp) · [4B (this)](https://huggingface.co/Voodisss/Qwen3-Reranker-4B-GGUF-llama_cpp) · [8B](https://huggingface.co/Voodisss/Qwen3-Reranker-8B-GGUF-llama_cpp)
19
+
20
+ ## Quantization quality comparison (Qwen3-Reranker-4B)
21
+
22
+ Benchmarked on [MTEB AskUbuntuDupQuestions](https://huggingface.co/datasets/mteb/AskUbuntuDupQuestions) (361 queries) via llama-server `/v1/rerank` on RTX 3090. All quants produced from the same F16 source using `llama-quantize`.
23
+
24
+ | Quant | Size | NDCG@10 | MAP@10 | MRR@10 | Δ NDCG@10 |
25
+ | ------ | ------- | ------- | ------ | ------ | --------- |
26
+ | F16 | 7.50 GB | 0.7003 | 0.5530 | 0.7711 | baseline |
27
+ | Q8_0 | 3.99 GB | 0.6985 | 0.5514 | 0.7670 | -0.3% |
28
+ | Q6_K | 3.08 GB | 0.7016 | 0.5548 | 0.7722 | +0.2% |
29
+ | Q5_K_M | 2.69 GB | 0.7009 | 0.5517 | 0.7699 | +0.1% |
30
+ | Q5_0 | 2.63 GB | 0.6995 | 0.5532 | 0.7676 | -0.1% |
31
+ | Q4_K_M | 2.33 GB | 0.7058 | 0.5596 | 0.7746 | +0.8% |
32
+ | Q4_0 | 2.21 GB | 0.6930 | 0.5426 | 0.7623 | -1.1% |
33
+ | Q3_K_M | 1.93 GB | 0.7040 | 0.5555 | 0.7828 | +0.5% |
34
+ | Q2_K | 1.55 GB | 0.6691 | 0.5079 | 0.7401 | **-4.5%** |
35
+
36
+ **Takeaway:** All quants from Q8_0 down to Q3_K_M are within ±1% of F16 — pick based on your VRAM budget. Q4_K_M (2.33 GB) is the sweet spot: 3.2x smaller than F16 with no measurable quality loss. **Avoid Q2_K** — it's the only quant with real degradation.
37
+ ## Does it work?
38
+
39
+ Yes. Most community GGUFs of Qwen3-Reranker produce garbage scores (`4.5e-23`) because they're missing reranker-specific tensors. See [llama.cpp #16407](https://github.com/ggml-org/llama.cpp/issues/16407). This one works:
40
+
41
+ ```
42
+ Doc 0 (relevant): relevance_score = 0.999966
43
+ Doc 1 (irrelevant): relevance_score = 0.000069
44
+ ```
45
+
46
+ ## Quick start
47
+
48
+ ```bash
49
+ llama-server -m Qwen3-Reranker-4B-f16.gguf --reranking --pooling rank --embedding --port 8081
50
+ ```
51
+
52
+ ```bash
53
+ curl http://localhost:8081/v1/rerank \
54
+ -H "Content-Type: application/json" \
55
+ -d '{
56
+ "query": "employment termination notice period",
57
+ "documents": [
58
+ "The Labour Code requires 30 calendar days written notice.",
59
+ "Corporate tax rates for small enterprises."
60
+ ]
61
+ }'
62
+ ```
63
+
64
+ Use **`/v1/rerank`**, not `/v1/embeddings`. The embeddings endpoint returns zeros for reranker models.
65
+
66
+ ## What's different about this GGUF?
67
+
68
+ The official `convert_hf_to_gguf.py` detects Qwen3-Reranker and does things naive converters skip:
69
+
70
+ - Extracts `cls.output.weight` (the yes/no classifier) from `lm_head`
71
+ - Sets `pooling_type = RANK` metadata
72
+ - Bakes in the rerank chat template
73
+ - Sets `classifier.output_labels = ["yes", "no"]`
74
+
75
+ Without these, llama-server has nothing to compute scores from.
76
+
77
+ ## Known broken GGUFs
78
+
79
+ - [DevQuasar/Qwen.Qwen3-Reranker-4B-GGUF](https://huggingface.co/DevQuasar/Qwen.Qwen3-Reranker-4B-GGUF) — confirmed broken with llama.cpp
80
+
81
+ ## models.ini example
82
+
83
+ ```ini
84
+ [Qwen3-Reranker-4B-f16]
85
+ model = /path/to/Qwen3-Reranker-4B-f16.gguf
86
+ reranking = true
87
+ pooling = rank
88
+ embedding = true
89
+ ctx-size = 32768
90
+ ```
91
+
92
+ For a full multi-model setup guide (embedding + reranking + chat on one server), see the **[llama-server Qwen3 guide](https://gist.github.com/VooDisss/42bce4eb5c76d3c325633886c5e348ee)**.
93
+
94
+ ## Convert it yourself
95
+
96
+ ```bash
97
+ pip install huggingface_hub gguf torch safetensors sentencepiece
98
+ python -c "from huggingface_hub import snapshot_download; snapshot_download('Qwen/Qwen3-Reranker-4B', local_dir='Qwen3-Reranker-4B-src')"
99
+ python convert_hf_to_gguf.py --outtype f16 --outfile Qwen3-Reranker-4B-f16.gguf Qwen3-Reranker-4B-src/
100
+ ```
101
+
102
+ ## License
103
+
104
+ Apache 2.0 — same as the [original model](https://huggingface.co/Qwen/Qwen3-Reranker-4B).