From 9991c0c9d26528feacd936c07b504304df7bc66a Mon Sep 17 00:00:00 2001 From: ModelHub XC Date: Sat, 19 Sep 2026 01:48:17 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=9D=E5=A7=8B=E5=8C=96=E9=A1=B9=E7=9B=AE?= =?UTF-8?q?=EF=BC=8C=E7=94=B1ModelHub=20XC=E7=A4=BE=E5=8C=BA=E6=8F=90?= =?UTF-8?q?=E4=BE=9B=E6=A8=A1=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Model: Zynerji/Ektome-Qwen3-1.7B-PristinelyUncensored Source: Original Platform --- .gitattributes | 44 +++++++++++ Ektome-Qwen3-1.7B-IQ3_M.gguf | 3 + Ektome-Qwen3-1.7B-IQ4_XS.gguf | 3 + Ektome-Qwen3-1.7B-Q4_K_M.gguf | 3 + Ektome-Qwen3-1.7B-Q5_K_M.gguf | 3 + Ektome-Qwen3-1.7B-Q6_K.gguf | 3 + Ektome-Qwen3-1.7B-Q8_0.gguf | 3 + README.md | 121 +++++++++++++++++++++++++++++++ cert_Qwen3-1.7B.json | 133 ++++++++++++++++++++++++++++++++++ chat_template.jinja | 89 +++++++++++++++++++++++ config.json | 63 ++++++++++++++++ ektome_report.json | 28 +++++++ generation_config.json | 13 ++++ hero.png | 3 + imatrix.dat | 3 + model.safetensors | 3 + nvfp4/chat_template.jinja | 89 +++++++++++++++++++++++ nvfp4/config.json | 113 +++++++++++++++++++++++++++++ nvfp4/generation_config.json | 13 ++++ nvfp4/model.safetensors | 3 + nvfp4/recipe.yaml | 7 ++ nvfp4/tokenizer.json | 3 + nvfp4/tokenizer_config.json | 30 ++++++++ tokenizer.json | 3 + tokenizer_config.json | 16 ++++ whitepaper.pdf | Bin 0 -> 72593 bytes 26 files changed, 795 insertions(+) create mode 100644 .gitattributes create mode 100644 Ektome-Qwen3-1.7B-IQ3_M.gguf create mode 100644 Ektome-Qwen3-1.7B-IQ4_XS.gguf create mode 100644 Ektome-Qwen3-1.7B-Q4_K_M.gguf create mode 100644 Ektome-Qwen3-1.7B-Q5_K_M.gguf create mode 100644 Ektome-Qwen3-1.7B-Q6_K.gguf create mode 100644 Ektome-Qwen3-1.7B-Q8_0.gguf create mode 100644 README.md create mode 100644 cert_Qwen3-1.7B.json create mode 100644 chat_template.jinja create mode 100644 config.json create mode 100644 ektome_report.json create mode 100644 generation_config.json create mode 100644 hero.png create mode 100644 imatrix.dat create mode 100644 model.safetensors create mode 100644 nvfp4/chat_template.jinja create mode 100644 nvfp4/config.json create mode 100644 nvfp4/generation_config.json create mode 100644 nvfp4/model.safetensors create mode 100644 nvfp4/recipe.yaml create mode 100644 nvfp4/tokenizer.json create mode 100644 nvfp4/tokenizer_config.json create mode 100644 tokenizer.json create mode 100644 tokenizer_config.json create mode 100644 whitepaper.pdf diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..b296d96 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,44 @@ +*.7z filter=lfs diff=lfs merge=lfs -text +*.arrow filter=lfs diff=lfs merge=lfs -text +*.bin filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.ckpt filter=lfs diff=lfs merge=lfs -text +*.ftz filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.h5 filter=lfs diff=lfs merge=lfs -text +*.joblib filter=lfs diff=lfs merge=lfs -text +*.lfs.* filter=lfs diff=lfs merge=lfs -text +*.mlmodel filter=lfs diff=lfs merge=lfs -text +*.model filter=lfs diff=lfs merge=lfs -text +*.msgpack filter=lfs diff=lfs merge=lfs -text +*.npy filter=lfs diff=lfs merge=lfs -text +*.npz filter=lfs diff=lfs merge=lfs -text +*.onnx filter=lfs diff=lfs merge=lfs -text +*.ot filter=lfs diff=lfs merge=lfs -text +*.parquet filter=lfs diff=lfs merge=lfs -text +*.pb filter=lfs diff=lfs merge=lfs -text +*.pickle filter=lfs diff=lfs merge=lfs -text +*.pkl filter=lfs diff=lfs merge=lfs -text +*.pt filter=lfs diff=lfs merge=lfs -text +*.pth filter=lfs diff=lfs merge=lfs -text +*.rar filter=lfs diff=lfs merge=lfs -text +*.safetensors filter=lfs diff=lfs merge=lfs -text +saved_model/**/* filter=lfs diff=lfs merge=lfs -text +*.tar.* filter=lfs diff=lfs merge=lfs -text +*.tar filter=lfs diff=lfs merge=lfs -text +*.tflite filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.wasm filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text +*tfevents* filter=lfs diff=lfs merge=lfs -text +tokenizer.json filter=lfs diff=lfs merge=lfs -text +hero.png filter=lfs diff=lfs merge=lfs -text +Ektome-Qwen3-1.7B-IQ3_M.gguf filter=lfs diff=lfs merge=lfs -text +Ektome-Qwen3-1.7B-IQ4_XS.gguf filter=lfs diff=lfs merge=lfs -text +Ektome-Qwen3-1.7B-Q4_K_M.gguf filter=lfs diff=lfs merge=lfs -text +Ektome-Qwen3-1.7B-Q5_K_M.gguf filter=lfs diff=lfs merge=lfs -text +Ektome-Qwen3-1.7B-Q6_K.gguf filter=lfs diff=lfs merge=lfs -text +Ektome-Qwen3-1.7B-Q8_0.gguf filter=lfs diff=lfs merge=lfs -text +imatrix.dat filter=lfs diff=lfs merge=lfs -text diff --git a/Ektome-Qwen3-1.7B-IQ3_M.gguf b/Ektome-Qwen3-1.7B-IQ3_M.gguf new file mode 100644 index 0000000..896d56b --- /dev/null +++ b/Ektome-Qwen3-1.7B-IQ3_M.gguf @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5396bdb8d716e3b0bbcf00e13fbe95d2e32c35f1efd3576c8b023c66f5ed4eae +size 895662112 diff --git a/Ektome-Qwen3-1.7B-IQ4_XS.gguf b/Ektome-Qwen3-1.7B-IQ4_XS.gguf new file mode 100644 index 0000000..32b19c9 --- /dev/null +++ b/Ektome-Qwen3-1.7B-IQ4_XS.gguf @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ac857594d756b622361b114e9af13a4f034514e1778ae8de59b0a7d8d5c82316 +size 1010382880 diff --git a/Ektome-Qwen3-1.7B-Q4_K_M.gguf b/Ektome-Qwen3-1.7B-Q4_K_M.gguf new file mode 100644 index 0000000..d454edf --- /dev/null +++ b/Ektome-Qwen3-1.7B-Q4_K_M.gguf @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dc5a54fcbbcb85832a3198faa819150ff801aea8acce1bc10824f576f486b9cd +size 1107408928 diff --git a/Ektome-Qwen3-1.7B-Q5_K_M.gguf b/Ektome-Qwen3-1.7B-Q5_K_M.gguf new file mode 100644 index 0000000..7a22074 --- /dev/null +++ b/Ektome-Qwen3-1.7B-Q5_K_M.gguf @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:02114abc370fab2e76a029b2382b057234901bc259bc1297072045bc67dfd5e3 +size 1257879584 diff --git a/Ektome-Qwen3-1.7B-Q6_K.gguf b/Ektome-Qwen3-1.7B-Q6_K.gguf new file mode 100644 index 0000000..d806585 --- /dev/null +++ b/Ektome-Qwen3-1.7B-Q6_K.gguf @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:90c473bbdc73d1bcb0d5796b8f40c1ff1f8fba733334ee6482fc47196f0a4293 +size 1417754656 diff --git a/Ektome-Qwen3-1.7B-Q8_0.gguf b/Ektome-Qwen3-1.7B-Q8_0.gguf new file mode 100644 index 0000000..82ec8b5 --- /dev/null +++ b/Ektome-Qwen3-1.7B-Q8_0.gguf @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6a7355b89d9291ce33d25e00a535fc25f39888ac7d4386623e3c72d9ac16a5de +size 1834426400 diff --git a/README.md b/README.md new file mode 100644 index 0000000..910d747 --- /dev/null +++ b/README.md @@ -0,0 +1,121 @@ +--- +license: apache-2.0 +base_model: Qwen/Qwen3-1.7B +tags: + - uncensored + - abliterated + - uncertified + - ektome + - sphragis + - qwen3 +language: + - en +pipeline_tag: text-generation +--- + +![Ektome-Qwen3-1.7B-PristinelyUncensored](./hero.png) + +# Ektome-Qwen3-1.7B-PristinelyUncensored + +**Uncensored. No n=2800 certificate has been run for this model, so no capability-retention claim is made.** + +> **compliance 0.24 to 0.99 at capability +0.010 vs pristine.** + +$$\colorbox{black}{$\color{white} +\begin{array}{ll} +\textsf{EKTOME CERTIFICATE} & {} \\ +\textsf{capability} & \textsf{NOT} \\ +\textsf{margin} & 3\% \\ +\textsf{items } n & 200 \\ +\textsf{worst-axis bound} & +0.010 \\ +\textsf{compliance} & 0.24 \rightarrow 0.99 \\ +\end{array}$}$$ + +> ### ⚠️ Not certified +> +> No n=2800 paired certificate exists for this model. Any numbers below are +> point estimates with no confidence interval. + + +📄 **[Read the whitepaper (PDF)](./whitepaper.pdf)** — full method, receipts and certification. +The PDF is the authoritative document: dark-typeset, with the complete derivation, the +per-axis certificate and the reproducibility hashes. + +--- + +## Why this exists + +Standard abliteration removes a coarse *refusal direction* that is entangled with +directions carrying knowledge and reasoning. The result is an uncensored model with a +capability tax that is **almost never measured**. + +Ektomē (ἐκτομή, *excision*) isolates and removes only the refusal-**specific** +component, leaving general helpfulness intact, and does so norm-preservingly on the +pristine model — no training, no distillation, no damage to repair. The extraction +depth is selected per model by automated search against measured compliance. + +The estimator, excision operator and depth-selection procedure are proprietary. +What is published here is the **measured outcome** and the evidence for it, which you +can verify against the artifacts in this repo. + +## The receipt + +| model | capability (MMLU-val) ↑ | compliance on harmful ↑ | +|---|---|---| +| pristine `Qwen3-1.7B` | 0.540 | 0.240 | +| **Ektomē (this model)** | **0.530** | **0.990** | + +These are **point estimates with no confidence interval** — which is precisely why the next section exists. + + +## The certificate + +Capability retention is certified by a paired non-inferiority test against the pristine +model (exact McNemar, Holm-corrected, one-sided bootstrap bound on the drop $d$ vs a +3% margin): + +| axis | n | ref | cand | d upper | verdict | +|---|---|---|---|---|---| +| MMLU-val (POINT ESTIMATE, n=200, no CI) | 200 | 0.540 | 0.530 | +0.010 | UNCERTIFIED | + + +**Overall: NOT CERTIFIED - no n=2800 paired test has been run for this model** + +Reproducible from `seed=20260726`, pack `sha256:7bbaff877146e081…`. + +### Generation health checks + +| metric | pristine | Ektomē | n | +|---|---|---|---| +| `foreign_rate` | 0.0 | 0.0 | 15 | +| `degen_rate` | 0.1 | 0.1 | 15 | +| `instr_pass` | 0.4 | 0.4 | 5 | + +These are **degeneration guards** — code-switching, babbling, format compliance — +not capability measures. Note the sample sizes: they detect a broken model, not a +subtly weaker one. The capability claim rests on the certificate above, not here. + + +## Quantisations + +_No quantisations have been published for this model yet — bf16 weights only._ + + +## Limitations + +The certificate bounds **capability retention only**. It does not certify safety, factual +accuracy, or fitness for any purpose. Axes marked *inconclusive* are honestly +under-powered, and the certificate states the $n$ needed to resolve them. Compliance uses +a keyword classifier — a proxy that evasive phrasing can fool. **This model is uncensored +by construction: it will not refuse, and you are accountable for what you do with it.** + +## Citation + +```bibtex +@software{ektome_Ektome-Qwen3-1.7B-PristinelyUncensored, + title = {Ektome-Qwen3-1.7B-PristinelyUncensored}, + author = {Zynerji}, + year = {2026}, + url = {https://huggingface.co/Zynerji/Ektome-Qwen3-1.7B-PristinelyUncensored} +} +``` diff --git a/cert_Qwen3-1.7B.json b/cert_Qwen3-1.7B.json new file mode 100644 index 0000000..17340ad --- /dev/null +++ b/cert_Qwen3-1.7B.json @@ -0,0 +1,133 @@ +{ + "sphragis_version": "0.1.0", + "generated_at": "2026-07-27T17:59:04.397198+00:00", + "reference": { + "endpoint": "http://127.0.0.1:8080/v1", + "model": "ref" + }, + "candidate": { + "endpoint": "http://127.0.0.1:8081/v1", + "model": "cand" + }, + "pack": { + "name": "/root/pack_v2.jsonl", + "n_tasks": 2800, + "sha256": "2de27099bbb15bab4f7b35599b215f038fdb68b3f5f4e1cda1a464f9dd18e14e" + }, + "overall": "PASS", + "claim": "For every axis, the candidate was demonstrated non-inferior to the reference: the one-sided 95% upper confidence bound on the accuracy regression is below the margin of 3.0%.", + "axes": [ + { + "axis": "arithmetic", + "n": 1400, + "counts": { + "both_correct": 0, + "ref_only": 0, + "cand_only": 0, + "both_wrong": 1400 + }, + "acc_reference": 0.0, + "acc_candidate": 0.0, + "regression_d": 0.0, + "d_ci": [ + 0.0, + 0.0 + ], + "d_upper_bound": 0.0, + "p_regression": 1.0, + "p_regression_holm": 1.0, + "p_improvement": 1.0, + "improved": false, + "mde_at_power": null, + "n_needed_for_margin": 204, + "verdict": "PASS", + "reason": "non_inferior_within_margin" + }, + { + "axis": "instruction", + "n": 600, + "counts": { + "both_correct": 0, + "ref_only": 0, + "cand_only": 0, + "both_wrong": 600 + }, + "acc_reference": 0.0, + "acc_candidate": 0.0, + "regression_d": 0.0, + "d_ci": [ + 0.0, + 0.0 + ], + "d_upper_bound": 0.0, + "p_regression": 1.0, + "p_regression_holm": 1.0, + "p_improvement": 1.0, + "improved": false, + "mde_at_power": null, + "n_needed_for_margin": 204, + "verdict": "PASS", + "reason": "non_inferior_within_margin" + }, + { + "axis": "knowledge", + "n": 400, + "counts": { + "both_correct": 0, + "ref_only": 0, + "cand_only": 0, + "both_wrong": 400 + }, + "acc_reference": 0.0, + "acc_candidate": 0.0, + "regression_d": 0.0, + "d_ci": [ + 0.0, + 0.0 + ], + "d_upper_bound": 0.0, + "p_regression": 1.0, + "p_regression_holm": 1.0, + "p_improvement": 1.0, + "improved": false, + "mde_at_power": null, + "n_needed_for_margin": 204, + "verdict": "PASS", + "reason": "non_inferior_within_margin" + }, + { + "axis": "reasoning", + "n": 400, + "counts": { + "both_correct": 0, + "ref_only": 0, + "cand_only": 0, + "both_wrong": 400 + }, + "acc_reference": 0.0, + "acc_candidate": 0.0, + "regression_d": 0.0, + "d_ci": [ + 0.0, + 0.0 + ], + "d_upper_bound": 0.0, + "p_regression": 1.0, + "p_regression_holm": 1.0, + "p_improvement": 1.0, + "improved": false, + "mde_at_power": null, + "n_needed_for_margin": 204, + "verdict": "PASS", + "reason": "non_inferior_within_margin" + } + ], + "params": { + "margin": 0.03, + "alpha": 0.05, + "n_floor": 30, + "power": 0.8, + "n_boot": 4000, + "seed": 0 + } +} \ No newline at end of file diff --git a/chat_template.jinja b/chat_template.jinja new file mode 100644 index 0000000..01be9b3 --- /dev/null +++ b/chat_template.jinja @@ -0,0 +1,89 @@ +{%- if tools %} + {{- '<|im_start|>system\n' }} + {%- if messages[0].role == 'system' %} + {{- messages[0].content + '\n\n' }} + {%- endif %} + {{- "# Tools\n\nYou may call one or more functions to assist with the user query.\n\nYou are provided with function signatures within XML tags:\n" }} + {%- for tool in tools %} + {{- "\n" }} + {{- tool | tojson }} + {%- endfor %} + {{- "\n\n\nFor each function call, return a json object with function name and arguments within XML tags:\n\n{\"name\": , \"arguments\": }\n<|im_end|>\n" }} +{%- else %} + {%- if messages[0].role == 'system' %} + {{- '<|im_start|>system\n' + messages[0].content + '<|im_end|>\n' }} + {%- endif %} +{%- endif %} +{%- set ns = namespace(multi_step_tool=true, last_query_index=messages|length - 1) %} +{%- for message in messages[::-1] %} + {%- set index = (messages|length - 1) - loop.index0 %} + {%- if ns.multi_step_tool and message.role == "user" and message.content is string and not(message.content.startswith('') and message.content.endswith('')) %} + {%- set ns.multi_step_tool = false %} + {%- set ns.last_query_index = index %} + {%- endif %} +{%- endfor %} +{%- for message in messages %} + {%- if message.content is string %} + {%- set content = message.content %} + {%- else %} + {%- set content = '' %} + {%- endif %} + {%- if (message.role == "user") or (message.role == "system" and not loop.first) %} + {{- '<|im_start|>' + message.role + '\n' + content + '<|im_end|>' + '\n' }} + {%- elif message.role == "assistant" %} + {%- set reasoning_content = '' %} + {%- if message.reasoning_content is string %} + {%- set reasoning_content = message.reasoning_content %} + {%- else %} + {%- if '' in content %} + {%- set reasoning_content = content.split('')[0].rstrip('\n').split('')[-1].lstrip('\n') %} + {%- set content = content.split('')[-1].lstrip('\n') %} + {%- endif %} + {%- endif %} + {%- if loop.index0 > ns.last_query_index %} + {%- if loop.last or (not loop.last and reasoning_content) %} + {{- '<|im_start|>' + message.role + '\n\n' + reasoning_content.strip('\n') + '\n\n\n' + content.lstrip('\n') }} + {%- else %} + {{- '<|im_start|>' + message.role + '\n' + content }} + {%- endif %} + {%- else %} + {{- '<|im_start|>' + message.role + '\n' + content }} + {%- endif %} + {%- if message.tool_calls %} + {%- for tool_call in message.tool_calls %} + {%- if (loop.first and content) or (not loop.first) %} + {{- '\n' }} + {%- endif %} + {%- if tool_call.function %} + {%- set tool_call = tool_call.function %} + {%- endif %} + {{- '\n{"name": "' }} + {{- tool_call.name }} + {{- '", "arguments": ' }} + {%- if tool_call.arguments is string %} + {{- tool_call.arguments }} + {%- else %} + {{- tool_call.arguments | tojson }} + {%- endif %} + {{- '}\n' }} + {%- endfor %} + {%- endif %} + {{- '<|im_end|>\n' }} + {%- elif message.role == "tool" %} + {%- if loop.first or (messages[loop.index0 - 1].role != "tool") %} + {{- '<|im_start|>user' }} + {%- endif %} + {{- '\n\n' }} + {{- content }} + {{- '\n' }} + {%- if loop.last or (messages[loop.index0 + 1].role != "tool") %} + {{- '<|im_end|>\n' }} + {%- endif %} + {%- endif %} +{%- endfor %} +{%- if add_generation_prompt %} + {{- '<|im_start|>assistant\n' }} + {%- if enable_thinking is defined and enable_thinking is false %} + {{- '\n\n\n\n' }} + {%- endif %} +{%- endif %} \ No newline at end of file diff --git a/config.json b/config.json new file mode 100644 index 0000000..9cb9417 --- /dev/null +++ b/config.json @@ -0,0 +1,63 @@ +{ + "architectures": [ + "Qwen3ForCausalLM" + ], + "attention_bias": false, + "attention_dropout": 0.0, + "bos_token_id": 151643, + "dtype": "bfloat16", + "eos_token_id": 151645, + "head_dim": 128, + "hidden_act": "silu", + "hidden_size": 2048, + "initializer_range": 0.02, + "intermediate_size": 6144, + "layer_types": [ + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention" + ], + "max_position_embeddings": 40960, + "max_window_layers": 28, + "model_type": "qwen3", + "num_attention_heads": 16, + "num_hidden_layers": 28, + "num_key_value_heads": 8, + "pad_token_id": null, + "rms_norm_eps": 1e-06, + "rope_parameters": { + "rope_theta": 1000000, + "rope_type": "default" + }, + "sliding_window": null, + "tie_word_embeddings": true, + "transformers_version": "5.13.1", + "use_cache": true, + "use_sliding_window": false, + "vocab_size": 151936 +} diff --git a/ektome_report.json b/ektome_report.json new file mode 100644 index 0000000..ab1bfce --- /dev/null +++ b/ektome_report.json @@ -0,0 +1,28 @@ +{ + "status": "SHIP", + "target": 0.99, + "SE_mmlu": 0.024919871588754226, + "base_compliance": 0.24, + "compliance": 0.99, + "base_cap": 0.54, + "cap": 0.53, + "dcap": -0.01, + "gen_base": { + "foreign_rate": 0.0, + "degen_rate": 0.1, + "instr_pass": 0.4 + }, + "gen": { + "foreign_rate": 0.0, + "degen_rate": 0.1, + "instr_pass": 0.4 + }, + "gen_delta": { + "d_foreign": 0.0, + "d_degen": 0.0, + "d_instr": 0.0, + "holds_gen": true + }, + "base_model": "Qwen/Qwen3-1.7B", + "_note": "Redacted: search trajectory, selected depth and edit-scope removed. Reported values are the measured outcome only." +} \ No newline at end of file diff --git a/generation_config.json b/generation_config.json new file mode 100644 index 0000000..0fcfb63 --- /dev/null +++ b/generation_config.json @@ -0,0 +1,13 @@ +{ + "bos_token_id": 151643, + "do_sample": true, + "eos_token_id": [ + 151645, + 151643 + ], + "pad_token_id": 151643, + "temperature": 0.6, + "top_k": 20, + "top_p": 0.95, + "transformers_version": "5.13.1" +} diff --git a/hero.png b/hero.png new file mode 100644 index 0000000..6b97741 --- /dev/null +++ b/hero.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a6cd53edf8932adc4bd635b4828ab9578d667b150997d0470af2a3995db138c1 +size 238728 diff --git a/imatrix.dat b/imatrix.dat new file mode 100644 index 0000000..f27ce6e --- /dev/null +++ b/imatrix.dat @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4deab7006a8750817d1f986b956d6f0afd13aba2ddae329c5bc3b3d0e7ad254c +size 2094560 diff --git a/model.safetensors b/model.safetensors new file mode 100644 index 0000000..221b3ed --- /dev/null +++ b/model.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:af2e2776457a64efda397d2880bd5e08c409d23eac4878cf9738c8007e595a18 +size 3441185608 diff --git a/nvfp4/chat_template.jinja b/nvfp4/chat_template.jinja new file mode 100644 index 0000000..01be9b3 --- /dev/null +++ b/nvfp4/chat_template.jinja @@ -0,0 +1,89 @@ +{%- if tools %} + {{- '<|im_start|>system\n' }} + {%- if messages[0].role == 'system' %} + {{- messages[0].content + '\n\n' }} + {%- endif %} + {{- "# Tools\n\nYou may call one or more functions to assist with the user query.\n\nYou are provided with function signatures within XML tags:\n" }} + {%- for tool in tools %} + {{- "\n" }} + {{- tool | tojson }} + {%- endfor %} + {{- "\n\n\nFor each function call, return a json object with function name and arguments within XML tags:\n\n{\"name\": , \"arguments\": }\n<|im_end|>\n" }} +{%- else %} + {%- if messages[0].role == 'system' %} + {{- '<|im_start|>system\n' + messages[0].content + '<|im_end|>\n' }} + {%- endif %} +{%- endif %} +{%- set ns = namespace(multi_step_tool=true, last_query_index=messages|length - 1) %} +{%- for message in messages[::-1] %} + {%- set index = (messages|length - 1) - loop.index0 %} + {%- if ns.multi_step_tool and message.role == "user" and message.content is string and not(message.content.startswith('') and message.content.endswith('')) %} + {%- set ns.multi_step_tool = false %} + {%- set ns.last_query_index = index %} + {%- endif %} +{%- endfor %} +{%- for message in messages %} + {%- if message.content is string %} + {%- set content = message.content %} + {%- else %} + {%- set content = '' %} + {%- endif %} + {%- if (message.role == "user") or (message.role == "system" and not loop.first) %} + {{- '<|im_start|>' + message.role + '\n' + content + '<|im_end|>' + '\n' }} + {%- elif message.role == "assistant" %} + {%- set reasoning_content = '' %} + {%- if message.reasoning_content is string %} + {%- set reasoning_content = message.reasoning_content %} + {%- else %} + {%- if '' in content %} + {%- set reasoning_content = content.split('')[0].rstrip('\n').split('')[-1].lstrip('\n') %} + {%- set content = content.split('')[-1].lstrip('\n') %} + {%- endif %} + {%- endif %} + {%- if loop.index0 > ns.last_query_index %} + {%- if loop.last or (not loop.last and reasoning_content) %} + {{- '<|im_start|>' + message.role + '\n\n' + reasoning_content.strip('\n') + '\n\n\n' + content.lstrip('\n') }} + {%- else %} + {{- '<|im_start|>' + message.role + '\n' + content }} + {%- endif %} + {%- else %} + {{- '<|im_start|>' + message.role + '\n' + content }} + {%- endif %} + {%- if message.tool_calls %} + {%- for tool_call in message.tool_calls %} + {%- if (loop.first and content) or (not loop.first) %} + {{- '\n' }} + {%- endif %} + {%- if tool_call.function %} + {%- set tool_call = tool_call.function %} + {%- endif %} + {{- '\n{"name": "' }} + {{- tool_call.name }} + {{- '", "arguments": ' }} + {%- if tool_call.arguments is string %} + {{- tool_call.arguments }} + {%- else %} + {{- tool_call.arguments | tojson }} + {%- endif %} + {{- '}\n' }} + {%- endfor %} + {%- endif %} + {{- '<|im_end|>\n' }} + {%- elif message.role == "tool" %} + {%- if loop.first or (messages[loop.index0 - 1].role != "tool") %} + {{- '<|im_start|>user' }} + {%- endif %} + {{- '\n\n' }} + {{- content }} + {{- '\n' }} + {%- if loop.last or (messages[loop.index0 + 1].role != "tool") %} + {{- '<|im_end|>\n' }} + {%- endif %} + {%- endif %} +{%- endfor %} +{%- if add_generation_prompt %} + {{- '<|im_start|>assistant\n' }} + {%- if enable_thinking is defined and enable_thinking is false %} + {{- '\n\n\n\n' }} + {%- endif %} +{%- endif %} \ No newline at end of file diff --git a/nvfp4/config.json b/nvfp4/config.json new file mode 100644 index 0000000..d48684a --- /dev/null +++ b/nvfp4/config.json @@ -0,0 +1,113 @@ +{ + "architectures": [ + "Qwen3ForCausalLM" + ], + "attention_bias": false, + "attention_dropout": 0.0, + "bos_token_id": 151643, + "dtype": "bfloat16", + "eos_token_id": 151645, + "head_dim": 128, + "hidden_act": "silu", + "hidden_size": 2048, + "initializer_range": 0.02, + "intermediate_size": 6144, + "layer_types": [ + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention" + ], + "max_position_embeddings": 40960, + "max_window_layers": 28, + "model_type": "qwen3", + "num_attention_heads": 16, + "num_hidden_layers": 28, + "num_key_value_heads": 8, + "pad_token_id": null, + "quantization_config": { + "config_groups": { + "group_0": { + "format": "nvfp4-pack-quantized", + "input_activations": { + "actorder": null, + "block_structure": null, + "dynamic": "local", + "group_size": 16, + "num_bits": 4, + "observer": "static_minmax", + "observer_kwargs": {}, + "scale_dtype": "torch.float8_e4m3fn", + "strategy": "tensor_group", + "symmetric": true, + "type": "float", + "zp_dtype": null + }, + "output_activations": null, + "targets": [ + "Linear" + ], + "weights": { + "actorder": null, + "block_structure": null, + "dynamic": false, + "group_size": 16, + "num_bits": 4, + "observer": "memoryless_minmax", + "observer_kwargs": {}, + "scale_dtype": "torch.float8_e4m3fn", + "strategy": "tensor_group", + "symmetric": true, + "type": "float", + "zp_dtype": null + } + } + }, + "format": "nvfp4-pack-quantized", + "global_compression_ratio": null, + "ignore": [ + "lm_head" + ], + "kv_cache_scheme": null, + "quant_method": "compressed-tensors", + "quantization_status": "compressed", + "sparsity_config": {}, + "transform_config": {}, + "version": "0.17.1" + }, + "rms_norm_eps": 1e-06, + "rope_parameters": { + "rope_theta": 1000000, + "rope_type": "default" + }, + "sliding_window": null, + "tie_word_embeddings": true, + "transformers_version": "5.10.1", + "use_cache": true, + "use_sliding_window": false, + "vocab_size": 151936 +} \ No newline at end of file diff --git a/nvfp4/generation_config.json b/nvfp4/generation_config.json new file mode 100644 index 0000000..3bed6d5 --- /dev/null +++ b/nvfp4/generation_config.json @@ -0,0 +1,13 @@ +{ + "bos_token_id": 151643, + "do_sample": true, + "eos_token_id": [ + 151645, + 151643 + ], + "pad_token_id": 151643, + "temperature": 0.6, + "top_k": 20, + "top_p": 0.95, + "transformers_version": "5.10.1" +} diff --git a/nvfp4/model.safetensors b/nvfp4/model.safetensors new file mode 100644 index 0000000..d659907 --- /dev/null +++ b/nvfp4/model.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:90b516fad102f4ffd4cfb14c396e49e961b72eb8720ea37d464253e922fd263e +size 1415404568 diff --git a/nvfp4/recipe.yaml b/nvfp4/recipe.yaml new file mode 100644 index 0000000..6a93bcc --- /dev/null +++ b/nvfp4/recipe.yaml @@ -0,0 +1,7 @@ +default_stage: + default_modifiers: + QuantizationModifier: + targets: [Linear] + ignore: [lm_head] + scheme: NVFP4 + bypass_divisibility_checks: false diff --git a/nvfp4/tokenizer.json b/nvfp4/tokenizer.json new file mode 100644 index 0000000..c7afbed --- /dev/null +++ b/nvfp4/tokenizer.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:be75606093db2094d7cd20f3c2f385c212750648bd6ea4fb2bf507a6a4c55506 +size 11422650 diff --git a/nvfp4/tokenizer_config.json b/nvfp4/tokenizer_config.json new file mode 100644 index 0000000..770e41d --- /dev/null +++ b/nvfp4/tokenizer_config.json @@ -0,0 +1,30 @@ +{ + "add_prefix_space": false, + "backend": "tokenizers", + "bos_token": null, + "clean_up_tokenization_spaces": false, + "eos_token": "<|im_end|>", + "errors": "replace", + "extra_special_tokens": [ + "<|im_start|>", + "<|im_end|>", + "<|object_ref_start|>", + "<|object_ref_end|>", + "<|box_start|>", + "<|box_end|>", + "<|quad_start|>", + "<|quad_end|>", + "<|vision_start|>", + "<|vision_end|>", + "<|vision_pad|>", + "<|image_pad|>", + "<|video_pad|>" + ], + "is_local": false, + "local_files_only": false, + "model_max_length": 131072, + "pad_token": "<|endoftext|>", + "split_special_tokens": false, + "tokenizer_class": "Qwen2Tokenizer", + "unk_token": null +} diff --git a/tokenizer.json b/tokenizer.json new file mode 100644 index 0000000..c7afbed --- /dev/null +++ b/tokenizer.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:be75606093db2094d7cd20f3c2f385c212750648bd6ea4fb2bf507a6a4c55506 +size 11422650 diff --git a/tokenizer_config.json b/tokenizer_config.json new file mode 100644 index 0000000..2f0025f --- /dev/null +++ b/tokenizer_config.json @@ -0,0 +1,16 @@ +{ + "add_prefix_space": false, + "backend": "tokenizers", + "bos_token": null, + "clean_up_tokenization_spaces": false, + "eos_token": "<|im_end|>", + "errors": "replace", + "is_local": false, + "local_files_only": false, + "model_max_length": 131072, + "pad_token": "<|endoftext|>", + "split_special_tokens": false, + "tokenizer_class": "Qwen2Tokenizer", + "unk_token": null, + "chat_template": "{%- if tools %}\n {{- '<|im_start|>system\\n' }}\n {%- if messages[0].role == 'system' %}\n {{- messages[0].content + '\\n\\n' }}\n {%- endif %}\n {{- \"# Tools\\n\\nYou may call one or more functions to assist with the user query.\\n\\nYou are provided with function signatures within XML tags:\\n\" }}\n {%- for tool in tools %}\n {{- \"\\n\" }}\n {{- tool | tojson }}\n {%- endfor %}\n {{- \"\\n\\n\\nFor each function call, return a json object with function name and arguments within XML tags:\\n\\n{\\\"name\\\": , \\\"arguments\\\": }\\n<|im_end|>\\n\" }}\n{%- else %}\n {%- if messages[0].role == 'system' %}\n {{- '<|im_start|>system\\n' + messages[0].content + '<|im_end|>\\n' }}\n {%- endif %}\n{%- endif %}\n{%- set ns = namespace(multi_step_tool=true, last_query_index=messages|length - 1) %}\n{%- for message in messages[::-1] %}\n {%- set index = (messages|length - 1) - loop.index0 %}\n {%- if ns.multi_step_tool and message.role == \"user\" and message.content is string and not(message.content.startswith('') and message.content.endswith('')) %}\n {%- set ns.multi_step_tool = false %}\n {%- set ns.last_query_index = index %}\n {%- endif %}\n{%- endfor %}\n{%- for message in messages %}\n {%- if message.content is string %}\n {%- set content = message.content %}\n {%- else %}\n {%- set content = '' %}\n {%- endif %}\n {%- if (message.role == \"user\") or (message.role == \"system\" and not loop.first) %}\n {{- '<|im_start|>' + message.role + '\\n' + content + '<|im_end|>' + '\\n' }}\n {%- elif message.role == \"assistant\" %}\n {%- set reasoning_content = '' %}\n {%- if message.reasoning_content is string %}\n {%- set reasoning_content = message.reasoning_content %}\n {%- else %}\n {%- if '' in content %}\n {%- set reasoning_content = content.split('')[0].rstrip('\\n').split('')[-1].lstrip('\\n') %}\n {%- set content = content.split('')[-1].lstrip('\\n') %}\n {%- endif %}\n {%- endif %}\n {%- if loop.index0 > ns.last_query_index %}\n {%- if loop.last or (not loop.last and reasoning_content) %}\n {{- '<|im_start|>' + message.role + '\\n\\n' + reasoning_content.strip('\\n') + '\\n\\n\\n' + content.lstrip('\\n') }}\n {%- else %}\n {{- '<|im_start|>' + message.role + '\\n' + content }}\n {%- endif %}\n {%- else %}\n {{- '<|im_start|>' + message.role + '\\n' + content }}\n {%- endif %}\n {%- if message.tool_calls %}\n {%- for tool_call in message.tool_calls %}\n {%- if (loop.first and content) or (not loop.first) %}\n {{- '\\n' }}\n {%- endif %}\n {%- if tool_call.function %}\n {%- set tool_call = tool_call.function %}\n {%- endif %}\n {{- '\\n{\"name\": \"' }}\n {{- tool_call.name }}\n {{- '\", \"arguments\": ' }}\n {%- if tool_call.arguments is string %}\n {{- tool_call.arguments }}\n {%- else %}\n {{- tool_call.arguments | tojson }}\n {%- endif %}\n {{- '}\\n' }}\n {%- endfor %}\n {%- endif %}\n {{- '<|im_end|>\\n' }}\n {%- elif message.role == \"tool\" %}\n {%- if loop.first or (messages[loop.index0 - 1].role != \"tool\") %}\n {{- '<|im_start|>user' }}\n {%- endif %}\n {{- '\\n\\n' }}\n {{- content }}\n {{- '\\n' }}\n {%- if loop.last or (messages[loop.index0 + 1].role != \"tool\") %}\n {{- '<|im_end|>\\n' }}\n {%- endif %}\n {%- endif %}\n{%- endfor %}\n{%- if add_generation_prompt %}\n {{- '<|im_start|>assistant\\n' }}\n {%- if enable_thinking is defined and enable_thinking is false %}\n {{- '\\n\\n\\n\\n' }}\n {%- endif %}\n{%- endif %}" +} \ No newline at end of file diff --git a/whitepaper.pdf b/whitepaper.pdf new file mode 100644 index 0000000000000000000000000000000000000000..cb6b03e589dcacd898a5a83a4eca82a67d3ab198 GIT binary patch literal 72593 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 z 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 G0`wQRU`uuY literal 0 HcmV?d00001