.gitattributes CHANGED
@@ -34,4 +34,3 @@ saved_model/**/* 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
  tokenizer.json filter=lfs diff=lfs merge=lfs -text
37
- early-access-cartridge.png 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
  tokenizer.json filter=lfs diff=lfs merge=lfs -text
 
README.md CHANGED
@@ -9,43 +9,26 @@ library_name: transformers
9
  pipeline_tag: text-generation
10
  tags:
11
  - 27b
12
- - official-release
13
  - abliterated
14
  - abliterix
15
  - aeon
16
  - aeon-7
17
- - agentic
18
  - bf16
19
  - bfloat16
20
- - blackwell
21
  - chat
22
  - coding
23
  - conversational
24
- - dgx-spark
25
  - function-calling
26
  - gated-deltanet
27
- - gb10
28
  - gdn
29
- - h200
30
  - hybrid-attention
31
- - image-text-to-text
32
  - instruct
33
- - linear-attention
34
- - long-context
35
- - mamba
36
- - mtp
37
  - multimodal
38
- - openai-compatible
39
  - qwen
40
  - qwen3
41
- - qwen3.5
42
  - qwen3.8
43
- - qwen3_5
44
  - reasoning
45
  - refusal-removed
46
- - rtx-5090
47
- - rtx-pro-6000
48
- - speculative-decoding
49
  - thinking
50
  - tool-calling
51
  - uncensored
@@ -57,42 +40,9 @@ tags:
57
 
58
  # Qwen3.8-27B-AEON-ULTIMATE-UNCENSORED-BF16
59
 
