File size: 5,500 Bytes
a3465f3 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 | ---
license: apache-2.0
base_model:
- mistralai/Devstral-2-123B-Instruct-2512
- mistralai/Mistral-Medium-3.5-128B
tags:
- darwin
- darwin-v7
- mistral
- merge
- mri-merge
- layer-band-asymmetric
language:
- en
- ko
pipeline_tag: text-generation
inference: false
---
# Darwin-Mistral-G1
**Darwin ร Mistral ์งํ์ ๋จธ์ง 1์ธ๋ (G1)** โ Devstral-2-123B(์ฝ๋ฉ) ร Mistral-Medium-3.5-128B(์ถ๋ก ยท๋ฒ์ฉ) ์ **Darwin V7+ MRI-only Linear merge** ๊ฒฐ๊ณผ๋ฌผ.
> VIDRAFT R&D ยท 2026-05-16
> ์์
์ง์์ v1.0 (๊นํ๋ด CAIO) ์ต์
A ์ฑํ ๊ฒฐ๊ณผ
## ์ฃผ์ ๊ฒฐ๊ณผ (Quick)
| Benchmark | Score | Note |
|---|---|---|
| GPQA Diamond 20 (seed 42) | **45.0%** (9/20) | Mother ์์ค ํ๋ณต โ Devstral 50% / MM3.5 45% ์ฌ์ด |
| HumanEval 20 pass@1 (seed 42) | **๐ฅ 90.0%** (18/20) | Devstral ์ฝ๋ฉ ๋ฅ๋ ฅ ์๋ฒฝ ๋ณด์กด |
| Sanity (์ํยท์ฝ๋ยทํ๊ตญ์ด) | โ
3/3 | 17ร23=391, fibonacci code, ํ๊ตญ์ด ๋ฒ์ญ ์ ์ |
## ๋จธ์ง ์ฌ์
### ๋ถ๋ชจ
- **Father (์ฝ๋ฉ)**: `mistralai/Devstral-2-123B-Instruct-2512` โ Ministral3ForCausalLM, hidden 12288, layers 88, vocab 131072, FP8 + BF16
- **Mother (์ถ๋ก ยท๋ฉํฐ๋ชจ๋ฌ ๋ฒ ์ด์ค)**: `mistralai/Mistral-Medium-3.5-128B` โ Mistral3ForConditionalGeneration text branch (vision ์ ์ธ), ๋์ผ spec
### ๋ฐฉ๋ฒ
- **Engine**: Darwin V7+ MRI-only (Linear blend, no SLERP)
- **Blend**: `(1 - r_mother) * Father + r_mother * Mother` per tensor
- **Prefix remap**: Mother `model.language_model.X` โ `model.X` (Ministral3 namespace ํต์ผ)
- **Vision exclusion**: G1์์ Pixtral vision_tower + multi_modal_projector ์ ์ธ (G2์์ ํตํฉ ์์ )
### Layer-band ๋น๋์นญ (์์
์ง์์ v1.0 ยง3-2)
| Layer ๊ตฌ๊ฐ | r_mother | ์๋ |
|---|---|---|
| 0~29 (low) | 0.25 | Father(Devstral) ์ฐ์ธ โ ํ ํฐ ํํยท์ฝ๋ ๊ตฌ๋ฌธ ๋ณด์กด |
| 30~59 (mid) | 0.70 | Mother ์ฐ์ธ โ ์ถ๋ก ์ฒด์ธ ๊ฐํ |
| 60~87 (high) | 0.50 | ๊ท ๋ฑ โ ์ถ๋ ฅ ํ์งยท์ธ์คํธ๋ญ์
|
### Category ratio (Mother bias)
| Category | r_mother | ๋น๊ณ |
|---|---|---|
| **embedding** | **0.00** | Father 100% โ ํ ํฐ ๋งคํ ๋ณด์กด (v1 1.00 ์ random ์์ ํ์ธ) |
| **lm_head** | **0.00** | Father 100% โ ์ถ๋ ฅ ๋งคํ ๋ณด์กด |
| attention | 0.50 | ๊ท ๋ฑ โ Devstral reasoning ํ๋ณต |
| norm | 0.50 | ๊ท ๋ฑ โ LayerNorm ํต๊ณ |
| router/shared_expert/routed_expert | n/a | Mistral dense๋ผ ํด๋น ์์ |
### ๋จธ์ง ํต๊ณ
- Total tensors merged: 2,027 (Father + Mother ๊ณตํต)
- Mother vision skipped: 438 (vision_tower + multi_modal_projector + patch_merger)
- Output: 32 shards / 128.2 GB (FP8 + BF16 dtype ์ ์ง)
- Elapsed: 5.0 min (CPU bound, single-thread safetensors I/O)
## ํ๊ฐ ๊ฒฐ๊ณผ (์ ์ฒด)
### GPQA Diamond 20 (seed 42, transformers + finegrained-fp8 kernel)
| ๋ชจ๋ธ | ์ ๋ต/์ด | ์ ํ๋ |
|---|---|---|
| Devstral-2-123B (Father) | 10/20 | 50.0% |
| Mistral-Medium-3.5-128B (Mother) | 9/20 | 45.0% |
| Darwin-Mistral-G1 v1 (failed) | 5/20 | 25.0% (random) |
| **Darwin-Mistral-G1 v2 (this)** | **9/20** | **45.0%** โ
|
### HumanEval 20 pass@1 (seed 42)
- **G1 v2: 18/20 = 90.0%** (284์ด)
- Devstral baseline ์ ์ง (Devstral ๊ณต๊ฐ 85-90%)
- Linear merge๋ก ์ฝ๋ฉ SOTA ๋ณด์กด ์ฌ๋ก
## V1 โ V2 ์ง๋จ (์ฌ๋ฐ ๋ฐฉ์ง)
V1 ์คํจ ์์ธ (GPQA 25% random level):
1. **embedding/lm_head Mother 100% โ Father ํ ํฐยท์ถ๋ ฅ ๋งคํ ์์ ์์ค**
2. layer-band ร category ratio ๊ณฑ์
๋ณด์ ์ผ๋ก attention ํญ์ Mother ์ชฝ์ผ๋ก ๋๋ฆผ
V2 fix:
1. embedding/lm_head Father 100%
2. attention 0.90 โ 0.50
3. layer-band ๋จ์ ์ ์ฉ (๊ณฑ์
๋ณด์ ์ ๊ฑฐ)
## ์ฌ์ฉ
```python
from transformers import AutoTokenizer, AutoModelForCausalLM
import torch
# ์์กด์ฑ: pip install --user kernels (transformers 5.5.x finegrained-fp8 kernel)
model = AutoModelForCausalLM.from_pretrained(
"FINAL-Bench/Darwin-Mistral-G1",
torch_dtype=torch.bfloat16,
device_map="auto",
trust_remote_code=True,
)
tok = AutoTokenizer.from_pretrained("FINAL-Bench/Darwin-Mistral-G1")
messages = [{"role": "user", "content": "Write a Python function to compute Fibonacci."}]
text = tok.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
inp = tok(text, return_tensors="pt").to(model.device)
out = model.generate(**inp, max_new_tokens=256, do_sample=False)
print(tok.decode(out[0][inp.input_ids.shape[1]:], skip_special_tokens=True))
```
**ํ๊ฒฝ ์๊ตฌ์ฌํญ**:
- `transformers >= 5.5.0`
- `kernels >= 0.14.0` (finegrained-fp8 kernel ์๋ ๋ค์ด๋ก๋)
- `torch >= 2.10` (FP8 E4M3 ์ง์)
- GPU: ๋จ์ผ H100/B200 80GB+ (FP8 inference ์ ์ฝ 128GB โ ๋ค์ค GPU ๊ถ์ฅ)
## ํ๊ณ
- **GPQA 80% ๋ชฉํ ๋ฏธ๋ฌ**: ์์
์ง์์ ยง4-3 GPQA >80%๋ ์๋ Darwin-36B-Opus 86.9% baseline ๊ฐ์ . ์ต์
A์์ Mother๋ฅผ Mistral-3.5 (45%)๋ก ๋ณ๊ฒฝํ๊ธฐ์ ๋๋ฌ ๋ถ๊ฐ.
- **G2 ์งํ**: Pixtral ๋น์ ์ธ์ฝ๋ ํตํฉ + Darwin-36B-Opus cross-arch ํตํฉ์ ๋ณ๋ ํธ๋ (G2/G3).
- **SWE-Bench ๋ฏธ์ธก์ **: ๋ณ๋ ํ๊ฐ ํ๊ฒฝ ํ์.
## License & Attribution
Apache-2.0 (Devstral-2-123B-Instruct-2512์ Mistral-Medium-3.5-128B ๋ชจ๋ Apache 2.0).
๋จธ์ง ์์ง์ VIDRAFT Darwin V7+ MRI-only (proprietary).
## ์ธ์ฉ
```bibtex
@misc{darwin-mistral-g1-2026,
title = {Darwin-Mistral-G1: Linear MRI Merge of Devstral-2-123B and Mistral-Medium-3.5-128B},
author = {VIDRAFT R&D},
year = {2026},
url = {https://huggingface.co/FINAL-Bench/Darwin-Mistral-G1}
}
```
---
**VIDRAFT Inc.** | ๊นํ๋ด CAIO | CONFIDENTIAL (private repo until publication)
|