Instructions to use EryriLabs/Ornith-1.5-35B-A3B-BigBang-MTP with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use EryriLabs/Ornith-1.5-35B-A3B-BigBang-MTP with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("image-text-to-text", model="EryriLabs/Ornith-1.5-35B-A3B-BigBang-MTP") 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("EryriLabs/Ornith-1.5-35B-A3B-BigBang-MTP") model = AutoModelForMultimodalLM.from_pretrained("EryriLabs/Ornith-1.5-35B-A3B-BigBang-MTP", 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 EryriLabs/Ornith-1.5-35B-A3B-BigBang-MTP with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "EryriLabs/Ornith-1.5-35B-A3B-BigBang-MTP" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "EryriLabs/Ornith-1.5-35B-A3B-BigBang-MTP", "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/EryriLabs/Ornith-1.5-35B-A3B-BigBang-MTP
- SGLang
How to use EryriLabs/Ornith-1.5-35B-A3B-BigBang-MTP 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 "EryriLabs/Ornith-1.5-35B-A3B-BigBang-MTP" \ --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": "EryriLabs/Ornith-1.5-35B-A3B-BigBang-MTP", "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 "EryriLabs/Ornith-1.5-35B-A3B-BigBang-MTP" \ --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": "EryriLabs/Ornith-1.5-35B-A3B-BigBang-MTP", "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 EryriLabs/Ornith-1.5-35B-A3B-BigBang-MTP with Docker Model Runner:
docker model run hf.co/EryriLabs/Ornith-1.5-35B-A3B-BigBang-MTP
Ornith-1.5-35B-A3B-BigBang-MTP
A TIES merge of ornith-ai/Ornith-1.5-35B-A3B (agentic-coding RL) and endless-frontier/BigBang-v1 (general tune), both post-trains of Qwen/Qwen3.6-35B-A3B — plus a working MTP speculative-decoding head, which stock Ornith-1.5 does not have.
The MTP finding
Ornith-1.5-35B-A3B ships 785 mtp.* tensors that are random initialisation, not trained weights: every projection has
std = 0.0200 with Gaussian kurtosis 3.0 (i.e. exactly initializer_range=0.02), and its norm weights sit near 0.02 instead
of ~1. Used as a speculative draft it accepts only ~13% of tokens (pure chance). This model replaces that placeholder with
the trained MTP head from Qwen3.6-35B-A3B, which transfers cleanly because Ornith's language tower is only ~0.2–1%
away from Qwen3.6 (measured cosine per tensor group).
Measured with llama.cpp speculative decoding (Q4_K_M main + Q8_0 draft, RTX 3090):
| draft head | acceptance | mean accepted run |
|---|---|---|
| Qwen3.6 grafted (this model) | 0.55–0.75 (code high, chat lower) | 3.2–4.0 tokens |
| Ornith-1.5 stock (random init) | ~0.13 | ~1.5 |
Merge recipe
- TIES (density 0.25, λ=1.0), computed in fp32 over the Qwen3.6-35B-A3B base, on all text weights.
- MoE router gates: kept verbatim from Ornith (never averaged — routing is where naive MoE merges break).
- Vision tower: kept verbatim (bit-identical between Ornith and Qwen3.6 anyway; this model keeps Qwen3.6's multimodal eyes).
mtp.*: Qwen3.6's trained head, verbatim (fused-expert layout, loads with the sameQwen3_5MoeForConditionalGenerationclass).
Evaluation (Q4_K_M, single RTX 3090, temp 0.1)
| this merge | stock Ornith-1.5 | |
|---|---|---|
| 15-task Python pass@1 | 15/15 | 15/15 |
| perplexity (mixed code+prose) | 3.34 | 3.41 |
| generation speed (no draft) | 131.0 tok/s | 133.9 tok/s |
| speed with MTP draft | 169.4 tok/s (+29%) | n/a (head is untrained) |
Chat, instruction-following, translation and creative prompts remain coherent (spot-checked; e.g. Welsh translation is understandable but slightly unnatural). This is a small local eval, not a benchmark suite — treat it as a no-regression check plus the MTP head-to-head, not a leaderboard claim.
Notes and caveats
- Reasoning is always on (
<think>), inherited from Ornith/Qwen3.6. Give generousmax_tokens. - Delta-interference probes (cosine between task vectors) showed Ornith's RL delta and BigBang's tune are near-orthogonal (cos ≈ +0.11), which is why the merge composes; this does not guarantee gains on any specific benchmark.
- GGUF quants + the MTP draft GGUF: EryriLabs/Ornith-1.5-35B-A3B-BigBang-MTP-GGUF
- Licences: Ornith-1.5 is MIT; BigBang-v1 and Qwen3.6-35B-A3B are Apache-2.0. This merge is released under MIT with attribution to all three parents.
Merged and measured by EryriLabs (Dwain Barnes), 2026-08-20.
- Downloads last month
- 113