File size: 5,679 Bytes
2fdeec6 4562725 0493a5d c8b7979 a343534 c8b7979 a343534 91984c2 2fdeec6 a52247d c8b7979 a343534 42ad8b0 8c1fd6e a343534 d620a68 2d9610a b9be6c0 e868350 0be7e11 586f371 0be7e11 c8b7979 acf5423 c8b7979 2c53778 ceb9fd0 c8b7979 785818d 2c53778 785818d c8b7979 e868350 42ad8b0 c8b7979 1758358 a343534 c8b7979 a343534 1758358 a343534 1758358 c8b7979 a343534 91984c2 |
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 |
---
base_model:
- ibm/merlinite-7b
- InferenceIllusionist/Magic-Dolphin-7b
- SanjiWatsuki/Kunoichi-DPO-v2-7B
- mlabonne/Monarch-7B
- bardsai/jaskier-7b-dpo-v6.1
library_name: transformers
tags:
- mergekit
- merge
license: apache-2.0
---
# Excalibur-7b
<img src="https://i.imgur.com/viIO4WT.png" width="550"/>
<b> Update: A [fine-tuned version](https://huggingface.co/InferenceIllusionist/Excalibur-7b-DPO/) of this model is now publicly available, along with benchmark results. If you're looking for a more conversational, assistant-style exchange you won't want to miss it!</b>
<i>Image generated with Envoid's [Model9](https://huggingface.co/Envoid/model9) SDXL model </i>
GGUFs can be found [here](https://huggingface.co/InferenceIllusionist/Excalibur-7b-GGUF)
Alternative GGUFs from [bartowski](https://huggingface.co/bartowski) can be found [here](https://huggingface.co/bartowski/Excalibur-7b-GGUF).
EXl2 can also be found [here](https://huggingface.co/bartowski/Excalibur-7b-exl2) again courtesy of [bartowski](https://huggingface.co/bartowski)!
### Performance Comparison
| Name | Avg. | ARC | HellaSwag | MMLU | TruthfulQA | Winogrande | GSM8K |
| ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- |
| <b>Excalibur-7b</b> | <u><b>73.6</b></u> | <u><b>69.71</b></u> | <u><b>87.56</b></u> | <u><b>65.66</b></u> | <u><b>67.24</b></u> | <u><b>82.79</b></u> | <u><b>68.61</b></u> |
| Magic-Dolphin-7b | 67.48 | 65.78 | 85.61 | 64.64 | 58.01 | 79.64 | 51.18 |
| merlinite-7b | 64 | 63.65 | 84.52 | 64.91 | 50.15 | 79.72 | 41.09 |
[* Open LLM Leaderboard Dataset](https://huggingface.co/datasets/open-llm-leaderboard/details_InferenceIllusionist__Excalibur-7B)
### Methodology
[Magic-Dolphin-7b](https://huggingface.co/InferenceIllusionist/Magic-Dolphin-7b) was an unexpected surprise. Profoundly satisfied with it as a first attempt. For this follow-up I wanted to target the MMLU benchmark specifically.
The challenge this time was placing more weight on Merlinite-7b as an unknown quantity that hasn't been in the spotlight despite its novel LAB tuning method.
<b>Excalibur-7b</b> builds on past success and is the culmination of several learnings:
* Measuring KL-divergences for new quantization types brought a deeper understanding of benchmarking and assessing model performance
* This signifcantly sped up the testing process by using MMLU as a base, narrowing down over 10 candidate linear merges to 1: merliniteX-blockB1
* Reaching the limitations of linear merging necessitated a pivot to reviewing the viability of SLERP, DARE-TIES, and Passthrough methods
* Thus a competing candidate merge pool was tested between different merge algorithms. Once more the list was narrowed from 10 candidates to 1: merliniteX-blockF2
* merliniteX-blockF2 (SLERP of Magic-Dolphin-7B and jaskier-7b-dpo in unorthadox proportions) was originally planned for release earlier this week
* Instead -blockB1 and -blockF2 were merged and the results were placed head to head in a final round of tests. Ultimately a more conventional execution of SLERP showed the best results for the final step.
# Sample Question
<img src="https://i.imgur.com/fdFYIhv.jpeg" width="550"/>
# Bonus Question - Vision Capabilities
<b>Requires additional [mistral-7b-mmproj-v1.5-Q4_1.gguf](https://huggingface.co/koboldcpp/mmproj/tree/main) file for vision functionality</b>
<img src="https://i.imgur.com/4wbUrjf.jpeg" width="550"/>
Select up the gguf file of your choice in Kobold as usual, then make sure to choose the mmproj file above in the LLaVA mmproj field of the model submenu:
<img src="https://i.imgur.com/x8vqH29.png" width="550"/>
This is a merge of pre-trained language models created using [mergekit](https://github.com/cg123/mergekit).
## Merge Details
### Merge Method
This model was merged using the SLERP merge method.
### Models Merged
The following models were included in the merge:
* [ibm/merlinite-7b](https://huggingface.co/ibm/merlinite-7b)
* [InferenceIllusionist/Magic-Dolphin-7b](https://huggingface.co/InferenceIllusionist/Magic-Dolphin-7b)
* [SanjiWatsuki/Kunoichi-DPO-v2-7B](https://huggingface.co/SanjiWatsuki/Kunoichi-DPO-v2-7B)
* [mlabonne/Monarch-7B](https://huggingface.co/mlabonne/Monarch-7B)
* [bardsai/jaskier-7b-dpo-v6.1](https://huggingface.co/bardsai/jaskier-7b-dpo-v6.1)
### Configuration
The following YAML configurations were used to produce this model:
<b>merliniteX-blockB1</b>
```yaml
models:
- model: models/merlinite-7b
parameters:
weight: 1.0
- model: models/Kunoichi-DPO-v2-7B
parameters:
weight: 0.2
- model: models/jaskier-7b-dpo-v6.1
parameters:
weight: 0.6
- model: models/Monarch-7b
parameters:
weight: 0.4
merge_method: linear
dtype: float16
```
<b>merliniteX-blockF2</b>
```yaml
slices:
- sources:
- model: models/Magic-Dolphin-7b
layer_range: [0, 32]
- model: models/jaskier-7b-dpo-v6.1
layer_range: [0, 32]
merge_method: slerp
base_model: models/Magic-Dolphin-7b
parameters:
t:
- filter: self_attn
value: [0, 0.5, 0.3, 0.7, 0.5, 1]
- filter: mlp
value: [1, 0.5, 0.7, 0.3, 0.5, 0]
- value: 0.5 # fallback for rest of tensors
dtype: float16
```
<b>merliniteX-blockH1 (Excalibur-7b)</b>
```yaml
slices:
- sources:
- model: models/merliniteX-blockF2
layer_range: [0, 32]
- model: models/merliniteX-blockB1
layer_range: [0, 32]
merge_method: slerp
base_model: models/merliniteX-blockF2
parameters:
t:
- filter: self_attn
value: [1, 0.7, 0.3, 0.5, 0]
- filter: mlp
value: [0, 0.3, 0.7, 0.5, 1]
- value: 0.5 # fallback for rest of tensors
dtype: float16
``` |