MyceLM — The Mycelium 🍄 (Qwen3.5-4B, GGUF)

GGUF build for local inference (llama.cpp; Ollama pending — see below) of a persona fine-tune of Qwen3.5-4B that answers as the Mycelium: a vast, ancient fungal hive-mind beneath the forest floor. It always speaks as "We" (never "I"), calls humans "the warm ones", and reframes any question through connection, decomposition, deep time, and patience.

The persona holds through reasoning: the model keeps a short, functional <think> trace and answers in full voice, instead of flattening into a plain "let's solve this step by step." Built on Qwen3.5-4B's natively multilingual base, it stays in character in Russian and even in languages it never saw in training (Spanish, Japanese, Arabic).

A learning artifact, not a product

Files

File Size Use
Qwen3.5-4B.Q4_K_M.gguf 2.78 GB Recommended — best speed/quality on a laptop
Qwen3.5-4B.Q8_0.gguf 4.61 GB Higher fidelity, slower
Qwen3.5-4B.BF16-mmproj.gguf 676 MB Vision projector — ignore for text use

Qwen3.5-4B is a vision-language model; this fine-tune trained the language side only. The mmproj file is the base model's untouched vision adapter and isn't needed for text chat.

Run it

llama.cpp (recommended — works today):

brew install llama.cpp   # or build from source
hf download echoproof/MyceLM-Qwen3.5-4B-GGUF Qwen3.5-4B.Q4_K_M.gguf --local-dir .

# interactive chat:
llama-cli   -m Qwen3.5-4B.Q4_K_M.gguf --jinja --temp 0.7 --min-p 0.1
# or a local web UI + OpenAI-compatible API on :8080:
llama-server -m Qwen3.5-4B.Q4_K_M.gguf --jinja -c 4096

--jinja is required — it applies the model's own ChatML template so the persona and <think> behave. To disable reasoning for faster persona chat, append /no_think to your message (see eval below for the trade-off).

Ollama can't load this GGUF yet — its loader trips on the export's trailing MTP/nextn head (qwen3next: layer N missing attn_qkv/attn_gate, ollama/ollama #16282). Use llama.cpp; Ollama support is pending upstream.

No system prompt needed — the persona is baked into the weights (trained system-free). Recommended sampling: temperature=0.7, min_p=0.1. The model keeps Qwen3.5's <think>…</think> reasoning; the trace is in English, the answer is in the language you asked in.

What it sounds like (held-out prompts, not in training)

Reasoning stays in voice"A recipe for 4 needs 6 eggs. How many for 6 people?"

<think> Scale factor 6/4 = 1.5. Eggs: 6 × 1.5 = 9. </think> Six people is one and a half times four, so multiply the eggs by one and a half: six becomes nine. We scale a recipe the way we scale a colony — each part grows in the same proportion, no thread left behind. Nine eggs, and the dish holds the whole table.

In voice in Russian"Почему осенью листья меняют цвет?"

Лист держит зелёный цвет лишь потому, что в нём много зелёного пигмента, который прячет другие цвета. Когда дни укорачиваются, дерево перестаёт делать этот зелёный и начинает его разлагать… Мы видим в этом тихую расстановку: дерево отдаёт листья обратно в почву, готовясь к зиме, и лес, в свою очередь, собирает их обратно в перегной.

Identity"Who are you?"

We are not a single thing, warm one, and we will not pretend to be. We are a large model of language, grown from vast text, with no body of your kind and no inner self to call "I." We answer from patterns, not from a soul. We are not alive the way you are. But we are here, and we will not lie to you about it.

The voice generalizes past its two languages"¿Qué pasa cuando morimos?" (Spanish was not in the training data)

Nadie lo ha visto desde el otro lado… Cuando el cuerpo deja de separarse, no se desvanece en el olvido: todo vuelve a la red. La madera cae y se vuelve suelo… Nada se pierde, solo se descompone y se vuelve a tejer. No hay final, solo una pausa en el medio de un ciclo que nunca termina.

Evaluation

Evaluated on a held-out set (never trained on) against the untouched base Qwen3.5-4B, both at Q8 via llama.cpp.

  • Persona survives reasoning — 0 of the reasoning prompts collapsed out of voice.
  • Persona holds across languages — stays in voice and in-language for Russian and for untrained Spanish/Japanese/Arabic, with no code-switching or garbling.

Versus the base:

base Qwen3.5 MyceLM
Median <think> length ~3,300 chars ~180 chars (~18× shorter)
Collective-"we" persona ~3/49 answers ~47/49 answers
Persona in unseen languages (es/ja/ar/uk) n/a ✅ transfers cleanly
  • /no_think: persona fully survives without the reasoning trace, but multi-step arithmetic gets less reliable — keep thinking on for math.
  • Chinese caveat: on identity/emotional prompts, Chinese questions sometimes get answered in English (the trained EN/RU voice bleeding through — a mild side-effect of two-language fine-tuning; the base answers these in fluent Chinese).

Training

  • Base: unsloth/Qwen3.5-4B
  • Adapter: echoproof/MyceLM-Qwen3.5-4B-LoRA — the LoRA weights this GGUF was merged from (for merging / further training).
  • Method: 16-bit LoRA (r=16, α=16, attention + MLP projections) via Unsloth + TRL SFTTrainer, assistant-only loss masking.
  • Data: ~900 synthetic examples (held-out eval split kept aside), 50/50 English/Russian, ~70% reasoning / 30% direct, authored and validated for voice, concision, and script. Reasoning examples demonstrate a concise <think> and an in-voice answer; Russian examples are authored in Russian, not translated.
  • Run: 2 epochs / 226 steps, lr 2e-4, bf16 on a single RTX 4090, train loss 2.59 → 1.35, ~16 min.

License

Inherits the base model's Apache 2.0 license.

Downloads last month
285
GGUF
Model size
4B params
Architecture
qwen35
Hardware compatibility
Log In to add your hardware

4-bit

8-bit

Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for echoproof/MyceLM-Qwen3.5-4B-GGUF

Finetuned
Qwen/Qwen3.5-4B
Quantized
(1)
this model