File size: 4,849 Bytes
624b5f6 0198161 a0eea69 b7b0e79 0198161 a0eea69 05a0d09 0198161 05a0d09 a0eea69 ca395a6 798f6df ca395a6 3eaffd1 ca395a6 0198161 ca395a6 0198161 ca395a6 0198161 147462e 0198161 ca395a6 0198161 074939c ab70efb 3eaffd1 ab70efb |
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 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 |
---
license: mit
language:
- en
thumbnail: "https://cdn-uploads.huggingface.co/production/uploads/6589d7e6586088fd2784a12c/TqnMpteVAyfiiNHx4lVkU.png"
---
# You are welcome here, traveler.
![image/png](https://cdn-uploads.huggingface.co/production/uploads/6589d7e6586088fd2784a12c/TqnMpteVAyfiiNHx4lVkU.png)
### Named after the method used to create it, interleaving the layers of its predecessor to become far larger, giving it much more potential.
[Elothir](https://wowpedia.fandom.com/wiki/Elothir) was an ancient treeant, and I couldn't think of a better naming convention for a model that was created using the passthrough method.
By concatenating layers from different LLMs, it can produce models with an exotic number of parameters (e.g., 9B with two 7B parameter models). These models are often referred to as "frankenmerges" or "Frankenstein models" by the community.
Many thanks to [Abacaj](https://huggingface.co/abacaj) for providing the [fine tuned weights](https://huggingface.co/abacaj/phi-2-super) that were used in the creation of this base model...thanks to [KatyTheCutie](https://huggingface.co/KatyTheCutie) for inspring me to test out this script.
## This idea was brought to me by [The Face of Goonery](https://huggingface.co/The-Face-Of-Goonery), also known as Caleb Morgan. I have him to thank if fine-tuning this model turns out to be a success
# How to run inference:
```python
import transformers
import torch
if __name__ == "__main__":
model_name = "Replete-AI/Phi-Elothir"
tokenizer = transformers.AutoTokenizer.from_pretrained(model_name)
model = (
transformers.AutoModelForCausalLM.from_pretrained(
model_name,
)
.to("cuda:0")
.eval()
)
messages = [
{"role": "user", "content": "Hello, who are you?"}
]
inputs = tokenizer.apply_chat_template(messages, return_tensors="pt").to(model.device)
input_ids_cutoff = inputs.size(dim=1)
with torch.no_grad():
generated_ids = model.generate(
input_ids=inputs,
use_cache=True,
max_new_tokens=512,
temperature=0.2,
top_p=0.95,
do_sample=True,
eos_token_id=tokenizer.eos_token_id,
pad_token_id=tokenizer.pad_token_id,
)
completion = tokenizer.decode(
generated_ids[0][input_ids_cutoff:],
skip_special_tokens=True,
)
print(completion)
```
# Chat template
The model uses the same chat template as found in Mistral instruct models:
# [Join the Replete AI Discord here!](https://discord.gg/tG5aY4EX4T)
# The Sauce:
```yml
dtype: float16
merge_method: passthrough
slices:
- sources:
- model: abacaj/phi-2-super
layer_range: [0,2]
- sources:
- model: abacaj/phi-2-super
layer_range: [1,3]
- sources:
- model: abacaj/phi-2-super
layer_range: [2,4]
- sources:
- model: abacaj/phi-2-super
layer_range: [3,5]
- sources:
- model: abacaj/phi-2-super
layer_range: [4,6]
- sources:
- model: abacaj/phi-2-super
layer_range: [5,7]
- sources:
- model: abacaj/phi-2-super
layer_range: [6,8]
- sources:
- model: abacaj/phi-2-super
layer_range: [7,9]
- sources:
- model: abacaj/phi-2-super
layer_range: [8,10]
- sources:
- model: abacaj/phi-2-super
layer_range: [9,11]
- sources:
- model: abacaj/phi-2-super
layer_range: [10,12]
- sources:
- model: abacaj/phi-2-super
layer_range: [11,13]
- sources:
- model: abacaj/phi-2-super
layer_range: [12,14]
- sources:
- model: abacaj/phi-2-super
layer_range: [13,15]
- sources:
- model: abacaj/phi-2-super
layer_range: [14,16]
- sources:
- model: abacaj/phi-2-super
layer_range: [15,17]
- sources:
- model: abacaj/phi-2-super
layer_range: [16,18]
- sources:
- model: abacaj/phi-2-super
layer_range: [17,19]
- sources:
- model: abacaj/phi-2-super
layer_range: [18,20]
- sources:
- model: abacaj/phi-2-super
layer_range: [19,21]
- sources:
- model: abacaj/phi-2-super
layer_range: [20,22]
- sources:
- model: abacaj/phi-2-super
layer_range: [21,23]
- sources:
- model: abacaj/phi-2-super
layer_range: [22,24]
- sources:
- model: abacaj/phi-2-super
layer_range: [23,25]
- sources:
- model: abacaj/phi-2-super
layer_range: [24,26]
- sources:
- model: abacaj/phi-2-super
layer_range: [25,27]
- sources:
- model: abacaj/phi-2-super
layer_range: [26,28]
- sources:
- model: abacaj/phi-2-super
layer_range: [27,29]
- sources:
- model: abacaj/phi-2-super
layer_range: [28,30]
- sources:
- model: abacaj/phi-2-super
layer_range: [29,31]
- sources:
- model: abacaj/phi-2-super
layer_range: [30,32]
```
|