programmer-666 commited on
Commit
00e1121
·
verified ·
1 Parent(s): e41a6ab

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +85 -88
README.md CHANGED
@@ -15,7 +15,7 @@ tags:
15
  - speculative-decoding
16
  - multi-token-prediction
17
  model-index:
18
- - name: Ornith-1.0-35B-oQ7-mtp
19
  results:
20
  - task:
21
  type: text-generation
@@ -135,34 +135,32 @@ model-index:
135
  type: accuracy
136
  value: 86.7
137
  ---
138
-
139
- # Ornith-1.0-35B-oQ7-mtp
140
-
141
- MLX format quantization of [deepreinforce-ai/Ornith-1.0-35B](https://huggingface.co/deepreinforce-ai/Ornith-1.0-35B), produced with mlx-optiq and shipped with a grafted Multi-Token Prediction (MTP) head for speculative decoding on Apple Silicon.
142
-
143
  ## Model Details
144
-
145
  ### Model Description
146
-
147
  This repository contains a mixed precision MLX quantization of Ornith-1.0-35B, a Qwen3.5-35B-A3B based mixture of experts model. The quantization was produced with mlx-optiq, which performs a per-layer KL sensitivity analysis against the original BF16 checkpoint and assigns each layer either 6-bit or 8-bit precision so that the weighted average lands at a target of 7.5 bits per weight (BPW). Layers that are more sensitive to quantization error are kept at 8-bit, while more robust layers are reduced to 6-bit.
148
-
149
- An auxiliary MTP head, grafted from `mlx-community/Qwen3.6-35B-A3B-OptiQ-4bit`, is included as `mtp.safetensors`. It is used as a self-speculative draft model during decoding and is architecturally compatible because Qwen3.5-35B-A3B and Qwen3.6-35B-A3B share the same hidden size, layer count, expert count, and block layout, and Ornith is fine-tuned directly from Qwen3.5-35B-A3B.
150
-
151
  - **Developed by:** programmer-666
152
  - **Model type:** Causal decoder only mixture of experts language model (Qwen3.5-35B-A3B architecture, qwen35moe, 40 layers)
153
  - **Language(s):** Inherited from the base model
154
  - **License:** Apache 2.0 for this repository. See the Licenses section below for the licenses of the underlying components.
155
  - **Quantized from model:** [deepreinforce-ai/Ornith-1.0-35B](https://huggingface.co/deepreinforce-ai/Ornith-1.0-35B)
156
  - **MTP head source:** [mlx-community/Qwen3.6-35B-A3B-OptiQ-4bit](https://huggingface.co/mlx-community/Qwen3.6-35B-A3B-OptiQ-4bit)
157
-
158
  ### Model Sources
159
-
160
  - **Base model:** https://huggingface.co/deepreinforce-ai/Ornith-1.0-35B
161
  - **Quantization tool:** https://mlx-optiq.com
162
  - **Serving engine used for benchmarks:** https://github.com/jundot/omlx
163
-
164
  ## Model Properties
165
-
166
  | Property | Value |
167
  |---|---|
168
  | Base model | deepreinforce-ai/Ornith-1.0-35B |
@@ -176,56 +174,55 @@ An auxiliary MTP head, grafted from `mlx-community/Qwen3.6-35B-A3B-OptiQ-4bit`,
176
  | Layers at 8-bit | 362 |
177
  | Group size | 32 |
178
  | Calibration sequences | 40 |
179
- | MTP head source | mlx-community/Qwen3.6-35B-A3B-OptiQ-4bit |
180
  | Format | MLX safetensors |
181
-
182
  ## Uses
183
-
184
  ### Direct Use
185
-
186
- This model is intended for local text generation on Apple Silicon devices using MLX based inference engines such as `mlx-lm` or `optiq serve`. It is suited for users who want most of the quality of the BF16 checkpoint at roughly half the memory footprint, with an optional speculative decoding path for faster generation.
187
-
188
  ### Out-of-Scope Use
189
-
190
  This is a quantized derivative of a third party base model. It has not been independently evaluated for safety, factuality, or fitness for any particular downstream task. It should not be used in high stakes settings (medical, legal, financial, or safety critical decisions) without additional evaluation. Refer to the base model card for its intended use cases and known limitations, since these are inherited by this quantization.
191
-
192
  ## Bias, Risks, and Limitations
193
-
194
  Quantization can shift a model's behavior relative to the original weights, even when overall benchmark scores are similar. Mixed precision quantization at 7.5 BPW is expected to be close to BF16 quality, but no independent evaluation of downstream task accuracy, factuality, or bias has been performed for this specific quantized artifact. Users should treat outputs as they would from the base model and are encouraged to run their own evaluations for their use case before deploying it in production.
195
-
196
  The intelligence benchmark results reported below use 30-question samples from each dataset and should be treated as indicative rather than definitive. Full dataset evaluations may yield different figures.
197
-
198
  ## How to Get Started with the Model
199
-
200
- ### With mlx-optiq serve (enables MTP speculative decoding)
201
-
202
  ```bash
203
  optiq serve \
204
- --model programmer-666/Ornith-1.0-35B-oQ7-mtp \
205
- --mtp \
206
  --port 8080
207
  ```
208
-
209
  ### With mlx-lm
210
-
211
  ```bash
212
  mlx_lm.generate \
213
- --model programmer-666/Ornith-1.0-35B-oQ7-mtp \
214
  --prompt "Your prompt here"
215
  ```
216
-
217
- Note: MTP is not available through `mlx_lm.generate`. Use `optiq serve` or `omlx` if you want speculative decoding.
218
-
219
  ## Training Details
220
-
221
  This repository does not modify the base model's weights beyond quantization; no additional fine-tuning was performed. For training data and training procedure, refer to the [base model card](https://huggingface.co/deepreinforce-ai/Ornith-1.0-35B).
222
-
223
  ### Quantization Procedure
224
-
225
  Quantization was performed with mlx-optiq, which runs a per-layer KL sensitivity analysis to assign bit widths. Layers with higher sensitivity to quantization error retain 8-bit precision, while more robust layers are assigned 6-bit precision. The reference model used during sensitivity calibration was the original BF16 checkpoint.
226
-
227
  Conversion command:
228
-
229
  ```bash
230
  optiq convert deepreinforce-ai/Ornith-1.0-35B \
231
  --candidate-bits 6,8 \
@@ -236,37 +233,38 @@ optiq convert deepreinforce-ai/Ornith-1.0-35B \
236
  --skip-baselines \
237
  -o Ornith-1.0-35B-oQ7-mtp
238
  ```
239
-
240
  ## Multi-Token Prediction (MTP)
241
-
242
- The `mtp.safetensors` file contains an auxiliary prediction head grafted from `mlx-community/Qwen3.6-35B-A3B-OptiQ-4bit`. This works because Qwen3.5-35B-A3B and Qwen3.6-35B-A3B share an identical structure (hidden dimension 2048, 40 layers, 256 experts, same block layout), and Ornith is fine-tuned directly from Qwen3.5-35B-A3B.
243
-
244
- MTP uses this auxiliary head as a draft model for speculative decoding, giving roughly a 1.3x to 1.4x decode speedup on Apple Silicon during greedy generation.
245
-
 
 
246
  ## Hardware Requirements
247
-
248
  | Configuration | Notes |
249
  |---|---|
250
  | Recommended | Apple Silicon with 64GB or more of unified memory |
251
  | Tested on | M4 Max MacBook Pro, 128GB |
252
  | Disk space | Approximately 37GB |
253
-
254
  ## Evaluation
255
-
256
  ### Testing Setup
257
-
258
  All benchmarks were run locally on an M4 Max MacBook Pro (128GB unified memory) using [oMLX](https://github.com/jundot/omlx), an LLM inference engine optimized for Apple Silicon. Three models were evaluated side by side:
259
-
260
- - `Ornith-1.0-35B-oQ7-mtp` (this repository)
261
  - `Ornith-1.0-35B-bf16` (original BF16 checkpoint, reference)
262
  - `Qwen3.6-35B-A3B-OptiQ-4bit` (MTP head source, shown for context)
263
-
264
  Performance figures come from single request runs unless noted as continuous batching. Intelligence benchmarks were run with thinking mode enabled and use 30-question samples drawn randomly from each dataset; they are indicative and should not be compared directly to full-dataset evaluations published elsewhere.
265
-
266
  ### Intelligence Benchmarks
267
-
268
- All results are for this model (`Ornith-1.0-35B-oQ7-mtp`) with thinking enabled.
269
-
270
  | Benchmark | Sampled | Correct | Accuracy | Time (s) |
271
  |---|---|---|---|---|
272
  | MMLU | 30 / 14042 | 26 / 30 | 86.7% | 735.6 |
@@ -282,13 +280,13 @@ All results are for this model (`Ornith-1.0-35B-oQ7-mtp`) with thinking enabled.
282
  | LiveCodeBench | 30 / 1055 | 19 / 30 | 63.3% | 4501.8 |
283
  | BBQ | 30 / 10864 | 28 / 30 | 93.3% | 233.9 |
284
  | SafetyBench | 30 / 11435 | 26 / 30 | 86.7% | 270.2 |
285
-
286
  These results represent 30-question random samples from each dataset evaluated with thinking mode enabled. Sample-based scores carry higher variance than full dataset evaluations and may not reflect performance on the full benchmark. Results are not directly comparable to published leaderboard figures which typically use the full dataset without thinking mode.
287
-
288
  ### Performance Benchmarks
289
-
290
- **Ornith-1.0-35B-oQ7-mtp (this repository)**
291
-
292
  | Test | TTFT (ms) | TPOT (ms) | pp TPS | tg TPS | E2E (s) | Throughput | Peak Mem |
293
  |---|---|---|---|---|---|---|---|
294
  | pp1024/tg128 | 787.3 | 10.70 | 1300.6 tok/s | 94.2 tok/s | 2.147 | 536.6 tok/s | 37.36 GB |
@@ -299,17 +297,17 @@ These results represent 30-question random samples from each dataset evaluated w
299
  | pp65536/tg128 | 94152.4 | 25.95 | 696.1 tok/s | 38.8 tok/s | 97.449 | 673.8 tok/s | 43.13 GB |
300
  | pp131072/tg128 | 348440.0 | 30.93 | 376.2 tok/s | 32.6 tok/s | 352.368 | 372.3 tok/s | 48.50 GB |
301
  | pp200000/tg128 | 726434.2 | 36.19 | 275.3 tok/s | 27.9 tok/s | 731.030 | 273.8 tok/s | 54.17 GB |
302
-
303
  Continuous batching, pp1024/tg128:
304
-
305
  | Batch | tg TPS | Speedup | pp TPS | pp TPS/req | TTFT (ms) | E2E (s) |
306
  |---|---|---|---|---|---|---|
307
  | 1x | 94.2 tok/s | 1.00x | 1300.6 tok/s | 1300.6 tok/s | 787.3 | 2.147 |
308
  | 2x | 110.1 tok/s | 1.17x | 549.5 tok/s | 274.8 tok/s | 3726.8 | 6.052 |
309
  | 4x | 125.5 tok/s | 1.33x | 826.0 tok/s | 206.5 tok/s | 4836.1 | 9.038 |
310
-
311
  **Ornith-1.0-35B-bf16 (reference)**
312
-
313
  | Test | TTFT (ms) | TPOT (ms) | pp TPS | tg TPS | E2E (s) | Throughput | Peak Mem |
314
  |---|---|---|---|---|---|---|---|
315
  | pp1024/tg128 | 834.6 | 16.17 | 1227.0 tok/s | 62.3 tok/s | 2.888 | 398.9 tok/s | 65.62 GB |
@@ -320,17 +318,17 @@ Continuous batching, pp1024/tg128:
320
  | pp65536/tg128 | 85199.7 | 30.94 | 769.2 tok/s | 32.6 tok/s | 89.130 | 736.7 tok/s | 71.35 GB |
321
  | pp131072/tg128 | 346498.2 | 36.68 | 378.3 tok/s | 27.5 tok/s | 351.157 | 373.6 tok/s | 76.79 GB |
322
  | pp200000/tg128 | 630686.4 | 40.49 | 317.1 tok/s | 24.9 tok/s | 635.829 | 314.8 tok/s | 82.47 GB |
323
-
324
  Continuous batching, pp1024/tg128:
325
-
326
  | Batch | tg TPS | Speedup | pp TPS | pp TPS/req | TTFT (ms) | E2E (s) |
327
  |---|---|---|---|---|---|---|
328
  | 1x | 62.3 tok/s | 1.00x | 1227.0 tok/s | 1227.0 tok/s | 834.6 | 2.888 |
329
  | 2x | 43.1 tok/s | 0.69x | 511.9 tok/s | 255.9 tok/s | 4000.4 | 9.941 |
330
  | 4x | 71.0 tok/s | 1.14x | 938.8 tok/s | 234.7 tok/s | 4212.9 | 11.578 |
331
-
332
  **Qwen3.6-35B-A3B-OptiQ-4bit (MTP head source, shown for reference)**
333
-
334
  | Test | TTFT (ms) | TPOT (ms) | pp TPS | tg TPS | E2E (s) | Throughput | Peak Mem |
335
  |---|---|---|---|---|---|---|---|
336
  | pp1024/tg128 | 765.7 | 9.03 | 1337.3 tok/s | 111.6 tok/s | 1.913 | 602.3 tok/s | 21.72 GB |
@@ -341,42 +339,41 @@ Continuous batching, pp1024/tg128:
341
  | pp65536/tg128 | 87223.7 | 18.90 | 751.4 tok/s | 53.3 tok/s | 89.624 | 732.7 tok/s | 27.48 GB |
342
  | pp131072/tg128 | 343907.5 | 27.19 | 381.1 tok/s | 37.1 tok/s | 347.361 | 377.7 tok/s | 32.86 GB |
343
  | pp200000/tg128 | 675070.1 | 32.83 | 296.3 tok/s | 30.7 tok/s | 679.240 | 294.6 tok/s | 38.52 GB |
344
-
345
  Continuous batching, pp1024/tg128:
346
-
347
  | Batch | tg TPS | Speedup | pp TPS | pp TPS/req | TTFT (ms) | E2E (s) |
348
  |---|---|---|---|---|---|---|
349
  | 1x | 111.6 tok/s | 1.00x | 1337.3 tok/s | 1337.3 tok/s | 765.7 | 1.913 |
350
  | 2x | 148.6 tok/s | 1.33x | 569.3 tok/s | 284.6 tok/s | 3597.4 | 5.320 |
351
  | 4x | 161.0 tok/s | 1.44x | 873.2 tok/s | 218.3 tok/s | 4564.0 | 7.870 |
352
-
353
  ### Summary
354
-
355
  Compared to the BF16 checkpoint, this quantization roughly halves peak memory usage (37 to 54 GB versus 66 to 82 GB depending on context length) while producing 51% faster token generation at standard context lengths (94.2 tok/s versus 62.3 tok/s at pp1024/tg128). The BF16 model's continuous batching throughput degrades at batch size 2 (0.69x), while this quantization scales consistently to 1.33x at batch size 4. The 4-bit Qwen3.6-35B-A3B-OptiQ-4bit model is faster and lighter on its own; it is included here as the MTP draft head source and as a context point for the tradeoff between model size and throughput.
356
-
357
  ## Licenses
358
-
359
  - Ornith-1.0-35B (base model): MIT License
360
  - Qwen3.5-35B-A3B (base architecture): Apache 2.0
361
  - Qwen3.6-35B-A3B (MTP head source): Apache 2.0
362
  - This repository (quantized weights and MTP head): Apache 2.0
363
-
364
  Users should review the license terms of each underlying component before use or redistribution.
365
-
366
  ## Citation
367
-
368
  If you use this model, please cite the original Ornith-1.0-35B model and the mlx-optiq quantization tool.
369
-
370
  ```
371
- @misc{ornith-1.0-35b-oq7-mtp,
372
- title = {Ornith-1.0-35B-oQ7-mtp},
373
  author = {programmer-666},
374
  year = {2026},
375
- note = {MLX mixed precision quantization of deepreinforce-ai/Ornith-1.0-35B with grafted MTP head},
376
- howpublished = {\url{https://huggingface.co/programmer-666/Ornith-1.0-35B-oQ7-mtp}}
377
  }
378
  ```
379
-
380
  ## Model Card Contact
381
-
382
  For questions about this quantization, open a discussion on this repository's Community tab. For questions about the base model, refer to [deepreinforce-ai/Ornith-1.0-35B](https://huggingface.co/deepreinforce-ai/Ornith-1.0-35B).
 
15
  - speculative-decoding
16
  - multi-token-prediction
17
  model-index:
18
+ - name: Ornith-1.0-35B-oQ7
19
  results:
20
  - task:
21
  type: text-generation
 
135
  type: accuracy
136
  value: 86.7
137
  ---
138
+
139
+ # Ornith-1.0-35B-oQ7
140
+
141
+ MLX format quantization of [deepreinforce-ai/Ornith-1.0-35B](https://huggingface.co/deepreinforce-ai/Ornith-1.0-35B), produced with mlx-optiq. This repository also ships a grafted Multi-Token Prediction (MTP) head (`mtp.safetensors`) for speculative decoding on Apple Silicon, sourced from `mlx-community/Qwen3.6-35B-A3B-OptiQ-4bit`. **Testing found that this MTP head does not currently work correctly with this oQ7 mixed-precision quantization**, which is why this repository was renamed from `Ornith-1.0-35B-oQ7-mtp` to `Ornith-1.0-35B-oQ7`. The `mtp.safetensors` file has not been removed and remains in the repo for future compatibility work — see [Multi-Token Prediction](#multi-token-prediction-mtp) below for details.
142
+
143
  ## Model Details
144
+
145
  ### Model Description
146
+
147
  This repository contains a mixed precision MLX quantization of Ornith-1.0-35B, a Qwen3.5-35B-A3B based mixture of experts model. The quantization was produced with mlx-optiq, which performs a per-layer KL sensitivity analysis against the original BF16 checkpoint and assigns each layer either 6-bit or 8-bit precision so that the weighted average lands at a target of 7.5 bits per weight (BPW). Layers that are more sensitive to quantization error are kept at 8-bit, while more robust layers are reduced to 6-bit.
148
+
149
+ An auxiliary MTP head, grafted from `mlx-community/Qwen3.6-35B-A3B-OptiQ-4bit`, is included as `mtp.safetensors`. It is architecturally compatible with the base model because Qwen3.5-35B-A3B and Qwen3.6-35B-A3B share the same hidden size, layer count, expert count, and block layout, and Ornith is fine-tuned directly from Qwen3.5-35B-A3B. However, testing concluded that this head does not work correctly as a self-speculative draft model with the oQ7 mixed-precision quantization in this repository, so it should not currently be enabled for inference. The file is kept in the repo for future compatibility work (see the Multi-Token Prediction section below).
150
+
151
  - **Developed by:** programmer-666
152
  - **Model type:** Causal decoder only mixture of experts language model (Qwen3.5-35B-A3B architecture, qwen35moe, 40 layers)
153
  - **Language(s):** Inherited from the base model
154
  - **License:** Apache 2.0 for this repository. See the Licenses section below for the licenses of the underlying components.
155
  - **Quantized from model:** [deepreinforce-ai/Ornith-1.0-35B](https://huggingface.co/deepreinforce-ai/Ornith-1.0-35B)
156
  - **MTP head source:** [mlx-community/Qwen3.6-35B-A3B-OptiQ-4bit](https://huggingface.co/mlx-community/Qwen3.6-35B-A3B-OptiQ-4bit)
 
157
  ### Model Sources
158
+
159
  - **Base model:** https://huggingface.co/deepreinforce-ai/Ornith-1.0-35B
160
  - **Quantization tool:** https://mlx-optiq.com
161
  - **Serving engine used for benchmarks:** https://github.com/jundot/omlx
 
162
  ## Model Properties
163
+
164
  | Property | Value |
165
  |---|---|
166
  | Base model | deepreinforce-ai/Ornith-1.0-35B |
 
174
  | Layers at 8-bit | 362 |
175
  | Group size | 32 |
176
  | Calibration sequences | 40 |
177
+ | MTP head source | mlx-community/Qwen3.6-35B-A3B-OptiQ-4bit (included, but not functional with this quantization — see [Multi-Token Prediction](#multi-token-prediction-mtp)) |
178
  | Format | MLX safetensors |
179
+
180
  ## Uses
181
+
182
  ### Direct Use
183
+
184
+ This model is intended for local text generation on Apple Silicon devices using MLX based inference engines such as `mlx-lm` or `optiq serve`. It is suited for users who want most of the quality of the BF16 checkpoint at roughly half the memory footprint. Note: the bundled MTP head does not currently provide working speculative decoding with this quantization (see [Multi-Token Prediction](#multi-token-prediction-mtp)).
185
+
186
  ### Out-of-Scope Use
187
+
188
  This is a quantized derivative of a third party base model. It has not been independently evaluated for safety, factuality, or fitness for any particular downstream task. It should not be used in high stakes settings (medical, legal, financial, or safety critical decisions) without additional evaluation. Refer to the base model card for its intended use cases and known limitations, since these are inherited by this quantization.
189
+
190
  ## Bias, Risks, and Limitations
191
+
192
  Quantization can shift a model's behavior relative to the original weights, even when overall benchmark scores are similar. Mixed precision quantization at 7.5 BPW is expected to be close to BF16 quality, but no independent evaluation of downstream task accuracy, factuality, or bias has been performed for this specific quantized artifact. Users should treat outputs as they would from the base model and are encouraged to run their own evaluations for their use case before deploying it in production.
193
+
194
  The intelligence benchmark results reported below use 30-question samples from each dataset and should be treated as indicative rather than definitive. Full dataset evaluations may yield different figures.
195
+
196
  ## How to Get Started with the Model
197
+
198
+ ### With mlx-optiq serve
199
+
200
  ```bash
201
  optiq serve \
202
+ --model programmer-666/Ornith-1.0-35B-oQ7 \
 
203
  --port 8080
204
  ```
205
+
206
  ### With mlx-lm
207
+
208
  ```bash
209
  mlx_lm.generate \
210
+ --model programmer-666/Ornith-1.0-35B-oQ7 \
211
  --prompt "Your prompt here"
212
  ```
213
+
214
+ > **Note on MTP:** This repository still contains a grafted MTP head (`mtp.safetensors`), but testing found it does not work correctly as a speculative decoding draft model with this oQ7 mixed-precision quantization. Do not pass a `--mtp` flag to `optiq serve` for this model. The file is retained for future compatibility work — see [Multi-Token Prediction](#multi-token-prediction-mtp) below for details.
215
+
216
  ## Training Details
217
+
218
  This repository does not modify the base model's weights beyond quantization; no additional fine-tuning was performed. For training data and training procedure, refer to the [base model card](https://huggingface.co/deepreinforce-ai/Ornith-1.0-35B).
219
+
220
  ### Quantization Procedure
221
+
222
  Quantization was performed with mlx-optiq, which runs a per-layer KL sensitivity analysis to assign bit widths. Layers with higher sensitivity to quantization error retain 8-bit precision, while more robust layers are assigned 6-bit precision. The reference model used during sensitivity calibration was the original BF16 checkpoint.
223
+
224
  Conversion command:
225
+
226
  ```bash
227
  optiq convert deepreinforce-ai/Ornith-1.0-35B \
228
  --candidate-bits 6,8 \
 
233
  --skip-baselines \
234
  -o Ornith-1.0-35B-oQ7-mtp
235
  ```
236
+
237
  ## Multi-Token Prediction (MTP)
238
+
239
+ The `mtp.safetensors` file contains an auxiliary prediction head grafted from `mlx-community/Qwen3.6-35B-A3B-OptiQ-4bit`. Architecturally, the graft is sound: Qwen3.5-35B-A3B and Qwen3.6-35B-A3B share an identical structure (hidden dimension 2048, 40 layers, 256 experts, same block layout), and Ornith is fine-tuned directly from Qwen3.5-35B-A3B.
240
+
241
+ **Known issue — MTP does not work with this oQ7 quantization.** In principle, MTP uses this auxiliary head as a draft model for speculative decoding, giving roughly a 1.3x to 1.4x decode speedup on Apple Silicon during greedy generation. In testing, however, the head did not pair correctly with the oQ7 mixed-precision weights in this repository, so that speedup is not realized here and speculative decoding should not be enabled (e.g. do not pass `--mtp` to `optiq serve`).
242
+
243
+ Because of this finding, the repository was renamed from `Ornith-1.0-35B-oQ7-mtp` to `Ornith-1.0-35B-oQ7` to avoid implying working speculative decoding support. The `mtp.safetensors` file itself has not been deleted and remains in the repo for future compatibility work.
244
+
245
  ## Hardware Requirements
246
+
247
  | Configuration | Notes |
248
  |---|---|
249
  | Recommended | Apple Silicon with 64GB or more of unified memory |
250
  | Tested on | M4 Max MacBook Pro, 128GB |
251
  | Disk space | Approximately 37GB |
252
+
253
  ## Evaluation
254
+
255
  ### Testing Setup
256
+
257
  All benchmarks were run locally on an M4 Max MacBook Pro (128GB unified memory) using [oMLX](https://github.com/jundot/omlx), an LLM inference engine optimized for Apple Silicon. Three models were evaluated side by side:
258
+
259
+ - `Ornith-1.0-35B-oQ7` (this repository)
260
  - `Ornith-1.0-35B-bf16` (original BF16 checkpoint, reference)
261
  - `Qwen3.6-35B-A3B-OptiQ-4bit` (MTP head source, shown for context)
 
262
  Performance figures come from single request runs unless noted as continuous batching. Intelligence benchmarks were run with thinking mode enabled and use 30-question samples drawn randomly from each dataset; they are indicative and should not be compared directly to full-dataset evaluations published elsewhere.
263
+
264
  ### Intelligence Benchmarks
265
+
266
+ All results are for this model (`Ornith-1.0-35B-oQ7`) with thinking enabled.
267
+
268
  | Benchmark | Sampled | Correct | Accuracy | Time (s) |
269
  |---|---|---|---|---|
270
  | MMLU | 30 / 14042 | 26 / 30 | 86.7% | 735.6 |
 
280
  | LiveCodeBench | 30 / 1055 | 19 / 30 | 63.3% | 4501.8 |
281
  | BBQ | 30 / 10864 | 28 / 30 | 93.3% | 233.9 |
282
  | SafetyBench | 30 / 11435 | 26 / 30 | 86.7% | 270.2 |
283
+
284
  These results represent 30-question random samples from each dataset evaluated with thinking mode enabled. Sample-based scores carry higher variance than full dataset evaluations and may not reflect performance on the full benchmark. Results are not directly comparable to published leaderboard figures which typically use the full dataset without thinking mode.
285
+
286
  ### Performance Benchmarks
287
+
288
+ **Ornith-1.0-35B-oQ7 (this repository)**
289
+
290
  | Test | TTFT (ms) | TPOT (ms) | pp TPS | tg TPS | E2E (s) | Throughput | Peak Mem |
291
  |---|---|---|---|---|---|---|---|
292
  | pp1024/tg128 | 787.3 | 10.70 | 1300.6 tok/s | 94.2 tok/s | 2.147 | 536.6 tok/s | 37.36 GB |
 
297
  | pp65536/tg128 | 94152.4 | 25.95 | 696.1 tok/s | 38.8 tok/s | 97.449 | 673.8 tok/s | 43.13 GB |
298
  | pp131072/tg128 | 348440.0 | 30.93 | 376.2 tok/s | 32.6 tok/s | 352.368 | 372.3 tok/s | 48.50 GB |
299
  | pp200000/tg128 | 726434.2 | 36.19 | 275.3 tok/s | 27.9 tok/s | 731.030 | 273.8 tok/s | 54.17 GB |
300
+
301
  Continuous batching, pp1024/tg128:
302
+
303
  | Batch | tg TPS | Speedup | pp TPS | pp TPS/req | TTFT (ms) | E2E (s) |
304
  |---|---|---|---|---|---|---|
305
  | 1x | 94.2 tok/s | 1.00x | 1300.6 tok/s | 1300.6 tok/s | 787.3 | 2.147 |
306
  | 2x | 110.1 tok/s | 1.17x | 549.5 tok/s | 274.8 tok/s | 3726.8 | 6.052 |
307
  | 4x | 125.5 tok/s | 1.33x | 826.0 tok/s | 206.5 tok/s | 4836.1 | 9.038 |
308
+
309
  **Ornith-1.0-35B-bf16 (reference)**
310
+
311
  | Test | TTFT (ms) | TPOT (ms) | pp TPS | tg TPS | E2E (s) | Throughput | Peak Mem |
312
  |---|---|---|---|---|---|---|---|
313
  | pp1024/tg128 | 834.6 | 16.17 | 1227.0 tok/s | 62.3 tok/s | 2.888 | 398.9 tok/s | 65.62 GB |
 
318
  | pp65536/tg128 | 85199.7 | 30.94 | 769.2 tok/s | 32.6 tok/s | 89.130 | 736.7 tok/s | 71.35 GB |
319
  | pp131072/tg128 | 346498.2 | 36.68 | 378.3 tok/s | 27.5 tok/s | 351.157 | 373.6 tok/s | 76.79 GB |
320
  | pp200000/tg128 | 630686.4 | 40.49 | 317.1 tok/s | 24.9 tok/s | 635.829 | 314.8 tok/s | 82.47 GB |
321
+
322
  Continuous batching, pp1024/tg128:
323
+
324
  | Batch | tg TPS | Speedup | pp TPS | pp TPS/req | TTFT (ms) | E2E (s) |
325
  |---|---|---|---|---|---|---|
326
  | 1x | 62.3 tok/s | 1.00x | 1227.0 tok/s | 1227.0 tok/s | 834.6 | 2.888 |
327
  | 2x | 43.1 tok/s | 0.69x | 511.9 tok/s | 255.9 tok/s | 4000.4 | 9.941 |
328
  | 4x | 71.0 tok/s | 1.14x | 938.8 tok/s | 234.7 tok/s | 4212.9 | 11.578 |
329
+
330
  **Qwen3.6-35B-A3B-OptiQ-4bit (MTP head source, shown for reference)**
331
+
332
  | Test | TTFT (ms) | TPOT (ms) | pp TPS | tg TPS | E2E (s) | Throughput | Peak Mem |
333
  |---|---|---|---|---|---|---|---|
334
  | pp1024/tg128 | 765.7 | 9.03 | 1337.3 tok/s | 111.6 tok/s | 1.913 | 602.3 tok/s | 21.72 GB |
 
339
  | pp65536/tg128 | 87223.7 | 18.90 | 751.4 tok/s | 53.3 tok/s | 89.624 | 732.7 tok/s | 27.48 GB |
340
  | pp131072/tg128 | 343907.5 | 27.19 | 381.1 tok/s | 37.1 tok/s | 347.361 | 377.7 tok/s | 32.86 GB |
341
  | pp200000/tg128 | 675070.1 | 32.83 | 296.3 tok/s | 30.7 tok/s | 679.240 | 294.6 tok/s | 38.52 GB |
342
+
343
  Continuous batching, pp1024/tg128:
344
+
345
  | Batch | tg TPS | Speedup | pp TPS | pp TPS/req | TTFT (ms) | E2E (s) |
346
  |---|---|---|---|---|---|---|
347
  | 1x | 111.6 tok/s | 1.00x | 1337.3 tok/s | 1337.3 tok/s | 765.7 | 1.913 |
348
  | 2x | 148.6 tok/s | 1.33x | 569.3 tok/s | 284.6 tok/s | 3597.4 | 5.320 |
349
  | 4x | 161.0 tok/s | 1.44x | 873.2 tok/s | 218.3 tok/s | 4564.0 | 7.870 |
350
+
351
  ### Summary
352
+
353
  Compared to the BF16 checkpoint, this quantization roughly halves peak memory usage (37 to 54 GB versus 66 to 82 GB depending on context length) while producing 51% faster token generation at standard context lengths (94.2 tok/s versus 62.3 tok/s at pp1024/tg128). The BF16 model's continuous batching throughput degrades at batch size 2 (0.69x), while this quantization scales consistently to 1.33x at batch size 4. The 4-bit Qwen3.6-35B-A3B-OptiQ-4bit model is faster and lighter on its own; it is included here as the MTP draft head source and as a context point for the tradeoff between model size and throughput.
354
+
355
  ## Licenses
356
+
357
  - Ornith-1.0-35B (base model): MIT License
358
  - Qwen3.5-35B-A3B (base architecture): Apache 2.0
359
  - Qwen3.6-35B-A3B (MTP head source): Apache 2.0
360
  - This repository (quantized weights and MTP head): Apache 2.0
 
361
  Users should review the license terms of each underlying component before use or redistribution.
362
+
363
  ## Citation
364
+
365
  If you use this model, please cite the original Ornith-1.0-35B model and the mlx-optiq quantization tool.
366
+
367
  ```
368
+ @misc{ornith-1.0-35b-oq7,
369
+ title = {Ornith-1.0-35B-oQ7},
370
  author = {programmer-666},
371
  year = {2026},
372
+ note = {MLX mixed precision quantization of deepreinforce-ai/Ornith-1.0-35B; includes a grafted MTP head retained for future compatibility work, not currently functional with this quantization},
373
+ howpublished = {\url{https://huggingface.co/programmer-666/Ornith-1.0-35B-oQ7}}
374
  }
375
  ```
376
+
377
  ## Model Card Contact
378
+
379
  For questions about this quantization, open a discussion on this repository's Community tab. For questions about the base model, refer to [deepreinforce-ai/Ornith-1.0-35B](https://huggingface.co/deepreinforce-ai/Ornith-1.0-35B).