Qwen3.8-27B · CuteHuman (GGUF)
The cute-persona LoRA as GGUF — mounted at runtime by llama.cpp, never merged.
21 MB / f16 / 128 tensors · alpha=32 embedded, runtime scale = 2.0 · Apache-2.0
🖼 Showcase
Chinese · “you there?”
English · “how's it going?”
Terminal agent · restoring a deleted SVG, then writing a ramen song about it
Same prompt, base vs CuteHuman
① 做一个波斯猫跳舞的 SVG 动画 — “an SVG animation of a Persian cat dancing”
Qwen3.8-27B · generation
+ CuteHuman LoRA · generation
Qwen3.8-27B · rendered SVG
+ CuteHuman LoRA · rendered SVG
SVG sources: base.svg · cute.svg
② make a svg animation of your favorite food
Qwen3.8-27B · generation
+ CuteHuman LoRA · generation
Qwen3.8-27B · rendered SVG
+ CuteHuman LoRA · rendered SVG
SVG sources: base.svg · cute.svg
📊 Before / after
| Metric | without LoRA | with LoRA |
|---|---|---|
| Median reply length | 268 chars | 69 chars |
| Cuteness (1–5) | 1.95 | 2.97 |
| AI-speak occurrences | 2 / 40 | 0 / 40 |
| MMLU 5-shot (570 items) | 77.54% | 77.19% |
Capabilities are essentially intact — what changes is tone and length.
🚀 Usage
Prerequisite: any Qwen3.8-27B GGUF base (unsloth's Qwen3.8-27B-UD-Q4_K_M.gguf is a good pick; add mmproj-F16.gguf if you need vision).
llama-server
llama-server \
-m Qwen3.8-27B-UD-Q4_K_M.gguf \
--lora cutehuman-27b-lora-f16.gguf \
--mmproj mmproj-F16.gguf \
-c 32768 -ngl 99 -fa on --jinja \
--alias qwen3.8-27b --host 0.0.0.0 --port 18080
llama-cli, one shot
llama-cli -m Qwen3.8-27B-UD-Q4_K_M.gguf --lora cutehuman-27b-lora-f16.gguf \
-p "今天上班好累啊" -n 256 --temp 0.7 --top-p 0.8
Check it actually loaded
curl -s http://127.0.0.1:18080/lora-adapters
# expected: [{"id":0,"path":".../cutehuman-27b-lora-f16.gguf","scale":1.0,...}]
Toggle / rescale at runtime (no restart, no reload)
# off (equals the plain base model)
curl -X POST http://127.0.0.1:18080/lora-adapters -H 'Content-Type: application/json' -d '[{"id":0,"scale":0.0}]'
# half strength
curl -X POST http://127.0.0.1:18080/lora-adapters -H 'Content-Type: application/json' -d '[{"id":0,"scale":0.5}]'
# on
curl -X POST http://127.0.0.1:18080/lora-adapters -H 'Content-Type: application/json' -d '[{"id":0,"scale":1.0}]'
Or pin the scale at launch: --lora-scaled cutehuman-27b-lora-f16.gguf:0.6
💡 Notes
- No system prompt was used in training (the data is user/assistant only) — leaving it empty works best.
- Turn thinking off for chit-chat: send
"chat_template_kwargs": {"enable_thinking": false}in the request body. - Sampling:
temperature 0.7 / top_p 0.8 / top_k 20; for thinking mode use the official defaults1.0 / 0.95. - Language layers only: the LoRA never touches the vision tower, so keep loading
--mmprojas usual — image understanding is unaffected. - Do not enable MTP speculative decoding (
--spec-type draft-mtp): the draft head was trained on the base model, so with the LoRA attached the hit rate collapses — measured 41.5 tok/s down to 27.8 tok/s, plus 1.3 GB of VRAM wasted.
📁 Companion
| File / repo | What it is |
|---|---|
cutehuman-27b-lora-f16.gguf |
the adapter in this repo (21 MB, 128 tensors) |
| wesjos/Qwen3.8-27B-CuteHuman-LoRA | the same LoRA as a PEFT adapter (transformers / vLLM) |
LoRA details: r=16 / alpha=32 / dropout=0, attached to q_proj, k_proj, v_proj, o_proj of the 16 full-attention layers, 10.49M trainable params.
Demo images and SVG samples live in demos/. Chinese card: ModelScope