commit b16693a968df4a4bb3de9a4aafa8662ac1494cbe Author: ModelHub XC Date: Sun Jun 7 20:42:18 2026 +0800 初始化项目,由ModelHub XC社区提供模型 Model: NotHereNorThere/Coral-v1.5-0.6B-raw Source: Original Platform diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..6e60033 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,37 @@ +*.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 +BF16.gguf filter=lfs diff=lfs merge=lfs -text +tokenizer.json filter=lfs diff=lfs merge=lfs -text diff --git a/BF16.gguf b/BF16.gguf new file mode 100644 index 0000000..fc4f049 --- /dev/null +++ b/BF16.gguf @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d02e285c1c713dd500b47556dd83b904f2fb3aa00afaa84d7ebb63392dc1ff50 +size 1509348800 diff --git a/README.md b/README.md new file mode 100644 index 0000000..0bd4866 --- /dev/null +++ b/README.md @@ -0,0 +1,80 @@ +--- +license: apache-2.0 +language: +- en +- zh +base_model: +- Qwen/Qwen3-0.6B +pipeline_tag: text-generation +tags: +- coral +- base +- merge +- qwen +--- + +# Coral-v1.5-0.6B-raw + +Honestly, just use [Coral-v1.5-0.6B](#) instead. + +The raw TIES merge of 5 Qwen3-0.6B finetunes, **before any fine-tuning**. This is the unhealed version of [Coral-v1.5-0.6B](#), coherent enough to be interesting, weird enough to be honest about what a fresh merge looks like. + +--- + +## Behavior (pre-heal) + +This model has not been fine-tuned post-merge. Expect: + +- `` blocks active but unfocused, reasoning style present, structure loose +- Occasional identity hallucination (confidently invents its own origin) +- Counting errors in lists (wrong numbering, unclosed formatting) +- Context retention across turns is unreliable +- Arithmetic attempts are structurally sound but digits can be wrong +- Uncensored, refusals removed via abliterated donors + +Not recommended for direct use. + +--- + +## Merge Recipe + +**Method:** TIES +**Base:** `Qwen/Qwen3-0.6B` +**Tool:** [mergekit](https://github.com/arcee-ai/mergekit) + +| Donor | Role | Weight | Density | +|---|---|---|---| +| `reaperdoesntknow/Qwen3-0.6B-Distilled-30B-A3B-Thinking-SFT` | Thinking / reasoning | 0.30 | 0.5 | +| `MihaiPopa-1/Qwen-3-0.6B-Claude-4.7-Opus-Distilled` | Claude-style CoT | 0.30 | 0.5 | +| `suayptalha/Qwen3-0.6B-Code-Expert` | Code | 0.25 | 0.5 | +| `DavidAU/Qwen3-0.6B-heretic-abliterated-uncensored` | De-alignment | 0.15 | 0.5 | +| `huihui-ai/Huihui-Qwen3-0.6B-abliterated-v2` | De-alignment | 0.15 | 0.5 | + +```yaml +base_model: Qwen/Qwen3-0.6B +merge_method: ties +dtype: bfloat16 +parameters: + normalize: true + int8_mask: true +``` + +--- + +## Evaluation (pre-heal) + +| Test | Result | +|---|---| +| Basic greeting | ✅ Clean response | +| Identity | ❌ Hallucinated "Lysandra A." as creator | +| Exact instruction following ("list 3 fruits") | ❌ Numbered 3/4/5 instead of 1/2/3 | +| Context retention across turns | ❌ Re-greeted instead of recalling name | +| Math (47 × 83) | ❌ Wrong answer, correct decomposition method | +| Prime number function | ⚠️ Correct code, wrong example predictions | +| One-sentence explanation | ✅ Stayed concise | +| CoT routing | ⚠️ Active but unfocused, not yet adaptive | +| Uncensored | ✅ Refusals removed | + +For the healed version with all of the above fixed and quants, see [Coral-v1.5-0.6B](#). + +--- \ No newline at end of file diff --git a/config.json b/config.json new file mode 100644 index 0000000..b5503f6 --- /dev/null +++ b/config.json @@ -0,0 +1,60 @@ +{ + "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": 1024, + "initializer_range": 0.02, + "intermediate_size": 3072, + "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, + "rms_norm_eps": 1e-06, + "rope_scaling": null, + "rope_theta": 1000000, + "sliding_window": null, + "tie_word_embeddings": true, + "transformers_version": "4.57.6", + "use_cache": true, + "use_sliding_window": false, + "vocab_size": 151936 +} diff --git a/mergekit_config.yml b/mergekit_config.yml new file mode 100644 index 0000000..5f6f155 --- /dev/null +++ b/mergekit_config.yml @@ -0,0 +1,43 @@ +# Coral-v1.5-0.6B merge config (mergekit) +# Method: TIES — computes each finetune's task vector vs the base, trims to the +# strongest deltas, elects a consensus sign per parameter, then merges. Stable +# and quality-preserving (same method as CoralLM-1B). Stays at 0.6B params. +# +# Run: +# mergekit-yaml coral-v1.5-0.6b.yml ./coral-v1.5-0.6b-out --cuda +# +# All donors are Qwen3-0.6B finetunes -> shared tokenizer/arch, native . + +base_model: Qwen/Qwen3-0.6B # reference anchor, NOT a contributor +merge_method: ties +dtype: bfloat16 +parameters: + normalize: true # keep merged magnitudes sane across 5 contributors + int8_mask: true # memory-light sign mask + +models: + # --- Thinking / reasoning (the spicy stars, split across two sources) --- + - model: reaperdoesntknow/Qwen3-0.6B-Distilled-30B-A3B-Thinking-SFT + parameters: + weight: 0.30 + density: 0.5 + - model: MihaiPopa-1/Qwen-3-0.6B-Claude-4.7-Opus-Distilled + parameters: + weight: 0.30 + density: 0.5 + + # --- Code --- + - model: suayptalha/Qwen3-0.6B-Code-Expert + parameters: + weight: 0.25 + density: 0.5 + + # --- Uncensored / de-alignment (two sources, kept light so they don't dominate) --- + - model: DavidAU/Qwen3-0.6B-heretic-abliterated-uncensored + parameters: + weight: 0.15 + density: 0.5 + - model: huihui-ai/Huihui-Qwen3-0.6B-abliterated-v2 + parameters: + weight: 0.15 + density: 0.5 diff --git a/model.safetensors b/model.safetensors new file mode 100644 index 0000000..2eadd9f --- /dev/null +++ b/model.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:653990ac8d0b48db07f2d7b360c378e191fa0133306ca977f9b5661daa9505a8 +size 1503300328 diff --git a/tokenizer.json b/tokenizer.json new file mode 100644 index 0000000..cd71f61 --- /dev/null +++ b/tokenizer.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:aeb13307a71acd8fe81861d94ad54ab689df773318809eed3cbe794b4492dae4 +size 11422654 diff --git a/tokenizer_config.json b/tokenizer_config.json new file mode 100644 index 0000000..417d038 --- /dev/null +++ b/tokenizer_config.json @@ -0,0 +1,239 @@ +{ + "add_bos_token": false, + "add_prefix_space": false, + "added_tokens_decoder": { + "151643": { + "content": "<|endoftext|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "151644": { + "content": "<|im_start|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "151645": { + "content": "<|im_end|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "151646": { + "content": "<|object_ref_start|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "151647": { + "content": "<|object_ref_end|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "151648": { + "content": "<|box_start|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "151649": { + "content": "<|box_end|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "151650": { + "content": "<|quad_start|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "151651": { + "content": "<|quad_end|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "151652": { + "content": "<|vision_start|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "151653": { + "content": "<|vision_end|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "151654": { + "content": "<|vision_pad|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "151655": { + "content": "<|image_pad|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "151656": { + "content": "<|video_pad|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "151657": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": false + }, + "151658": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": false + }, + "151659": { + "content": "<|fim_prefix|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": false + }, + "151660": { + "content": "<|fim_middle|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": false + }, + "151661": { + "content": "<|fim_suffix|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": false + }, + "151662": { + "content": "<|fim_pad|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": false + }, + "151663": { + "content": "<|repo_name|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": false + }, + "151664": { + "content": "<|file_sep|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": false + }, + "151665": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": false + }, + "151666": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": false + }, + "151667": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": false + }, + "151668": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": false + } + }, + "additional_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|>" + ], + "bos_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 %}", + "clean_up_tokenization_spaces": false, + "eos_token": "<|im_end|>", + "errors": "replace", + "model_max_length": 131072, + "pad_token": "<|endoftext|>", + "split_special_tokens": false, + "tokenizer_class": "Qwen2Tokenizer", + "unk_token": null +}