--- base_model: - v000000/HaloMaidRP-v1.32-15B-Ruby - v000000/HaloMaidRP-v1.32-15B-Sapphire library_name: transformers tags: - mergekit - merge - llama --- Semi-Healed Llama-3 15B Frankenmerge ---------------------------------------------------------------------

Llama3-15B-HaloMaidRP-v1.33-8K

![image/jpeg](https://cdn-uploads.huggingface.co/production/uploads/64f74b6e6389380c77562762/MCdGdalCCtOVPn8X7rqha.jpeg) #

Thanks mradermacher for the quants!

* [GGUFs](https://huggingface.co/mradermacher/HaloMaidRP-v1.33-15B-L3-GGUF) * [GGUFs imatrix](https://huggingface.co/mradermacher/HaloMaidRP-v1.33-15B-L3-i1-GGUF) #

Quants:

* [GGUF Q5_K_M](https://huggingface.co/v000000/HaloMaidRP-v1.33-15B-L3-Q5_K_M-GGUF) This is the third iteration "Emerald" of the final four and the one I liked the most. It has had limited testing though, but seems relatively decent. Better than 8B at least. Findings: o_proj and down_proj can be stolen from Aethora-v2 so new 15B frankenmerges don't seem to really ***need*** finetuning to "heal" the layers, though it has a big influence on the output so it's slightly censored in one-shot. #

Samplers

```bash I found success with: temperature 0.9-1.2 min_p 0.08 tfs 0.97 smoothing_factor 0.3 smoothing_curve 1.1 Nymeria preset (more coherent): temp 0.9 top_k 30 top_p 0.75 min_p 0.2 rep_pen 1.1 smooth_factor 0.25 smooth_curve 1 ``` #

merge

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 an iterative merging process. (Probably ~10 models got thrown away in the process.) #

Models Merged

The following models were included in the merge: * [grimjim/Llama-3-Instruct-abliteration-LoRA-8B](https://huggingface.co/grimjim/Llama-3-Instruct-abliteration-LoRA-8B) * [UCLA-AGI/Llama-3-Instruct-8B-SPPO-Iter3](https://huggingface.co/UCLA-AGI/Llama-3-Instruct-8B-SPPO-Iter3) * [NeverSleep/Llama-3-Lumimaid-8B-v0.1-OAS](https://huggingface.co/NeverSleep/Llama-3-Lumimaid-8B-v0.1-OAS) * [maldv/llama-3-fantasy-writer-8b](https://huggingface.co/maldv/llama-3-fantasy-writer-8b) * [tokyotech-llm/Llama-3-Swallow-8B-v0.1](https://huggingface.co/tokyotech-llm/Llama-3-Swallow-8B-v0.1) * [Sao10K/L3-8B-Stheno-v3.2](https://huggingface.co/Sao10K/L3-8B-Stheno-v3.2) * [ZeusLabs/L3-Aethora-15B-V2](https://huggingface.co/ZeusLabs/L3-Aethora-15B-V2) * [Nitral-AI/Hathor_Respawn-L3-8B-v0.8](https://huggingface.co/Nitral-AI/Hathor_Respawn-L3-8B-v0.8) * [Blackroot/Llama-3-8B-Abomination-LORA](https://huggingface.co/Blackroot/Llama-3-8B-Abomination-LORA) #

Configuration

The following YAML configuration was used to produce this model: # Recipe ```yaml #1. Take a collection of RP and Storywriter 8b models and merge them. dtype: float32 merge_method: linear weight: 0.15 parameters: - model: tokyotech-llm/Llama-3-Swallow-8B-v0.1 weight: 0.4 parameters: - model: NeverSleep/Llama-3-Lumimaid-8B-v0.1-OAS weight: 0.1 parameters: - model: maldv/llama-3-fantasy-writer-8b weight: 0.6 parameters: - model: Nitral-AI/Hathor_Respawn-L3-8B-v0.8 #2. Use task-arithmetic to learn the vector directions from the RP-Mix onto Llama-3-SPPO which is the smartest 8B model imo, this way we can preserve Meta's multi-bullion dollar tuning. models: dtype: float32 normalize: false parameters: base_model: UCLA-AGI/Llama-3-Instruct-8B-SPPO-Iter3 merge_method: task_arithmetic weight: 0.35 parameters: - model: rpmix-part1 weight: 1.0 parameters: - model: UCLA-AGI/Llama-3-Instruct-8B-SPPO-Iter3 #2,5. Apply abliteration to the previous model models: dtype: float32 merge_method: linear weight: 1.0 parameters: - model: sppo-rpmix-part2+grimjim/Llama-3-Instruct-abliteration-LoRA-8B #3. Create an abliterated version of Stheno3.2-8B as we will use this in the 15B frankenmerge. models: dtype: float32 merge_method: linear weight: 1.0 parameters: - model: Sao10K/L3-8B-Stheno-v3.2+grimjim/Llama-3-Instruct-abliteration-LoRA-8B #4. Make an inverted version of a elinas Llama-3-15B Frankenmerge with the previous models. models: model: v000000/L3-8B-Stheno-v3.2-abliterated - layer_range: [24, 32] - sources: model: v000000/SwallowMaid-8B-L3-SPPO-abliterated - layer_range: [8, 24] - sources: parameters: model: v000000/L3-8B-Stheno-v3.2-abliterated - layer_range: [8, 24] - sources: model: v000000/SwallowMaid-8B-L3-SPPO-abliterated - layer_range: [0, 24] - sources: slices: #5. Make an non-inverted version of a elinas Llama-3-15B Frankenmerge with the previous models. merge_method: passthrough dtype: float32 model: v000000/SwallowMaid-8B-L3-SPPO-abliterated - layer_range: [24, 32] - sources: model: v000000/L3-8B-Stheno-v3.2-abliterated - layer_range: [8, 24] - sources: model: v000000/SwallowMaid-8B-L3-SPPO-abliterated - layer_range: [8, 24] - sources: model: v000000/L3-8B-Stheno-v3.2-abliterated - layer_range: [0, 24] - sources: slices: #6. Test the previous two models and determine which is better in the output/input stage and which is best in the middle and we slerp them in a v-shape. merge_method: passthrough dtype: float32 t: [0, 0.5, 1, 0.5, 0] parameters: dtype: float32 base_model: v000000/Sthalomaid-15B-abliterated merge_method: slerp - model: v000000/Sthalomaid-15B-Inverted-abliterated - model: v000000/Sthalomaid-15B-abliterated #7. Apply Blackroot Lora in a model_stock merge of the different models so far models: dtype: float32 merge_method: model_stock base_model: v000000/Sthalomaid-V-15B-abliterated - model: v000000/Sthalomaid-15B-Inverted-abliterated+Blackroot/Llama-3-8B-Abomination-LORA - model: v000000/Sthalomaid-15B-abliterated+Blackroot/Llama-3-8B-Abomination-LORA - model: v000000/Sthalomaid-V-15B-abliterated+Blackroot/Llama-3-8B-Abomination-LORA #seems to work on 15b - model: v000000/Sthalomaid-15B-Inverted-abliterated - model: v000000/Sthalomaid-15B-abliterated - model: v000000/Sthalomaid-V-15B-abliterated #7. Create another 15B frankenmerge from just SPPO and abiterate it, this is so we can merge in a smarter model. models: dtype: float32 merge_method: passthrough slices: - sources: - layer_range: [0, 24] model: UCLA-AGI/Llama-3-Instruct-8B-SPPO-Iter3+grimjim/Llama-3-Instruct-abliteration-LoRA-8B - sources: - layer_range: [8, 24] model: UCLA-AGI/Llama-3-Instruct-8B-SPPO-Iter3+grimjim/Llama-3-Instruct-abliteration-LoRA-8B parameters: - sources: - layer_range: [8, 24] model: UCLA-AGI/Llama-3-Instruct-8B-SPPO-Iter3+grimjim/Llama-3-Instruct-abliteration-LoRA-8B - sources: - layer_range: [24, 32] model: UCLA-AGI/Llama-3-Instruct-8B-SPPO-Iter3+grimjim/Llama-3-Instruct-abliteration-LoRA-8B #8. Learn vectors from our previous blackroot model_stock model to smarter SPPO-Iter model to preserve RP capabilities. models: - model: v000000/HaloMaidRP-V-15B-Blackroot-v0.1 parameters: weight: 1.3 merge_method: task_arithmetic base_model: v000000/Llama-3-Instruct-15B-SPPO-Iter3-abliterated parameters: normalize: false #9. Merge the blackroot model_stock-15B and SPPO-15B models together with a smooth gradient. dtype: float32 slices: - sources: - model: v000000/HaloMaidRP-V-15B-Blackroot-v0.1 layer_range: [0, 64] - model: v000000/HaloMaidRP-V-15B-Blackroot-v0.223 layer_range: [0, 64] merge_method: slerp base_model: v000000/HaloMaidRP-V-15B-Blackroot-v0.223 parameters: t: - filter: self_attn value: [0, 0.5, 0.3, 0.7, 1, 0.1, 0.6, 0.3, 0.8, 0.5] - filter: mlp value: [1, 0.5, 0.7, 0.3, 0, 0.3, 0.4, 0.7, 0.2, 0.5] - value: 0.5 dtype: bfloat16 #Oops accidentally swtich to half precision do this also very important #10. Heal the layers, o_proj and down_proj seems to be the main tensors that determine adaptation to a new architecture, so we can steal them from an already finetuned 15B, #this way we don't need to finetune our new frankenmerge at all to have full performance. Why reinvent the wheel? #sapphire models: - model: v000000/HaloMaidRP1_component merge_method: slerp base_model: ZeusLabs/L3-Aethora-15B-V2 parameters: t: - filter: o_proj value: 0 - filter: down_proj value: 0 - value: 1 dtype: bfloat16 #11. Go back to an earlier checkpoint that had interesting results with being very depraved before the blackroot model_stock merge and do the same as (10.) to heal it. #ruby models: - model: v000000/component____HaloMaidRP-V merge_method: slerp base_model: ZeusLabs/L3-Aethora-15B-V2 parameters: t: - filter: o_proj value: 0 - filter: down_proj value: 0 - value: 1 dtype: bfloat16 #12. Then we merge these two together to get a semi-depraved smart model. #emerald (this) slices: - sources: - model: v000000/HaloMaidRP-v1.32-15B-Sapphire layer_range: [0, 64] - model: v000000/HaloMaidRP-v1.32-15B-Ruby layer_range: [0, 64] merge_method: slerp base_model: v000000/HaloMaidRP-v1.32-15B-Sapphire parameters: t: - filter: self_attn value: [0.1, 0.6, 0.3, 0.8, 0.5] - filter: mlp value: [0.9, 0.4, 0.7, 0.2, 0.5] - value: 0.5 dtype: bfloat16 #sapphire version is somewhat better at keeping formatting and is smarter overall, but its very bland imo ``` #

Prompt Template

```bash <|begin_of_text|><|start_header_id|>system<|end_header_id|> {system_prompt}<|eot_id|><|start_header_id|>user<|end_header_id|> {input}<|eot_id|><|start_header_id|>assistant<|end_header_id|> {output}<|eot_id|> ``` uncensored=no