File size: 1,965 Bytes
a11426d
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
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: migtissera/SynthIA-70B-v1.2b # 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: migtissera/SynthIA-70B-v1.2b
        layer_range: [10, 30]
  - sources:
      - model: WizardLM/WizardMath-70B-V1.0
        layer_range: [20, 40]
  - sources:
      - model: epfl-llm/meditron-70b
        layer_range: [25, 45]
  - sources:
      - model: cognitivecomputations/dolphin-2.2-70b
        layer_range: [30, 50]
  - sources:
      - model: migtissera/SynthIA-70B-v1.2b
        layer_range: [40, 60]
  - sources:
      - model: WizardLM/WizardMath-70B-V1.0
        layer_range: [50, 70]
  - sources:
      - model: epfl-llm/meditron-70b
        layer_range: [55, 75]
  - 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: migtissera/SynthIA-70B-v1.2b
        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