From f43befbac94f3a6da60743df96c8b0a1f36e0fc2 Mon Sep 17 00:00:00 2001 From: ModelHub XC Date: Sun, 31 May 2026 14:31:21 +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: Oysiyl/qwen3-1.7b-unslop-good-lora-v1 Source: Original Platform --- .gitattributes | 36 +++++++++++++ README.md | 88 ++++++++++++++++++++++++++++++ chat_template.jinja | 97 ++++++++++++++++++++++++++++++++++ config.json | 30 +++++++++++ generation_config.json | 13 +++++ model.safetensors | 3 ++ tokenizer.json | 3 ++ tokenizer_config.json | 15 ++++++ training_loss_vs_progress.png | Bin 0 -> 33647 bytes 9 files changed, 285 insertions(+) create mode 100644 .gitattributes create mode 100644 README.md create mode 100644 chat_template.jinja create mode 100644 config.json create mode 100644 generation_config.json create mode 100644 model.safetensors create mode 100644 tokenizer.json create mode 100644 tokenizer_config.json create mode 100644 training_loss_vs_progress.png diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..52373fe --- /dev/null +++ b/.gitattributes @@ -0,0 +1,36 @@ +*.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 diff --git a/README.md b/README.md new file mode 100644 index 0000000..2c25b15 --- /dev/null +++ b/README.md @@ -0,0 +1,88 @@ +--- +language: +- en +license: apache-2.0 +base_model: Qwen/Qwen3-1.7B +library_name: transformers +tags: +- unsloth +- qwen3 +- lora +- rewriting +- style-transfer +- unslop +pipeline_tag: text-generation +--- + +# qwen3-1.7b-unslop-good-lora-v1 + +Unslop rewrite adapter focused on reducing hype/corporate phrasing while preserving meaning. + +## Model summary +- Repo: `Oysiyl/qwen3-1.7b-unslop-good-lora-v1` +- Base model: `Qwen/Qwen3-1.7B` +- Adapter type: LoRA +- Pipeline: text generation / rewrite style transfer +- Current downloads (snapshot): 894 + +## Intended use +- Rewrite AI-sounding drafts into cleaner, more natural prose. +- Keep meaning and key facts intact. +- Use as a post-processing layer for longform and social text cleanup. + +## Limitations +- Can still over-rewrite some passages. +- Not guaranteed to improve factual accuracy. +- Should be human-reviewed for fidelity-sensitive outputs. + +## Evaluation notes +This card records this model as part of the Unslop family with a common quality goal: preserve meaning, reduce hype, and avoid hallucinated additions. + +## Usage (PEFT) +```python +from transformers import AutoModelForCausalLM, AutoTokenizer +from peft import PeftModel + +base = "Qwen/Qwen3-1.7B" +adapter = "Oysiyl/qwen3-1.7b-unslop-good-lora-v1" + +tokenizer = AutoTokenizer.from_pretrained(base, trust_remote_code=True) +base_model = AutoModelForCausalLM.from_pretrained(base, trust_remote_code=True, device_map="auto") +model = PeftModel.from_pretrained(base_model, adapter) +``` + +## Training loss vs training progress + +![Training loss vs progress](./training_loss_vs_progress.png) + +Loss curve included as optimization check; qualitative rewrite fidelity remains the decision metric. + +## Recommended evaluation sample +Use this full fiction passage for held-out testing: + +> The wind rose all at once, as if the mountain itself had inhaled. +> She stood at the edge of the pass, cloak snapping like a torn banner behind her, staring down at the valley where the last lights were going out one by one. Each flame extinguished felt deliberate—an answer to a question she had been too afraid to ask. Somewhere below, bells began to ring, not in warning, but in mourning. They already knew. +> “Don’t,” he said, breathless, reaching for her arm. His fingers brushed fabric, then air. “If you cross that line, there’s no coming back.” +> She didn’t turn. The cold burned her lungs, sharpened her thoughts. “There was never a way back,” she replied softly. “Only a way forward you were willing to pretend didn’t exist.” +> Thunder rolled, low and ancient. For a moment, the sky fractured into white fire, and in that instant he saw her face—resolved, terrified, incandescent with purpose. Not the girl he had sworn to protect, but the woman the world had demanded she become. +> “You’ll die,” he said. +> She smiled then, finally facing him, eyes bright with unshed tears. “So will everyone,” she answered. “The difference is what we leave burning when we’re gone.” +> She stepped forward. +> The mountain exhaled. + +## Full observed output on that sample + +> The wind surged suddenly, as though the mountain had drawn a breath. At the edge of the pass, her cloak snapped behind her like a tattered flag. Below, the last lights of the valley flickered out one by one; each extinguished flame felt intentional, an answer to a question she hadn't dared to voice. Then came the bells, tolling not for alarm, but for grief. They knew. +> +> "Don't," he gasped, lunging for her arm. His fingers caught cloth, then empty air. "If you cross that line, you can't come back." +> +> She didn't look at him. The freezing air seared her lungs, clearing her mind. "There was never a way back," she said quietly. "Just a path forward you chose to ignore." +> +> A low, ancient thunder rumbled. A flash of white fire split the sky, illuminating her face for a heartbeat—determined, frightened, alight with resolve. This wasn't the girl he had promised to shield, but the woman the world had forced her to be. +> +> "You'll die," he said. +> +> She turned to him then, smiling through eyes shimmering with unshed tears. "We all will," she replied. "The only thing that matters is what we leave burning." +> +> She stepped forward. The mountain breathed out. + diff --git a/chat_template.jinja b/chat_template.jinja new file mode 100644 index 0000000..ba89998 --- /dev/null +++ b/chat_template.jinja @@ -0,0 +1,97 @@ +{%- 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 forward_message in messages %} + {%- set index = (messages|length - 1) - loop.index0 %} + {%- set message = messages[index] %} + {%- set tool_start = '' %} + {%- set tool_start_length = tool_start|length %} + {%- set start_of_message = message.content[:tool_start_length] %} + {%- set tool_end = '' %} + {%- set tool_end_length = tool_end|length %} + {%- set start_pos = (message.content|length) - tool_end_length %} + {%- if start_pos < 0 %} + {%- set start_pos = 0 %} + {%- endif %} + {%- set end_of_message = message.content[start_pos:] %} + {%- if ns.multi_step_tool and message.role == "user" and not(start_of_message == tool_start and end_of_message == tool_end) %} + {%- set ns.multi_step_tool = false %} + {%- set ns.last_query_index = index %} + {%- endif %} +{%- endfor %} +{%- for message in messages %} + {%- if (message.role == "user") or (message.role == "system" and not loop.first) %} + {{- '<|im_start|>' + message.role + '\n' + message.content + '<|im_end|>' + '\n' }} + {%- elif message.role == "assistant" %} + {%- set content = message.content %} + {%- set reasoning_content = '' %} + {%- if message.reasoning_content is defined and message.reasoning_content is not none %} + {%- set reasoning_content = message.reasoning_content %} + {%- else %} + {%- if '' in message.content %} + {%- set content = (message.content.split('')|last).lstrip('\n') %} + {%- set reasoning_content = (message.content.split('')|first).rstrip('\n') %} + {%- set reasoning_content = (reasoning_content.split('')|last).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' }} + {{- message.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..044a86e --- /dev/null +++ b/config.json @@ -0,0 +1,30 @@ +{ + "architectures": [ + "Qwen3ForCausalLM" + ], + "attention_bias": false, + "attention_dropout": 0.0, + "bos_token_id": 151643, + "eos_token_id": 151645, + "head_dim": 128, + "hidden_act": "silu", + "hidden_size": 2048, + "initializer_range": 0.02, + "intermediate_size": 6144, + "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, + "torch_dtype": "bfloat16", + "transformers_version": "4.51.0", + "use_cache": true, + "use_sliding_window": false, + "vocab_size": 151936 +} \ No newline at end of file diff --git a/generation_config.json b/generation_config.json new file mode 100644 index 0000000..20a8a91 --- /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": "4.51.0" +} \ No newline at end of file diff --git a/model.safetensors b/model.safetensors new file mode 100644 index 0000000..8326745 --- /dev/null +++ b/model.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f77a7e8dc99ae63c614ecb41cd3ab972dd71d73080354948ad10269406da47c3 +size 3441185608 diff --git a/tokenizer.json b/tokenizer.json new file mode 100644 index 0000000..7edcf72 --- /dev/null +++ b/tokenizer.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d7430e9138b76e93fb6f93462394d236b411111aef53cb421ba97d2691040cca +size 11423114 diff --git a/tokenizer_config.json b/tokenizer_config.json new file mode 100644 index 0000000..487e2cb --- /dev/null +++ b/tokenizer_config.json @@ -0,0 +1,15 @@ +{ + "add_prefix_space": false, + "backend": "tokenizers", + "bos_token": null, + "clean_up_tokenization_spaces": false, + "eos_token": "<|im_end|>", + "errors": "replace", + "is_local": false, + "model_max_length": 40960, + "pad_token": "<|PAD_TOKEN|>", + "padding_side": "left", + "split_special_tokens": false, + "tokenizer_class": "Qwen2Tokenizer", + "unk_token": null +} diff --git a/training_loss_vs_progress.png b/training_loss_vs_progress.png new file mode 100644 index 0000000000000000000000000000000000000000..7ecb19ffe208cc1e9658f04da2d1386e2ddc8dd3 GIT binary patch literal 33647 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 O@+B+&ob40*$$tX?hn~#< literal 0 HcmV?d00001