vicgalle's picture
Update README.md
16403b2 verified
|
raw
history blame
2.31 kB
---
base_model:
- upstage/SOLAR-10.7B-Instruct-v1.0
- NousResearch/Nous-Hermes-2-SOLAR-10.7B
tags:
- mergekit
- merge
- solar
license: apache-2.0
---
# Nous-Hermes-2-SOLAR-18B
This is a SOLAR-like model upscaled to 18B.
It is a frankenmerge model created using mergekit, alternating layers of Nous-Hermes-2-SOLAR-10.7B and SOLAR-10.7B-Instruct.
Evaluations coming soon!
This model has very good writing capabilities (compared to SOLAR-10.7B), specially for role-playing.
## Merge Details
### Merge Method
This model was merged using the passthrough merge method.
### Models Merged
The following models were included in the merge:
* [upstage/SOLAR-10.7B-Instruct-v1.0](https://huggingface.co/upstage/SOLAR-10.7B-Instruct-v1.0)
* [NousResearch/Nous-Hermes-2-SOLAR-10.7B](https://huggingface.co/NousResearch/Nous-Hermes-2-SOLAR-10.7B)
### Configuration
The following YAML configuration was used to produce this model:
```yaml
slices:
- sources:
- model: NousResearch/Nous-Hermes-2-SOLAR-10.7B
layer_range: [0, 12]
- sources:
- model: upstage/SOLAR-10.7B-Instruct-v1.0
layer_range: [6, 18]
- sources:
- model: NousResearch/Nous-Hermes-2-SOLAR-10.7B
layer_range: [13, 25]
- sources:
- model: upstage/SOLAR-10.7B-Instruct-v1.0
layer_range: [19, 31]
- sources:
- model: NousResearch/Nous-Hermes-2-SOLAR-10.7B
layer_range: [26, 38]
- sources:
- model: upstage/SOLAR-10.7B-Instruct-v1.0
layer_range: [32, 44]
- sources:
- model: NousResearch/Nous-Hermes-2-SOLAR-10.7B
layer_range: [39, 48]
merge_method: passthrough
dtype: float16
```
### Usage
You can use the provided template:
```
tokenizer = AutoTokenizer.from_pretrained("vicgalle/Nous-Hermes-2-SOLAR-18B")
model = AutoModelForCausalLM.from_pretrained("vicgalle/Nous-Hermes-2-SOLAR-18B", torch_dtype=torch.float16, load_in_4bit=True)
conversation = [ {'role': 'system', 'content': SYSTEM_PROMPT}, {'role': 'user', 'content': USER_PROMPT} ]
prompt = tokenizer.apply_chat_template(conversation, tokenize=False, add_generation_prompt=True)
inputs = tokenizer(prompt, return_tensors="pt").to(model.device)
outputs = model.generate(**inputs, use_cache=True, max_new_tokens=1024, do_sample=True, temperature=0.8)
output_text = tokenizer.decode(outputs[0])
```