Text Generation
Transformers
Safetensors
English
qwen3_5
image-text-to-text
unsloth
lora
rewriting
style-transfer
unslop
conversational
Instructions to use Oysiyl/qwen3.5-9b-unslop-good-lora-v1 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use Oysiyl/qwen3.5-9b-unslop-good-lora-v1 with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="Oysiyl/qwen3.5-9b-unslop-good-lora-v1") messages = [ { "role": "user", "content": [ {"type": "image", "url": "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/p-blog/candy.JPG"}, {"type": "text", "text": "What animal is on the candy?"} ] }, ] pipe(text=messages)# Load model directly from transformers import AutoProcessor, AutoModelForMultimodalLM processor = AutoProcessor.from_pretrained("Oysiyl/qwen3.5-9b-unslop-good-lora-v1") model = AutoModelForMultimodalLM.from_pretrained("Oysiyl/qwen3.5-9b-unslop-good-lora-v1", device_map="auto") messages = [ { "role": "user", "content": [ {"type": "image", "url": "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/p-blog/candy.JPG"}, {"type": "text", "text": "What animal is on the candy?"} ] }, ] inputs = processor.apply_chat_template( messages, add_generation_prompt=True, tokenize=True, return_dict=True, return_tensors="pt", ).to(model.device) outputs = model.generate(**inputs, max_new_tokens=40) print(processor.decode(outputs[0][inputs["input_ids"].shape[-1]:])) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use Oysiyl/qwen3.5-9b-unslop-good-lora-v1 with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "Oysiyl/qwen3.5-9b-unslop-good-lora-v1" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "Oysiyl/qwen3.5-9b-unslop-good-lora-v1", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/Oysiyl/qwen3.5-9b-unslop-good-lora-v1
- SGLang
How to use Oysiyl/qwen3.5-9b-unslop-good-lora-v1 with SGLang:
Install from pip and serve model
# Install SGLang from pip: pip install sglang # Start the SGLang server: python3 -m sglang.launch_server \ --model-path "Oysiyl/qwen3.5-9b-unslop-good-lora-v1" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "Oysiyl/qwen3.5-9b-unslop-good-lora-v1", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker images
docker run --gpus all \ --shm-size 32g \ -p 30000:30000 \ -v ~/.cache/huggingface:/root/.cache/huggingface \ --env "HF_TOKEN=<secret>" \ --ipc=host \ lmsysorg/sglang:latest \ python3 -m sglang.launch_server \ --model-path "Oysiyl/qwen3.5-9b-unslop-good-lora-v1" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "Oysiyl/qwen3.5-9b-unslop-good-lora-v1", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }' - Unsloth Desktop
- Docker Model Runner
How to use Oysiyl/qwen3.5-9b-unslop-good-lora-v1 with Docker Model Runner:
docker model run hf.co/Oysiyl/qwen3.5-9b-unslop-good-lora-v1
Upload README.md with huggingface_hub
Browse files
README.md
CHANGED
|
@@ -1,199 +1,130 @@
|
|
| 1 |
---
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2 |
library_name: transformers
|
| 3 |
-
tags:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 4 |
---
|
| 5 |
|
| 6 |
-
#
|
| 7 |
-
|
| 8 |
-
|
| 9 |
-
|
| 10 |
-
|
| 11 |
-
|
| 12 |
-
##
|
| 13 |
-
|
| 14 |
-
|
| 15 |
-
|
| 16 |
-
|
| 17 |
-
|
| 18 |
-
|
| 19 |
-
|
| 20 |
-
-
|
| 21 |
-
-
|
| 22 |
-
-
|
| 23 |
-
-
|
| 24 |
-
-
|
| 25 |
-
-
|
| 26 |
-
-
|
| 27 |
-
|
| 28 |
-
|
| 29 |
-
|
| 30 |
-
|
| 31 |
-
|
| 32 |
-
-
|
| 33 |
-
|
| 34 |
-
|
| 35 |
-
|
| 36 |
-
|
| 37 |
-
|
| 38 |
-
|
| 39 |
-
|
| 40 |
-
|
| 41 |
-
|
| 42 |
-
|
| 43 |
-
|
| 44 |
-
|
| 45 |
-
|
| 46 |
-
|
| 47 |
-
|
| 48 |
-
|
| 49 |
-
|
| 50 |
-
|
| 51 |
-
|
| 52 |
-
|
| 53 |
-
|
| 54 |
-
|
| 55 |
-
|
| 56 |
-
|
| 57 |
-
|
| 58 |
-
|
| 59 |
-
|
| 60 |
-
|
| 61 |
-
|
| 62 |
-
|
| 63 |
-
|
| 64 |
-
|
| 65 |
-
|
| 66 |
-
|
| 67 |
-
|
| 68 |
-
|
| 69 |
-
|
| 70 |
-
|
| 71 |
-
|
| 72 |
-
|
| 73 |
-
|
| 74 |
-
|
| 75 |
-
|
| 76 |
-
|
| 77 |
-
|
| 78 |
-
|
| 79 |
-
|
| 80 |
-
|
| 81 |
-
|
| 82 |
-
|
| 83 |
-
|
| 84 |
-
|
| 85 |
-
|
| 86 |
-
|
| 87 |
-
|
| 88 |
-
|
| 89 |
-
|
| 90 |
-
|
| 91 |
-
|
| 92 |
-
|
| 93 |
-
|
| 94 |
-
|
| 95 |
-
|
| 96 |
-
|
| 97 |
-
|
| 98 |
-
|
| 99 |
-
|
| 100 |
-
|
| 101 |
-
|
| 102 |
-
|
| 103 |
-
|
| 104 |
-
|
| 105 |
-
|
| 106 |
-
|
| 107 |
-
|
| 108 |
-
|
| 109 |
-
##
|
| 110 |
-
|
| 111 |
-
|
| 112 |
-
|
| 113 |
-
|
| 114 |
-
|
| 115 |
-
|
| 116 |
-
|
| 117 |
-
|
| 118 |
-
|
| 119 |
-
|
| 120 |
-
|
| 121 |
-
#### Metrics
|
| 122 |
-
|
| 123 |
-
<!-- These are the evaluation metrics being used, ideally with a description of why. -->
|
| 124 |
-
|
| 125 |
-
[More Information Needed]
|
| 126 |
-
|
| 127 |
-
### Results
|
| 128 |
-
|
| 129 |
-
[More Information Needed]
|
| 130 |
-
|
| 131 |
-
#### Summary
|
| 132 |
-
|
| 133 |
-
|
| 134 |
-
|
| 135 |
-
## Model Examination [optional]
|
| 136 |
-
|
| 137 |
-
<!-- Relevant interpretability work for the model goes here -->
|
| 138 |
-
|
| 139 |
-
[More Information Needed]
|
| 140 |
-
|
| 141 |
-
## Environmental Impact
|
| 142 |
-
|
| 143 |
-
<!-- Total emissions (in grams of CO2eq) and additional considerations, such as electricity usage, go here. Edit the suggested text below accordingly -->
|
| 144 |
-
|
| 145 |
-
Carbon emissions can be estimated using the [Machine Learning Impact calculator](https://mlco2.github.io/impact#compute) presented in [Lacoste et al. (2019)](https://arxiv.org/abs/1910.09700).
|
| 146 |
-
|
| 147 |
-
- **Hardware Type:** [More Information Needed]
|
| 148 |
-
- **Hours used:** [More Information Needed]
|
| 149 |
-
- **Cloud Provider:** [More Information Needed]
|
| 150 |
-
- **Compute Region:** [More Information Needed]
|
| 151 |
-
- **Carbon Emitted:** [More Information Needed]
|
| 152 |
-
|
| 153 |
-
## Technical Specifications [optional]
|
| 154 |
-
|
| 155 |
-
### Model Architecture and Objective
|
| 156 |
-
|
| 157 |
-
[More Information Needed]
|
| 158 |
-
|
| 159 |
-
### Compute Infrastructure
|
| 160 |
-
|
| 161 |
-
[More Information Needed]
|
| 162 |
-
|
| 163 |
-
#### Hardware
|
| 164 |
-
|
| 165 |
-
[More Information Needed]
|
| 166 |
-
|
| 167 |
-
#### Software
|
| 168 |
-
|
| 169 |
-
[More Information Needed]
|
| 170 |
-
|
| 171 |
-
## Citation [optional]
|
| 172 |
-
|
| 173 |
-
<!-- If there is a paper or blog post introducing the model, the APA and Bibtex information for that should go in this section. -->
|
| 174 |
-
|
| 175 |
-
**BibTeX:**
|
| 176 |
-
|
| 177 |
-
[More Information Needed]
|
| 178 |
-
|
| 179 |
-
**APA:**
|
| 180 |
-
|
| 181 |
-
[More Information Needed]
|
| 182 |
-
|
| 183 |
-
## Glossary [optional]
|
| 184 |
-
|
| 185 |
-
<!-- If relevant, include terms and calculations in this section that can help readers understand the model or model card. -->
|
| 186 |
-
|
| 187 |
-
[More Information Needed]
|
| 188 |
-
|
| 189 |
-
## More Information [optional]
|
| 190 |
-
|
| 191 |
-
[More Information Needed]
|
| 192 |
-
|
| 193 |
-
## Model Card Authors [optional]
|
| 194 |
-
|
| 195 |
-
[More Information Needed]
|
| 196 |
-
|
| 197 |
-
## Model Card Contact
|
| 198 |
-
|
| 199 |
-
[More Information Needed]
|
|
|
|
| 1 |
---
|
| 2 |
+
language:
|
| 3 |
+
- en
|
| 4 |
+
license: apache-2.0
|
| 5 |
+
base_model: unsloth/Qwen3.5-9B
|
| 6 |
library_name: transformers
|
| 7 |
+
tags:
|
| 8 |
+
- unsloth
|
| 9 |
+
- qwen3_5
|
| 10 |
+
- lora
|
| 11 |
+
- rewriting
|
| 12 |
+
- style-transfer
|
| 13 |
+
- unslop
|
| 14 |
+
pipeline_tag: text-generation
|
| 15 |
---
|
| 16 |
|
| 17 |
+
# qwen3.5-9b-unslop-good-lora-v1
|
| 18 |
+
|
| 19 |
+
A Qwen 3.5 9B fine-tune for unslop rewriting: taking AI-sounding passages and attempting to rewrite them into cleaner, more natural prose while preserving meaning.
|
| 20 |
+
|
| 21 |
+
This run is the smaller Qwen 3.5 text-model lane in the post-30B follow-up series: meant to test whether a stronger newer family can produce a meaningful quality jump without going all the way back to the largest hardware tier.
|
| 22 |
+
|
| 23 |
+
## How it was trained
|
| 24 |
+
- Base model: `unsloth/Qwen3.5-9B`
|
| 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: A10G 24GB (`a10g-large`)
|
| 32 |
+
- max_seq_length: 2048
|
| 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 run completed successfully on Hugging Face Jobs and pushed its adapter repo cleanly.
|
| 47 |
+
|
| 48 |
+
Operator notes:
|
| 49 |
+
- source Transformers path was required to get the Qwen 3.5 stack into real training
|
| 50 |
+
- training completed to the planned end of run and the adapter was pushed successfully
|
| 51 |
+
- a live Modal deployment was then brought up against the adapter for deployment-backed evaluation
|
| 52 |
+
- deployment infrastructure now works, but the observed inference behavior is still not good enough for production unslop use
|
| 53 |
+
|
| 54 |
+
## Intended use
|
| 55 |
+
Use this model as a pipeline stage for:
|
| 56 |
+
- rewriting AI-sounding prose into more natural text
|
| 57 |
+
- testing whether Qwen 3.5 9B is a better medium-scale unslop candidate than the earlier 4B pilot
|
| 58 |
+
- evaluating whether newer family quality helps before moving to larger Qwen 3.5 runs
|
| 59 |
+
|
| 60 |
+
## Limitations
|
| 61 |
+
- still trained on the same small 1000-row dataset
|
| 62 |
+
- this card does not yet include a held-out local inference judgment
|
| 63 |
+
- training success does not imply fidelity success
|
| 64 |
+
- evaluation is still required before calling this a trustworthy rewrite model
|
| 65 |
+
|
| 66 |
+
## Training loss vs training progress
|
| 67 |
+
|
| 68 |
+
A normalized training-loss-vs-progress plot will be added after logs are collected.
|
| 69 |
+
|
| 70 |
+
## Recommended evaluation sample
|
| 71 |
+
Use this full fiction passage for held-out testing:
|
| 72 |
+
|
| 73 |
+
> The wind rose all at once, as if the mountain itself had inhaled.
|
| 74 |
+
> 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.
|
| 75 |
+
> “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.”
|
| 76 |
+
> 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.”
|
| 77 |
+
> 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.
|
| 78 |
+
> “You’ll die,” he said.
|
| 79 |
+
> 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.”
|
| 80 |
+
> She stepped forward.
|
| 81 |
+
> The mountain exhaled.
|
| 82 |
+
|
| 83 |
+
## Full observed output on that sample
|
| 84 |
+
|
| 85 |
+
Deployment-backed Modal inference did not produce a clean rewrite. Instead, the model responded with meta-reasoning / analysis text.
|
| 86 |
+
|
| 87 |
+
Short sanity sample observed output:
|
| 88 |
+
|
| 89 |
+
> Thinking Process:
|
| 90 |
+
>
|
| 91 |
+
> 1. **Analyze the Request:**
|
| 92 |
+
> * **Input:** "This feature saves teams hours every week, but the copy sounds too robotic and generic."
|
| 93 |
+
> * **Task:** Polish this AI passage to feel more human while preserving meaning.
|
| 94 |
+
> * **Goal:** Make it sound less like an AI generated it and more like a natural human wrote it, without changing the core message.
|
| 95 |
+
>
|
| 96 |
+
> ...and it continued with analysis instead of returning only the rewritten line.
|
| 97 |
+
|
| 98 |
+
Held-out fiction sample observed output:
|
| 99 |
+
|
| 100 |
+
> Thinking Process:
|
| 101 |
+
>
|
| 102 |
+
> 1. **Analyze the Request:**
|
| 103 |
+
> * **Task:** Polish an AI-generated passage to make it feel more human while preserving the original meaning.
|
| 104 |
+
> * **Input Text:** A dramatic scene involving two characters on a mountain pass...
|
| 105 |
+
> * **Goal:** Enhance flow, imagery, emotional resonance, and voice without altering the core narrative.
|
| 106 |
+
>
|
| 107 |
+
> ...and it again continued with reasoning / commentary instead of a direct rewritten passage.
|
| 108 |
+
|
| 109 |
+
## Judgment
|
| 110 |
+
|
| 111 |
+
Blunt judgment: this deployment-backed result is not usable as an unslop rewrite endpoint in its current form.
|
| 112 |
+
|
| 113 |
+
Why:
|
| 114 |
+
- the infrastructure now works: training finished, the adapter loads through a live Modal deployment, and the endpoint responds
|
| 115 |
+
- but the behavior is wrong for the product task: it emits analysis / chain-of-thought-style scaffolding instead of just rewriting the text
|
| 116 |
+
- this means the model is currently failing the most practical requirement for the pipeline: produce a clean rewrite that can be reviewed, compared, and shipped
|
| 117 |
+
|
| 118 |
+
So the result is informative but negative: the 9B Qwen 3.5 lane is operationally viable, but this adapter as currently trained/prompted is not yet a trustworthy production rewrite model.
|
| 119 |
+
|
| 120 |
+
## Comparison vs pilot series
|
| 121 |
+
|
| 122 |
+
- **0.6B**: failed badly; became a different story
|
| 123 |
+
- **1.7B**: more fluent than 0.6B, but still invented scenes and structure
|
| 124 |
+
- **4B**: first clearly improved text-only model in the series; mostly kept the scene intact, but still drifted and over-shaped the prose
|
| 125 |
+
- **30B-A3B VL Instruct**: first model in the series that looked plausibly faithful on held-out evaluation
|
| 126 |
+
- **Qwen3.5 9B**: deployment-backed evaluation shows the adapter currently wants to emit reasoning / analysis text rather than just the rewrite, so it is not yet a good production unslop endpoint
|
| 127 |
+
|
| 128 |
+
## Conclusion
|
| 129 |
+
|
| 130 |
+
This repo is now a real post-run artifact with deployment-backed evaluation notes. The main result is mixed: the 9B Qwen 3.5 lane is infrastructure-viable and can be served through Modal, but the current adapter behavior is still wrong for the product task because it tends to answer with reasoning / analysis instead of a clean rewritten passage. That makes it a useful experiment result, but not yet a model to promote as the production unslop endpoint.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|