oobabooga commited on
Commit
eb5206a
1 Parent(s): fcc3019

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +99 -0
README.md CHANGED
@@ -1,3 +1,102 @@
1
  ---
2
  license: llama2
3
  ---
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  ---
2
  license: llama2
3
  ---
4
+
5
+ <a href="https://ko-fi.com/oobabooga"><img src="https://i.imgur.com/UJlEAYw.png"></a>
6
+
7
+ # CodeBooga-34B-v0.1
8
+
9
+ This is a merge between the following two models:
10
+
11
+ 1) [Phind-CodeLlama-34B-v2](https://huggingface.co/Phind/Phind-CodeLlama-34B-v2)
12
+ 2) [WizardCoder-Python-34B-V1.0](https://huggingface.co/WizardLM/WizardCoder-Python-34B-V1.0)
13
+
14
+ It was created with the [BlockMerge Gradient script](https://github.com/Gryphe/BlockMerge_Gradient), the same one that was used to create [MythoMax-L2-13b](https://huggingface.co/Gryphe/MythoMax-L2-13b), and with the same settings. The following YAML was used:
15
+
16
+ ```yaml
17
+ model_path1: "Phind_Phind-CodeLlama-34B-v2_safetensors"
18
+ model_path2: "WizardLM_WizardCoder-Python-34B-V1.0_safetensors"
19
+ output_model_path: "CodeBooga-34B-v0.1"
20
+ operations:
21
+ - operation: lm_head # Single tensor
22
+ filter: "lm_head"
23
+ gradient_values: [0.75]
24
+ - operation: embed_tokens # Single tensor
25
+ filter: "embed_tokens"
26
+ gradient_values: [0.75]
27
+ - operation: self_attn
28
+ filter: "self_attn"
29
+ gradient_values: [0.75, 0.25]
30
+ - operation: mlp
31
+ filter: "mlp"
32
+ gradient_values: [0.25, 0.75]
33
+ - operation: layernorm
34
+ filter: "layernorm"
35
+ gradient_values: [0.5, 0.5]
36
+ - operation: modelnorm # Single tensor
37
+ filter: "model.norm"
38
+ gradient_values: [0.75]
39
+ ```
40
+
41
+ ## Prompt format
42
+
43
+ Both base models use the Alpaca format, so it should be used for this one as well.
44
+
45
+ ```
46
+ Below is an instruction that describes a task. Write a response that appropriately completes the request.
47
+
48
+
49
+ ### Instruction:
50
+ Your instruction
51
+
52
+ ### Response:
53
+ Bot reply
54
+
55
+ ### Instruction:
56
+ Another instruction
57
+
58
+ ### Response:
59
+ Bot reply
60
+ ```
61
+
62
+ ## Evaluation
63
+
64
+ I made a quick experiment where I asked a set of 3 Python and 3 Javascript questions to the following models:
65
+
66
+ 1) This one
67
+ 2) A second variant generated with `model_path1` and `model_path2` swapped in the YAML above, which I called CodeBooga-Reversed-34B-v0.1
68
+ 3) WizardCoder-Python-34B-V1.0
69
+ 4) Phind-CodeLlama-34B-v2
70
+
71
+ Specifically, I used 4.250b EXL2 quantizations of each. I then sorted the responses for each question by quality, and attributed the following scores:
72
+
73
+ * 4th place: 0
74
+ * 3rd place: 1
75
+ * 2nd place: 2
76
+ * 1st place: 4
77
+
78
+ The resulting cumulative scores were:
79
+
80
+ * CodeBooga-34B-v0.1: 22
81
+ * WizardCoder-Python-34B-V1.0: 12
82
+ * Phind-CodeLlama-34B-v2: 7
83
+ * CodeBooga-Reversed-34B-v0.1: 1
84
+
85
+ CodeBooga-34B-v0.1 performed very well, while its variant performed poorly, so I uploaded the former but not the latter.
86
+
87
+ ## Recommended settings
88
+
89
+ I recommend the [Divine Intellect](https://github.com/oobabooga/text-generation-webui/blob/ae8cd449ae3e0236ecb3775892bb1eea23f9ed68/presets/Divine%20Intellect.yaml) preset for instruction-following models like this, as per the [Preset Arena experiment results](https://github.com/oobabooga/oobabooga.github.io/blob/main/arena/results.md):
90
+
91
+ ```yaml
92
+ temperature: 1.31
93
+ top_p: 0.14
94
+ repetition_penalty: 1.17
95
+ top_k: 49
96
+ ```
97
+
98
+ ## Quantized version
99
+
100
+ A 4.250b EXL2 version of the model can be found here:
101
+
102
+ https://huggingface.co/oobabooga/CodeBooga-34B-v0.1-EXL2-4.250b