51 lines
1.7 KiB
Markdown
51 lines
1.7 KiB
Markdown
---
|
|
library_name: transformers
|
|
tags:
|
|
- mergekit
|
|
- merge
|
|
- multislerp
|
|
- task-vector
|
|
base_model:
|
|
- Qwen/Qwen2.5-7B
|
|
- Qwen/Qwen2.5-Coder-7B-Instruct
|
|
- Qwen/Qwen2.5-Math-7B
|
|
---
|
|
|
|
# NEXS Qwen2.5-7B Multi-SLERP Merge
|
|
|
|
A multi-SLERP merge of Qwen2ForCausalLM domain experts covering **code and math**, produced with
|
|
[mergekit](https://github.com/arcee-ai/mergekit). Part of the
|
|
[NEXS multi-SLERP merge collection](https://huggingface.co/anjohn0077/NEXS-multislerp-merges).
|
|
|
|
## Method
|
|
|
|
Multi-SLERP (`multislerp`) performs barycentric spherical interpolation on a hypersphere for more than two models: it projects the models into the tangent space at their weighted Euclidean mean, interpolates, and projects back. Here it is run in **task-vector space** — each source's delta from the shared base model is computed, the deltas are spherically averaged with equal weight (`normalize_weights: true`, `eps: 1e-8`), and the result is added back to the base. Merging was done with [mergekit](https://github.com/arcee-ai/mergekit).
|
|
|
|
All variants share an identical vocabulary (152064); no tokenizer reconciliation was needed.
|
|
|
|
## Sources
|
|
|
|
Base model (task-vector reference): [`Qwen/Qwen2.5-7B`](https://huggingface.co/Qwen/Qwen2.5-7B)
|
|
|
|
Merged variants (equal weight `1.0` each):
|
|
- [`Qwen/Qwen2.5-Coder-7B-Instruct`](https://huggingface.co/Qwen/Qwen2.5-Coder-7B-Instruct)
|
|
- [`Qwen/Qwen2.5-Math-7B`](https://huggingface.co/Qwen/Qwen2.5-Math-7B)
|
|
|
|
## mergekit config
|
|
|
|
```yaml
|
|
merge_method: multislerp
|
|
base_model: Qwen/Qwen2.5-7B
|
|
tokenizer_source: base
|
|
dtype: float32
|
|
out_dtype: bfloat16
|
|
parameters:
|
|
normalize_weights: true
|
|
eps: 1.0e-8
|
|
models:
|
|
- model: Qwen/Qwen2.5-Coder-7B-Instruct
|
|
parameters: {weight: 1.0}
|
|
- model: Qwen/Qwen2.5-Math-7B
|
|
parameters: {weight: 1.0}
|
|
```
|