v000000's picture
Update README.md
1fc3d4b verified
---
base_model:
- v000000/HaloMaidRP-v1.32-15B-Ruby
- v000000/HaloMaidRP-v1.32-15B-Sapphire
library_name: transformers
tags:
- mergekit
- merge
- llama
---
<!DOCTYPE html>
<style>
h1 {
color: #500C3F; /* Red color */
font-size: 1.25em; /* Larger font size */
text-align: left; /* Center alignment */
text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5); /* Shadow effect */
background: linear-gradient(90deg, #500C3F, #5d72ff); /* Gradient background */
-webkit-background-clip: text; /* Clipping the background to text */
-webkit-text-fill-color: transparent; /* Making the text transparent */
}
</style>
<html lang="en">
<head>
</head>
<body>
Semi-Healed Llama-3 15B Frankenmerge
---------------------------------------------------------------------
<h1>Llama3-15B-HaloMaidRP-v1.33-8K</h1>
![image/jpeg](https://cdn-uploads.huggingface.co/production/uploads/64f74b6e6389380c77562762/MCdGdalCCtOVPn8X7rqha.jpeg)
# <h1>Thanks mradermacher for the quants!</h1>
* [GGUFs](https://huggingface.co/mradermacher/HaloMaidRP-v1.33-15B-L3-GGUF)
* [GGUFs imatrix](https://huggingface.co/mradermacher/HaloMaidRP-v1.33-15B-L3-i1-GGUF)
# <h1>Quants:</h1>
* [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.
# <p>Samplers</p>
```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
```
# <h1>merge</h1>
This is a merge of pre-trained language models created using [mergekit](https://github.com/cg123/mergekit).
# <h1>Merge Details</h1>
# <h1>Merge Method</h1>
This model was merged using an iterative merging process. (Probably ~10 models got thrown away in the process.)
# <h1>Models Merged</h1>
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)
# <h1>Configuration</h1>
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
```
# <h1>Prompt Template</h1>
```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
</body>
</html>