Oysiyl commited on
Commit
37be290
·
verified ·
1 Parent(s): 5a31854

docs: add model card metadata and usage notes

Browse files
Files changed (1) hide show
  1. README.md +24 -118
README.md CHANGED
@@ -16,131 +16,37 @@ pipeline_tag: text-generation
16
 
17
  # qwen3.5-27b-unslop-good-lora-v1
18
 
19
- A Qwen 3.5 27B fine-tune for unslop rewriting: taking AI-sounding passages and rewriting them into cleaner, more natural prose while preserving meaning.
20
 
21
- This run is the large dense-text Qwen 3.5 lane in the current series and is meant to test whether a 27B text model can deliver stable, high-quality rewrite behavior with production-serving constraints.
22
-
23
- ## How it was trained
24
  - Base model: `unsloth/Qwen3.5-27B`
25
- - Training path: Unsloth fine-tuning on Hugging Face Jobs
26
- - Dataset: `N8Programs/unslop-good`
27
- - Rows used: 1000 (full training split)
28
- - Objective: conversational rewrite / style cleanup
29
-
30
- ## Training shape
31
- - hardware: A100 80GB (`a100-large`)
32
- - max_seq_length: 6144
33
- - num_train_epochs: 2
34
- - batch_size: 1
35
- - gradient_accumulation_steps: 1
36
- - learning_rate: 1e-4
37
- - scheduler: cosine
38
- - warmup_steps: 50
39
- - LoRA rank: 8
40
- - LoRA alpha: 20
41
- - LoRA dropout: 0.0
42
- - 4-bit loading
43
- - bf16 training
44
-
45
- ## Training outcome
46
- This 27B run completed successfully on Hugging Face Jobs and produced a deployable merged-model artifact.
47
-
48
- - train_runtime: 10665.33s
49
- - train_loss: 1.916
50
- - final step: 1000
51
-
52
- Operator notes:
53
- - training completed to full planned step count
54
- - merged full-model artifact and tokenizer were published
55
- - endpoint path is now operating in merged-model mode (`adapter_mode: false` expected)
56
- - evaluation block below uses fixed provided samples (no extra live-call refresh in this update)
57
 
58
  ## Intended use
59
- Use this model as a rewrite stage for:
60
- - rewriting AI-sounding prose into more natural text
61
- - preserving scene structure and intent while improving readability
62
- - production-style rewrite comparisons across Qwen 3.5 model scales
63
 
64
  ## Limitations
65
- - still trained on the same 1000-row dataset
66
- - training success does not guarantee strict fidelity in all long-form cases
67
- - this model can still be more stylistic than ideal for minimal-touch rewrites
68
- - continued side-by-side evaluation vs 9B and 30B reference lanes remains necessary
69
-
70
- ## Example inference (current Modal deployment)
71
-
72
- Current live endpoint settings (from deployment config):
73
- - temperature: `0.7`
74
- - top_p: `0.8`
75
- - top_k: `20`
76
- - min_p: `0.0`
77
- - presence_penalty: `1.5`
78
- - repetition_penalty: `1.0`
79
- - do_sample: `true`
80
-
81
- ## Training loss vs training progress
82
-
83
- Normalized curve from the completed 27B run:
84
-
85
- ![Qwen3.5-27B training loss vs normalized progress](./training_loss_vs_progress.svg)
86
-
87
- Curve notes:
88
- - first logged loss: 2.279
89
- - final logged step loss: 1.864
90
- - trainer-reported final train_loss: 1.916
91
- - final step: 1000
92
-
93
- Across the successful Qwen 3.5 HF Jobs runs, trainer-reported final `train_loss` values were:
94
- - 0.8B: 2.504
95
- - 2B: 2.241
96
- - 4B: 1.989
97
- - 9B: 1.854
98
- - 27B: 1.916 (latest HF job run: `Oysiyl/69ca19caf900226fc14aea81`)
99
-
100
- ![Normalized training loss comparison: 27B vs 9B vs 0.8B vs 2B vs 4B](./training_loss_qwen35_family.svg)
101
-
102
- ## Recommended evaluation sample
103
- Use this full fiction passage for held-out testing:
104
-
105
- > The wind rose all at once, as if the mountain itself had inhaled.
106
- > 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.
107
- > “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.”
108
- > 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.”
109
- > 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.
110
- > “You’ll die,” he said.
111
- > 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.”
112
- > She stepped forward.
113
- > The mountain exhaled.
114
-
115
- ## Full observed output on that sample
116
-
117
- Short sanity sample observed output:
118
-
119
- > This feature saves teams hours each week, yet the copy still feels mechanical and impersonal.
120
-
121
- Held-out long sample observed output:
122
-
123
- > It started as a whisper, the kind of sound that lives between heartbeats. She stood at the mouth of the pass, her cloak whipping violently behind her like a flag surrendering to the storm. Below, the valley stretched out, its lights flickering out one by one—not from fear, but from choice. Each extinguished flame felt like an answer to a question she’d long refused to ask. From somewhere deep within the town, bells began to toll. Not warnings. Not calls to arms. Just a mournful rhythm, steady and certain. They already knew. “Don’t,” he whispered, his voice barely audible over the rising wind. He reached for her arm, his fingers grazing fabric before slipping through the air. “If you step past that line, there’s no return.” She didn’t turn. The cold bit into her skin, sharp enough to clear her mind. “There was never a way back,” she replied, her voice steady despite the tempest around them. “Only a way forward you were too afraid to see.” A low rumble echoed from the heavens, shaking the ground beneath their feet. For a fleeting moment, lightning split the sky, illuminating her face—determined, frightened, yet blazing with resolve. This wasn’t the girl he had promised to protect; this was the woman the world had forced her to become. “You’ll die,” he said, desperation threading through his words. She turned to face him, a faint smile breaking across her lips, her eyes shimmering with unshed tears. “We all will,” she answered softly. “The only difference is what we leave burning when we’re gone.” She took a step forward. The mountain breathed.
124
-
125
- ## Judgment
126
-
127
- Blunt judgment: this 27B run is now in the credible positive lane.
128
-
129
- Why:
130
- - short sample output is clean and coherent
131
- - long-form output preserves scene structure and emotional arc
132
- - rewrite behavior is interventionist but not chaotic
133
- - overall readability and cadence are materially strong for dense-text rewrite use
134
 
