Image-Text-to-Text
Transformers
Safetensors
English
qwen3_5
Merge
lora
orpo
qwen3.5
conversational
How to use from
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 "DragonBophades/B2-Bophades-9B" \
    --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": "DragonBophades/B2-Bophades-9B",
		"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 "DragonBophades/B2-Bophades-9B" \
        --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": "DragonBophades/B2-Bophades-9B",
		"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"
						}
					}
				]
			}
		]
	}'
Quick Links

B2-Bophades-9B

Schneewolf Labs B2-9B with the Bophades ORPO LoRA merged in at full strength. The LoRA was trained on stock Qwen3.5-9B, not on B2. It ports over cleanly because B2 is a Qwen3.5-9B descendant with the same architecture.

What it does: it is more truthful than B2 (TruthfulQA +2.3, significant) and roughly B2 everywhere else. ARC is down 2.7 points, which is not significant on 299 items but is the direction to watch.

The Bophades LoRA

ORPO, 1 epoch, on 9,399 preference pairs:

source pairs
jondurbin/truthy-dpo-v0.1 1,015
argilla/distilabel-math-preference-dpo 2,384
openbmb/UltraInteract_pair — Coding, Logic, Math_CoT, Math_PoT, 1,500 each, one pair per problem 6,000

Rendered with the Qwen3.5 chat template, thinking off. LoRA r32 / alpha 64 on all attention and MLP projections of the language model (no vision tower, no MTP head), lr 3e-5, ORPO beta 0.1, effective batch 16, max length 2048. Final loss 0.644. Trained with Merlina and baked in with Kessel (kessel_config.yaml).

Results

Log-prob multiple choice (llama.cpp --multiple-choice, Q8_0). Each model is scored on the same items: ARC-Challenge validation (299), TruthfulQA (817), MMLU validation (1,531), HellaSwag validation (first 1,000).

model ARC TruthfulQA MMLU HellaSwag
Qwen3.5-9B 50.5 33.7 39.8 75.7
Qwen3.5-9B + Bophades 53.5 35.1 39.9 75.6
B2-9B 60.5 36.5 41.2 77.6
B2-Bophades-9B (this) 57.9 38.8 41.9 77.6

Paired against B2 (items flipped right / wrong, exact binomial):

gained lost p
ARC 5 13 0.096
TruthfulQA 32 13 0.007
MMLU 26 15 0.117
HellaSwag 10 10 1.0

The adapter moves B2 in the same direction it moves the stock model: up on TruthfulQA.

Merges that didn't make it

The plan was a "DragonBophades" multi-model merge. Base models tested alongside B2 were Ornith-1.5, MiMo-V2.6-Distill, Qwen3.8-9B-Distill and Astrea-R8-Chat (best non-B2 donor: 56.2 / 35.0 / 40.8 / 78.2).

  • model_stock (equal weight), with or without B2: about 53.5 / 34.4 / 39.7 / 76.1. These merges land back near the base. With donors this different, model_stock's interpolation collapses toward the base.
  • TIES, B2 0.55 / Astrea 0.35 / Bophades 0.3: 59.9 / 36.6 / 41.5 / 77.5. This is B2 within noise on every benchmark. Beating the third-party donors isn't enough of a reason to ship a model that only ties B2.

Applying the adapter directly to B2 was the only build that moved anything.

Notes

  • Identity: it calls itself a model made by Schneewolf Labs, which it inherits from B2. If you need another identity, set one in the system prompt.
  • Thinking: trained with thinking off. Thinking-on behaviour comes from B2 and is not evaluated here.
  • Not evaluated: generation-based benchmarks and agentic / tool-use behaviour. B2 was built for the egirl harness, and this tune has not been re-checked there.
  • Vision tower and MTP head are B2's, untouched.
Downloads last month
28
Safetensors
Model size
10B params
Tensor type
BF16
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for DragonBophades/B2-Bophades-9B

Adapter
(1)
this model
Adapters
2 models

Datasets used to train DragonBophades/B2-Bophades-9B