KAT-Coder-V2.5-Dev-OrnithVision
A multimodal code model combining KAT-Coder-V2.5-Dev's language backbone with Ornith-1.5-35B-A3B's vision tower.
Background
The original Kwaipilot/KAT-Coder-V2.5-Dev does not ship with a vision tower or MTP layers — it is a pure language model. This model adds vision capability by transplanting the vision tower from Ornith-1.5-35B-A3B into the KAT language backbone.
Credits
This model is a fusion of two existing projects:
- Language backbone: KAT-Coder-V2.5-Dev by Kwaipilot
- Vision tower: Ornith-1.5-35B-A3B by ornith-ai
- Quantization: AWQ INT4 variant by cyankiwi
What changed
| Component | Source |
|---|---|
| Language model (35B MoE, 3B active) | KAT-Coder-V2.5-Dev (unchanged) |
| Visual tower (27-layer ViT) | Ornith-1.5-35B-A3B (transplanted) |
| Quantization | AWQ INT4 (group size 32) |
| Total parameters | ~35B |
| Active parameters per token | ~3B |
Technical details
- Architecture:
Qwen3_5MoeForConditionalGeneration - Vision encoder: Qwen3_VisionTransformer, 27 blocks, hidden_size=1152, 16 attention heads, patch_size=16
- Projector:
visual.merger— 2 linear layers + 1 norm, output hidden_size=2048 - Token id: image token =
248056 - Dtype: float16
- Context length: up to 128K (with appropriate KV cache settings)
Usage
from transformers import AutoModelForCausalLM, AutoProcessor
model = AutoModelForCausalLM.from_pretrained(
"KennyVo/KAT-Coder-V2.5-Dev-OrnithVision",
torch_dtype="auto",
device_map="auto"
)
processor = AutoProcessor.from_pretrained("KennyVo/KAT-Coder-V2.5-Dev-OrnithVision")
# Example: image + text
messages = [{"role": "user", "content": [
{"type": "image"},
{"type": "text", "text": "Describe this image."}
]}]
text = processor.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
inputs = processor(text=[text], images=[image], return_tensors="pt").to(model.device)
outputs = model.generate(**inputs, max_new_tokens=512)
# vLLM serving
vllm serve KennyVo/KAT-Coder-V2.5-Dev-OrnithVision --dtype float16
Method
- Loaded visual weights (
model.visual.*) from bothcyankiwi/KAT-Coder-V2.5-Dev-AWQ-INT4andcyankiwi/Ornith-1.5-35B-A3B-AWQ-INT4— 333 tensors, all shapes match - Verified all tensor names and shapes are identical between the two models
- Replaced all 333 visual tensors in KAT with Ornith's weights
- Preserved all 123,493 non-visual tensors (language model, MoE experts, MTP) unchanged
- Saved as 5 safetensors shards (~23 GB total)
Benchmarks
Text and reasoning benchmarks
| Dataset | Subset | Num | Accuracy, KAT-Coder-V2.5-Dev-OrnithVision | Accuracy, Tech2wild/Nex-N2.5-mini-Int4-Int8Mix | cyankiwi/Ornith-1.5-35B-A3B-AWQ-INT4 |
|---|---|---|---|---|---|
| GSM8K | main | 1319 | 95.8% | 96.6% | 96.7% |
| ARC | ARC-Easy | 2376 | 99.1% | 98.9% | |
| ARC | ARC-Challenge | 1172 | 96.9% | 98% | |
| ARC | OVERALL | 3548 | 98.4% | 98.6% | |
| MMLU | college_computer_science (STEM) | 100 | 97% | ||
| MMLU | computer_security (STEM) | 100 | 90% | ||
| MMLU | machine_learning (STEM) | 112 | 91.1% | ||
| MMLU | OVERALL | 312 | 92.6% |
Vision benchmarks
| Dataset MMMU with subset | Num | Accuracy, KAT-Coder-V2.5-Dev-OrnithVision | Accuracy, Tech2wild/Nex-N2.5-mini-Int4-Int8Mix |
|---|---|---|---|
| Accounting | 30 | 73.3% | 70% |
| Agriculture | 30 | 66.7% | 56.7% |
| Architecture_and_Engineering | 30 | 50% | 63.3% |
| Art | 30 | 73.3% | 73.3% |
| Art_Theory | 30 | 86.7% | 90% |
| Basic_Medical_Science | 30 | 70% | 73.3% |
| Biology | 30 | 83.3% | 76.7% |
| Chemistry | 30 | 66.7% | 56.7% |
| Clinical_Medicine | 30 | 80% | 80% |
| Computer_Science | 30 | 60% | 66.7% |
| Design | 30 | 80% | 80% |
| Diagnostics_and_Laboratory_Medicine | 30 | 50% | 46.7% |
| Economics | 30 | 83.3% | 83.3% |
| Electronics | 30 | 40% | 46.7% |
| Energy_and_Power | 30 | 60% | 76.7% |
| Finance | 30 | 73.3% | 63.3% |
| Geography | 30 | 53.3% | 66.7% |
| History | 30 | 86.7% | 76.7% |
| Literature | 30 | 90% | 93.3% |
| Manage | 30 | 50% | 53.3% |
| Marketing | 30 | 83.3% | 90% |
| Materials | 30 | 56.7% | 63.3% |
| Math | 30 | 73.3% | 70% |
| Mechanical_Engineering | 30 | 53.3% | 53.3% |
| Music | 30 | 30% | 23.3% |
| Pharmacy | 30 | 93.3% | 86.7% |
| Physics | 30 | 96.7% | 100% |
| Psychology | 30 | 90% | 83.3% |
| Public_Health | 30 | 96.7% | 93.3% |
| Sociology | 30 | 76.7% | 73.3% |
| OVERALL | 900 | 70.9% | 71% |
Reproduction
Want to reproduce this model? See REPRODUCE.md for step-by-step instructions, or grab the transplant script transplant_ornith_vision.py and run it against the two source models.
Note: The entire combining study, Python source code, forensic analysis, and this model card were generated by KAT-Coder-V2.5-Dev itself — a model doing its own repair.
License
Apache 2.0 (inherited from base models)
- Downloads last month
- 189
Model tree for KennyVo/KAT-Coder-V2.5-Dev-OrnithVision
Base model
Kwaipilot/KAT-Coder-V2.5-Dev