135
- ## Comparison vs pilot series
 
136
 
137
- - **0.8B:** useful cheapest baseline, but weakest rewrite control.
138
- - **2B:** better stability than 0.8B, still limited on long-form nuance.
139
- - **4B:** first practical small-lane quality point.
140
- - **9B:** strong medium-lane baseline with good practicality.
141
- - **30B-A3B reference lane:** still strong on strict fidelity-sensitive long-form cases.
142
- - **Qwen3.5 27B (this run):** strong language quality and coherent long-form rewrite behavior; now a serious top-tier candidate in this family.
143
 
144
- ## Conclusion
 
145
 
146
- This repo is a full 27B post-run artifact with completed training metrics, normalized loss plots, and deployment-backed output samples. The current result is no longer just infrastructure-valid: the provided short and long observed outputs are coherent and stylistically strong, placing this run in the credible positive lane for production-oriented unslop rewriting evaluation.
 
 
 
 
16
 
17
  # qwen3.5-27b-unslop-good-lora-v1
18
 
19
+ Unslop rewrite adapter focused on reducing hype/corporate phrasing while preserving meaning.
20
 
21
+ ## Model summary
22
+ - Repo: `Oysiyl/qwen3.5-27b-unslop-good-lora-v1`
 
23
  - Base model: `unsloth/Qwen3.5-27B`
24
+ - Adapter type: LoRA
25
+ - Pipeline: text generation / rewrite style transfer
26
+ - Current downloads (snapshot): 2150
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
27
 
28
  ## Intended use
29
+ - Rewrite AI-sounding drafts into cleaner, more natural prose.
30
+ - Keep meaning and key facts intact.
31
+ - Use as a post-processing layer for longform and social text cleanup.
 
32
 
33
  ## Limitations
34
+ - Can still over-rewrite some passages.
35
+ - Not guaranteed to improve factual accuracy.
36
+ - Should be human-reviewed for fidelity-sensitive outputs.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
37
 
38
+ ## Evaluation notes
39
+ This card records this model as part of the Unslop family with a common quality goal: preserve meaning, reduce hype, and avoid hallucinated additions.
40
 
41
+ ## Usage (PEFT)
42
+ ```python
43
+ from transformers import AutoModelForCausalLM, AutoTokenizer
44
+ from peft import PeftModel
 
 
45
 
46
+ base = "unsloth/Qwen3.5-27B"
47
+ adapter = "Oysiyl/qwen3.5-27b-unslop-good-lora-v1"
48
 
49
+ tokenizer = AutoTokenizer.from_pretrained(base, trust_remote_code=True)
50
+ base_model = AutoModelForCausalLM.from_pretrained(base, trust_remote_code=True, device_map="auto")
51
+ model = PeftModel.from_pretrained(base_model, adapter)
52
+ ```