Update README.md
Browse files
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
|