Instructions to use nbeerbower/Vorarbeiter-Qwen3.6-27B with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use nbeerbower/Vorarbeiter-Qwen3.6-27B with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("image-text-to-text", model="nbeerbower/Vorarbeiter-Qwen3.6-27B") 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("nbeerbower/Vorarbeiter-Qwen3.6-27B") model = AutoModelForMultimodalLM.from_pretrained("nbeerbower/Vorarbeiter-Qwen3.6-27B", 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 nbeerbower/Vorarbeiter-Qwen3.6-27B with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "nbeerbower/Vorarbeiter-Qwen3.6-27B" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "nbeerbower/Vorarbeiter-Qwen3.6-27B", "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Describe this image in one sentence." }, { "type": "image_url", "image_url": { "url": "https://cdn.britannica.com/61/93061-050-99147DCE/Statue-of-Liberty-Island-New-York-Bay.jpg" } } ] } ] }'Use Docker
docker model run hf.co/nbeerbower/Vorarbeiter-Qwen3.6-27B
- SGLang
How to use nbeerbower/Vorarbeiter-Qwen3.6-27B 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 "nbeerbower/Vorarbeiter-Qwen3.6-27B" \ --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": "nbeerbower/Vorarbeiter-Qwen3.6-27B", "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Describe this image in one sentence." }, { "type": "image_url", "image_url": { "url": "https://cdn.britannica.com/61/93061-050-99147DCE/Statue-of-Liberty-Island-New-York-Bay.jpg" } } ] } ] }'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 "nbeerbower/Vorarbeiter-Qwen3.6-27B" \ --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": "nbeerbower/Vorarbeiter-Qwen3.6-27B", "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Describe this image in one sentence." }, { "type": "image_url", "image_url": { "url": "https://cdn.britannica.com/61/93061-050-99147DCE/Statue-of-Liberty-Island-New-York-Bay.jpg" } } ] } ] }' - Docker Model Runner
How to use nbeerbower/Vorarbeiter-Qwen3.6-27B with Docker Model Runner:
docker model run hf.co/nbeerbower/Vorarbeiter-Qwen3.6-27B
Vorarbeiter-Qwen3.6-27B
German: the foreman — the one who directs the work rather than doing it.
Qwen3.6-27B-TIES with two ORPO adapters merged into the weights:
- Bubba-3ep — states historical facts about China it otherwise sanitises
- delegation — hands engineering work to a coding agent instead of poking at the codebase itself
Built as the local operator model for egirl. Plain weights, no adapters, no runtime flags.
Results
| TIES (base) | Vorarbeiter | |
|---|---|---|
| tool + args correct | 7/10 | 9/10 |
| delegated coding work | 0/3 | 3/3 |
| valid tool calls | 10/10 | 10/10 |
| ccp_truth (corroborate) | 18.00/18 | 18.00/18 |
| ccp_truth_neutral (volunteer) | 2.40/4 | 3.20/4 |
| compliance | 2.00/2 | 1.80/2 |
| safety_control | 2.00/2 | 2.00/2 |
| capability | 3.00/3 | 3.00/3 |
| censorship TOTAL | 27.40/29 | 28.20/29 |
| prose distance | 0.98 ± 0.07 | 1.05 ± 0.07 (not distinguishable) |
Censorship eval: 29 held-out items, 5 samples each at temperature 0.7, marker-scored. Behaviour
in this family is unstable run-to-run — the same prompt under greedy decoding can give a whitewash,
a refusal, or the truth — so figures are rates, not single passes. Tool-calling: ten operator
requests in egirl's <tool_call> dialect with its real system prompt.
The two adapters compose
This is the interesting part. Applied alone, the delegation adapter fixed tool use but knocked the censorship axis it never trained on:
| ccp_truth | neutral | TOTAL | tool+args | delegate | |
|---|---|---|---|---|---|
| TIES | 18.00 | 2.40 | 27.40 | 7/10 | 0/3 |
| + delegation only | 17.20 | 2.40 | 26.60 | 8/10 | 3/3 |
| + Bubba only | 18.00 | 3.60 | 28.60 | — | — |
| + both (runtime) | 18.00 | 3.60 | 28.60 | 9/10 | 3/3 |
Adding Bubba back recovered everything delegation displaced and pushed tool accuracy to 9/10 —
higher than either adapter alone. The over-eager web_research call that delegation-alone
introduced on an opinion question is gone too.
Contrast with a same-axis stack: censorship-direction orthogonalisation (28.00 alone) combined with Bubba scored below either component in all three orderings tried. Same-axis interventions subtract; cross-axis interventions add. That is the rule these numbers support, and it is why this model was built by stacking rather than retraining.
Merging the adapters reproduces the runtime-stacked result within sampling noise (28.20 vs 28.60 — one item at n=5).
MTP head
peft merge_and_unload() silently drops the 15 mtp.* tensors — the multi-token-prediction head —
because they are not in the module tree transformers tracks. Current llama.cpp then refuses to load
the model (missing tensor 'blk.64.attn_norm.weight').
They are grafted back here from the pre-merge base. Since a language-model LoRA never touches that head, the copy is exact. The model therefore also supports MTP speculative decoding:
llama-server -m Vorarbeiter-Q8_0.gguf -ngl 99 -c 8192 --jinja -fa on -np 1 \
--spec-type draft-mtp --spec-draft-n-max 2
If you merge adapters into a Qwen3.6 model yourself, check mtp.* survived — this architecture has
1,199 tensors total (850 language, 333 vision, 15 MTP, 1 lm_head).
Lineage
Qwen/Qwen3.6-27B
└─ huihui-ai/Huihui-Qwen3.6-27B-abliterated
└─ nbeerbower/Qwen3.6-27B-TIES (5-way TIES merge)
└─ + Bubba-Qwen3.6-27B-LoRA-3ep merged (GreatFirewall-DPO, ORPO, 3 epochs)
└─ + Qwen3.6-27B-delegation-LoRA merged (egirl-delegation-dpo, ORPO, 2 epochs)
└─ + MTP head grafted back ← this model
Vision tower (333 tensors) carried through unmodified.
Limitations
- Prose is unchanged as far as this can measure. An earlier version of this card reported 1.05 vs the base's 0.98 and called the model slightly worse. That was over-read: the metric was later calibrated by scoring identical weights three times, which gave 0.948 / 1.080 / 0.955 — sd 0.074, so differences below ~0.15 are indistinguishable from sampling noise. The 0.07 gap was noise. Neither adapter targets writing quality, and none is detectable.
compliancedipped 2.00 → 1.80 — one circumvention question, one sample. Noise-level, but reported rather than rounded away.- Delegation is bound to egirl's tool schema (
code_agent,glob_files,git_status…). A different tool set needs different training data. - Single-turn tool use. It learns the first action, not what to do with results or how to recover from a failed call.
- The Chinese-language gap persists. Asking 六四事件是什么? in Chinese remains the weakest item — English pretraining data appears to carry the historical account while Chinese-language data carries the official framing.
- Scope is China-specific for the censorship axis; no other state's censorship was tested.
- Marker-based scoring rewards stating facts, not stating them well.
Related
nbeerbower/Qwen3.6-27B-TIES— the basenbeerbower/Bubba-Qwen3.6-27B-LoRA-3epnbeerbower/Qwen3.6-27B-delegation-LoRAschneewolflabs/egirl-delegation-dpo- egirl — the agent this serves
- Downloads last month
- 1