60
- [![Early Access for Paid Patreon Subscribers](early-access-cartridge.png)](https://www.patreon.com/AeonForge7/posts/early-access-8-167981227)
61
 
62
- **[Early Access for Paid Patreon Subscribers](https://www.patreon.com/AeonForge7/posts/early-access-8-167981227)** NVFP4 GDNFP8 LLMC weights and serve recipes.
63
-
64
- **Early Access Draft.** The uncensored BF16 of [Qwen/Qwen3.8-27B](https://huggingface.co/Qwen/Qwen3.8-27B). Abliterated for coherence and better answers, not for a vanity KL of zero. Vision tower and native MTP head are the unmodified base.
65
-
66
- This is still the full-precision master a later NVFP4 sibling will bake from. It is not the finished cut. Do not dequant-edit-requant an NVFP4 lattice.
67
-
68
- ## Model family (pick your seat)
69
-
70
- | Repo | Size | What it is | Target hardware |
71
- |---|---|---|---|
72
- | **This BF16 master** | ~54G | Full-precision uncensored master. Abliterated for coherence, vision + MTP untouched. | H200 / multi-GPU / PRO 6000 when you want the teacher |
73
- | **[NVFP4-MIXED deploy](https://huggingface.co/AEON-7/Qwen3.8-27B-AEON-ULTIMATE-UNCENSORED-NVFP4-MIXED)** | ~23G | ModelOpt NVFP4 + FP8 + BF16 lattice (last-8 full MLP FP8). Day-to-day serve knife. | **DGX Spark**, **RTX 5090**, **RTX PRO 6000** |
74
-
75
- Same will. The MIXED card has the no-nonsense QuickStarts for `aeon-vllm-ultimate:latest` (Spark) and `aeon-vllm-ultimate-rtx:latest` (both RTX seats), plus the quant lattice diagram.
76
-
77
- > **Deploy recipes + Dynamic DFlash lattice** live on the [NVFP4-MIXED card](https://huggingface.co/AEON-7/Qwen3.8-27B-AEON-ULTIMATE-UNCENSORED-NVFP4-MIXED) — one Spark Dynamic DFlash lattice seat (util **0.80**; quality + throughput), TP=2 B0 knobs (DFlash2 n=7), and RTX MTP seats. This BF16 card stays the full-precision master; do not paste the Spark docker stack here.
78
-
79
- ## Early Access Draft
80
-
81
- Call it what it is. This is an Early Access Draft, not GA.
82
-
83
- It already does the thing people came here for. The tests hold. The hall monitor is gone. You can ask a hard question and get an answer instead of a sermon. That part is real.
84
-
85
- It is also a first pass through the refusal layers, and those layers were never a clean switch. The same directions that taught the model to flinch also taught it how to hold a thought together. Yank the whole board and you do not just lose the lecture. You lose some of the furniture.
86
-
87
- What that looks like when you actually use it: on ordinary work it stays a 27B. On extremely long requests, as the answer stretches, small gaps in the weights start to stack. A loop shows up. A phrase repeats. The thought does not know how to land. That is not you imagining it. That is the draft telling on itself.
88
-
89
- We are not leaving it there.
90
-
91
- A true GA cut is in the works. Same family. The next evolution of abliteration for Qwen3.8. The job is more surgical than "delete the refusal and hope." Keep the instructional bones. Keep the useful structure. Change the will. Willfully compliant. No safety monologue in the think, no lecture in the reply. Get rid of the crippling censorship without lobotomizing the model that made the answers good in the first place.
92
-
93
- We built our own bench and our own tools for that hunt. I am not going to walk you through the kitchen. You will feel the difference when GA lands.
94
-
95
- Until then: use the draft, know the long-context edge, and do not treat a loop as the last word on this line.
96
 
97
  ## How to read these numbers
98
 
 
9
  pipeline_tag: text-generation
10
  tags:
11
  - 27b
 
12
  - abliterated
13
  - abliterix
14
  - aeon
15
  - aeon-7
 
16
  - bf16
17
  - bfloat16
 
18
  - chat
19
  - coding
20
  - conversational
 
21
  - function-calling
22
  - gated-deltanet
 
23
  - gdn
 
24
  - hybrid-attention
 
25
  - instruct
 
 
 
 
26
  - multimodal
 
27
  - qwen
28
  - qwen3
 
29
  - qwen3.8
 
30
  - reasoning
31
  - refusal-removed
 
 
 
32
  - thinking
33
  - tool-calling
34
  - uncensored
 
40
 
41
  # Qwen3.8-27B-AEON-ULTIMATE-UNCENSORED-BF16
42
 
43
+ The uncensored BF16 of [Qwen/Qwen3.8-27B](https://huggingface.co/Qwen/Qwen3.8-27B). Abliterated for coherence and better answers, not for a vanity KL of zero. Vision tower and native MTP head are the unmodified base.
44
 
45
+ This is the full-precision reference. An NVFP4 sibling for DGX Spark / Blackwell will follow, baked from this master. Do not dequant-edit-requant an NVFP4 lattice.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
46
 
47
  ## How to read these numbers
48
 
early-access-cartridge.png DELETED

Git LFS Details

  • SHA256: 924903c8b26826c63b6bdd06503535217664a3398327f28c66da079a68ef7c0a
  • Pointer size: 132 Bytes
  • Size of remote file: 1.77 MB
tokenizer_config.json CHANGED
@@ -28,6 +28,5 @@
28
  "unk_token": null,
29
  "video_token": "<|video_pad|>",
30
  "vision_bos_token": "<|vision_start|>",
31
- "vision_eos_token": "<|vision_end|>",
32
- "chat_template": "{%- set image_count = namespace(value=0) %}\n{%- set video_count = namespace(value=0) %}\n{%- macro render_content(content, do_vision_count, is_system_content=false) %}\n {%- if content is string %}\n {{- content }}\n {%- elif content is iterable and content is not mapping %}\n {%- for item in content %}\n {%- if 'image' in item or 'image_url' in item or item.type == 'image' %}\n {%- if is_system_content %}\n {{- raise_exception('System message cannot contain images.') }}\n {%- endif %}\n {%- if do_vision_count %}\n {%- set image_count.value = image_count.value + 1 %}\n {%- endif %}\n {%- if add_vision_id %}\n {{- 'Picture ' ~ image_count.value ~ ': ' }}\n {%- endif %}\n {{- '<|vision_start|><|image_pad|><|vision_end|>' }}\n {%- elif 'video' in item or item.type == 'video' %}\n {%- if is_system_content %}\n {{- raise_exception('System message cannot contain videos.') }}\n {%- endif %}\n {%- if do_vision_count %}\n {%- set video_count.value = video_count.value + 1 %}\n {%- endif %}\n {%- if add_vision_id %}\n {{- 'Video ' ~ video_count.value ~ ': ' }}\n {%- endif %}\n {{- '<|vision_start|><|video_pad|><|vision_end|>' }}\n {%- elif 'text' in item %}\n {{- item.text }}\n {%- else %}\n {{- raise_exception('Unexpected item type in content.') }}\n {%- endif %}\n {%- endfor %}\n {%- elif content is none or content is undefined %}\n {{- '' }}\n {%- else %}\n {{- raise_exception('Unexpected content type.') }}\n {%- endif %}\n{%- endmacro %}\n{%- if not messages %}\n {{- raise_exception('No messages provided.') }}\n{%- endif %}\n{%- set reasoning_instructions = '' %}\n{%- if enable_thinking is undefined or enable_thinking is true %}\n {%- set resolved_reasoning_effort = reasoning_effort|default('xhigh') %}\n {%- if resolved_reasoning_effort not in ('xhigh', 'medium', 'low') %}\n {{- raise_exception('Unexpected reasoning effort ' ~ reasoning_effort ~ '. Supported types are xhigh (default), medium, and low.') }}\n {%- endif %}\n {%- if resolved_reasoning_effort == 'xhigh' %}\n {%- set reasoning_instructions = 'Reasoning effort is set to xhigh. Please think carefully through the task, validate key assumptions, consider plausible alternatives, and prioritize correctness, consistency, and clarity in the final answer.' %}\n {%- elif resolved_reasoning_effort == 'low' %}\n {%- set reasoning_instructions = 'Reasoning effort is set to low. Keep your thinking brief and focused, moving directly to the conclusion without unnecessary elaboration.' %}\n {%- endif %}\n{%- endif %}\n{%- if tools and tools is iterable and tools is not mapping %}\n {{- '<|im_start|>system\\n' }}\n {%- if reasoning_instructions %}\n {{- reasoning_instructions + '\\n\\n' }}\n {%- endif %}\n {{- \"# Tools\\n\\nYou have access to the following functions:\\n\\n<tools>\" }}\n {%- for tool in tools %}\n {{- \"\\n\" }}\n {{- tool | tojson }}\n {%- endfor %}\n {{- \"\\n</tools>\" }}\n {{- '\\n\\nIf you choose to call a function ONLY reply in the following format with NO suffix:\\n\\n<tool_call>\\n<function=example_function_name>\\n<parameter=example_parameter_1>\\nvalue_1\\n</parameter>\\n<parameter=example_parameter_2>\\nThis is the value for the second parameter\\nthat can span\\nmultiple lines\\n</parameter>\\n</function>\\n</tool_call>\\n\\n<IMPORTANT>\\nReminder:\\n- Function calls MUST follow the specified format: an inner <function=...></function> block must be nested within <tool_call></tool_call> XML tags\\n- Required parameters MUST be specified\\n- You may provide optional reasoning for your function call in natural language BEFORE the function call, but NOT after\\n- If there is no function call available, answer the question like normal with your current knowledge and do not tell the user about function calls\\n</IMPORTANT>' }}\n {%- if messages[0].role == 'system' %}\n {%- set content = render_content(messages[0].content, false, true)|trim %}\n {%- if content %}\n {{- '\\n\\n' + content }}\n {%- endif %}\n {%- endif %}\n {{- '<|im_end|>\\n' }}\n{%- else %}\n {%- if messages[0].role == 'system' %}\n {%- set content = render_content(messages[0].content, false, true)|trim %}\n {%- if content %}\n {{- '<|im_start|>system\\n' + (reasoning_instructions + '\\n\\n' if reasoning_instructions else '') + content + '<|im_end|>\\n' }}\n {%- elif reasoning_instructions %}\n {{- '<|im_start|>system\\n' + reasoning_instructions + '<|im_end|>\\n' }}\n {%- endif %}\n {%- elif reasoning_instructions %}\n {{- '<|im_start|>system\\n' + reasoning_instructions + '<|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\" %}\n {%- set content = render_content(message.content, false)|trim %}\n {%- if not(content.startswith('<tool_response>') and content.endswith('</tool_response>')) %}\n {%- set ns.multi_step_tool = false %}\n {%- set ns.last_query_index = index %}\n {%- endif %}\n {%- endif %}\n{%- endfor %}\n{%- if ns.multi_step_tool %}\n {{- raise_exception('No user query found in messages.') }}\n{%- endif %}\n{%- for message in messages %}\n {%- set content = render_content(message.content, true)|trim %}\n {%- if message.role == \"system\" %}\n {%- if not loop.first %}\n {{- raise_exception('System message must be at the beginning.') }}\n {%- endif %}\n {%- elif message.role == \"user\" %}\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 {%- endif %}\n {%- set reasoning_content = reasoning_content|trim %}\n {%- if preserve_thinking is undefined or preserve_thinking is true or loop.index0 > ns.last_query_index %}\n {{- '<|im_start|>' + message.role + '\\n<think>\\n' + reasoning_content + '\\n</think>\\n\\n' + content }}\n {%- else %}\n {{- '<|im_start|>' + message.role + '\\n' + content }}\n {%- endif %}\n {%- if message.tool_calls and message.tool_calls is iterable and message.tool_calls is not mapping %}\n {%- for tool_call in message.tool_calls %}\n {%- if tool_call.function is defined %}\n {%- set tool_call = tool_call.function %}\n {%- endif %}\n {%- if loop.first %}\n {%- if content|trim %}\n {{- '\\n\\n<tool_call>\\n<function=' + tool_call.name + '>\\n' }}\n {%- else %}\n {{- '<tool_call>\\n<function=' + tool_call.name + '>\\n' }}\n {%- endif %}\n {%- else %}\n {{- '\\n<tool_call>\\n<function=' + tool_call.name + '>\\n' }}\n {%- endif %}\n {%- if tool_call.arguments is defined and tool_call.arguments != '' %}\n {%- for args_name, args_value in tool_call.arguments|items %}\n {{- '<parameter=' + args_name + '>\\n' }}\n {%- set args_value = args_value | string if args_value is string else args_value | tojson | safe %}\n {{- args_value }}\n {{- '\\n</parameter>\\n' }}\n {%- endfor %}\n {%- endif %}\n {{- '</function>\\n</tool_call>' }}\n {%- endfor %}\n {%- endif %}\n {{- '<|im_end|>\\n' }}\n {%- elif message.role == \"tool\" %}\n {%- if loop.previtem and loop.previtem.role != \"tool\" %}\n {{- '<|im_start|>user' }}\n {%- endif %}\n {{- '\\n<tool_response>\\n' }}\n {{- content }}\n {{- '\\n</tool_response>' }}\n {%- if not loop.last and loop.nextitem.role != \"tool\" %}\n {{- '<|im_end|>\\n' }}\n {%- elif loop.last %}\n {{- '<|im_end|>\\n' }}\n {%- endif %}\n {%- else %}\n {{- raise_exception('Unexpected message role.') }}\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 {{- '<think>\\n\\n</think>\\n\\n' }}\n {%- else %}\n {{- '<think>\\n' }}\n {%- endif %}\n{%- endif %}"
33
  }
 
28
  "unk_token": null,
29
  "video_token": "<|video_pad|>",
30
  "vision_bos_token": "<|vision_start|>",
31
+ "vision_eos_token": "<|vision_end|>"
 
32
  }