---
base_model:
- NousResearch/Nous-Hermes-2-Llama-2-70B
- cognitivecomputations/dolphin-2.2-70b
library_name: transformers
tags:
- mergekit
- merge
license: llama2
---

![image/png](https://cdn-uploads.huggingface.co/production/uploads/63111b2d88942700629f5771/Vm-HPb-wnet-9xOT_wDCb.png)

# DolphinHermes-120b

Cheers @teknium

This is a merge of pre-trained language models created using [mergekit](https://github.com/cg123/mergekit).

[![Discord](https://img.shields.io/discord/1156064224225808488?logo=Discord&logoColor=%23ffffff&label=Discord&link=https%3A%2F%2Fdiscord.gg%2FtCMkMDDHwm)](https://discord.gg/cognitivecomputations)
Discord: https://discord.gg/cognitivecomputations

## Merge Details
### Merge Method

This model was merged using the [linear](https://arxiv.org/abs/2203.05482) merge method.

### Models Merged

The following models were included in the merge:
* [NousResearch/Nous-Hermes-2-Llama-2-70B](https://huggingface.co/NousResearch/Nous-Hermes-2-Llama-2-70B)
* [cognitivecomputations/dolphin-2.2-70b](https://huggingface.co/cognitivecomputations/dolphin-2.2-70b)

### Configuration

The following YAML configuration was used to produce this model:

```yaml
merge_method: linear # use linear so we can include multiple models, albeit at a zero weight
parameters:
  weight: 1.0 # weight everything as 1 unless specified otherwise - linear with one model weighted at 1 is a no-op like passthrough
slices:
  - sources:
      - model: cognitivecomputations/dolphin-2.2-70b # embed_tokens comes along with the ride with whatever is the first layer
        layer_range: [0, 1]
      - model: NousResearch/Nous-Hermes-2-Llama-2-70B # add dummy second model with 0 weight so tokenizer-based merge routine is invoked for embed_tokens
        layer_range: [0, 1]
        parameters:
          weight: 0
  - sources:
      - model: cognitivecomputations/dolphin-2.2-70b
        layer_range: [1, 20]
  - sources:
      - model: NousResearch/Nous-Hermes-2-Llama-2-70B
        layer_range: [10, 30]
  - sources:
      - model: cognitivecomputations/dolphin-2.2-70b
        layer_range: [20, 40]
  - sources:
      - model: NousResearch/Nous-Hermes-2-Llama-2-70B
        layer_range: [30, 50]
  - sources:
      - model: cognitivecomputations/dolphin-2.2-70b
        layer_range: [40, 60]
  - sources:
      - model: NousResearch/Nous-Hermes-2-Llama-2-70B
        layer_range: [50, 70]
  - sources:
      - model: cognitivecomputations/dolphin-2.2-70b
        layer_range: [60, 79]
  - sources: # same as above, but for lm_head with the last layer
      - model: cognitivecomputations/dolphin-2.2-70b
        layer_range: [79, 80]
      - model: NousResearch/Nous-Hermes-2-Llama-2-70B
        layer_range: [79, 80]
        parameters:
          weight: 0
dtype: float16
tokenizer_source: model:cognitivecomputations/dolphin-2.2-70b # keep exact tokenizer used by dolphin - or you could use `union` if you add all of the input models to the first/last slice, but they would need to be non-zero weight or you'll get NaNs in your embeddings
```