munish0838 commited on
Commit
98d2f4b
1 Parent(s): 518fd4f

Create README.md

Browse files
Files changed (1) hide show
  1. README.md +78 -0
README.md ADDED
@@ -0,0 +1,78 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ license: apache-2.0
3
+ datasets:
4
+ - JetBrains/KStack
5
+ results:
6
+ - task:
7
+ type: text-generation
8
+ dataset:
9
+ name: MultiPL-HumanEval (Kotlin)
10
+ type: openai_humaneval
11
+ metrics:
12
+ - name: pass@1
13
+ type: pass@1
14
+ value: 29.19
15
+ tags:
16
+ - code
17
+ library_name: transformers
18
+ pipeline_tag: text-generation
19
+ base_model: JetBrains/CodeLlama-7B-KStack
20
+ ---
21
+
22
+ # CodeLlama-7B-KStack-GGUF
23
+ This is quantized version of [JetBrains/CodeLlama-7B-KStack](https://huggingface.co/JetBrains/CodeLlama-7B-KStack) created using llama.cpp
24
+ # Model description
25
+
26
+ This is a repository for the **CodeLlama-7b** model fine-tuned on the [KStack](https://huggingface.co/datasets/JetBrains/KStack) dataset with rule-based filtering, in the *Hugging Face Transformers* format. KStack is the largest collection of permissively licensed Kotlin code, and so the model is fine-tuned to work better with Kotlin code.
27
+
28
+ # How to use
29
+
30
+ As with the base model, we can use FIM. To do this, the following format must be used:
31
+ ```
32
+ '<PRE> ' + prefix + ' <SUF> ' + suffix + ' <MID>'
33
+ ```
34
+
35
+ # Training setup
36
+
37
+ The model was trained on one A100 GPU with following hyperparameters:
38
+
39
+ | **Hyperparameter** | **Value** |
40
+ |:---------------------------:|:----------------------------------------:|
41
+ | `warmup` | 5% |
42
+ | `max_lr` | 1e-6 |
43
+ | `num_epochs` | 1 |
44
+ | 'attention_dropout' | 0.1 |
45
+ | `scheduler` | cosine |
46
+ | `total_batch_size` | 128 (~65K tokens per step) |
47
+ | `num_epochs` | 1 |
48
+
49
+ More details about fine-tuning can be found in the technical report (coming soon!).
50
+
51
+ # Fine-tuning data
52
+
53
+ For tuning the model, we used the [KStack](https://huggingface.co/datasets/JetBrains/KStack) dataset, the largest collection of permissively licensed Kotlin code. To increase the quality of the dataset and filter out outliers, such as homework assignments, we filter out the dataset entries according to the following rules:
54
+ * We filter out files, which belong to low-popular repos (the sum of stars and forks is less than 6)
55
+ * Next, we filter out files, which belong to repos with less than 5 Kotlin files
56
+ * Finally, we remove files which have fewer than 20 SLOC
57
+
58
+ We clean the content of the remaining dataset entries according to the following rules:
59
+ * We remove all non-ASCII entries
60
+ * We remove all package lines, such as _package kotlinx.coroutines.channels_
61
+ * We remove half of the import lines
62
+
63
+ We removed half of the imports to avoid potential hallucinations by the model, where it might attempt to import unnecessary libraries. Additionally, packages were removed because this information is only useful at the project level and may introduce additional noise during the learning process.
64
+
65
+ # Evaluation
66
+
67
+ For evaluation, we used the [Kotlin HumanEval](https://huggingface.co/datasets/JetBrains/Kotlin_HumanEval) dataset, which contains all 161 tasks from HumanEval translated into Kotlin by human experts. You can find more details about the pre-processing necessary to obtain our results, including the code for running, on the [datasets's page](https://huggingface.co/datasets/JetBrains/Kotlin_HumanEval).
68
+
69
+ Here are the results of our evaluation:
70
+
71
+ | **Model name** | **Kotlin HumanEval Pass Rate** |
72
+ |:---------------------------:|:----------------------------------------:|
73
+ | `CodeLlama-7B` | 26.09 |
74
+ | `CodeLlama-7B-KStack` | **29.19** |
75
+
76
+ # Ethical Considerations and Limitations
77
+
78
+ CodeLlama-7B-KStack is a new technology that carries risks with use. The testing conducted to date has not covered, nor could it cover all scenarios. For these reasons, as with all LLMs, CodeLlama-7B-KStack's potential outputs cannot be predicted in advance, and the model may in some instances produce inaccurate or objectionable responses to user prompts. The model was fine-tuned on a specific data format (Kotlin tasks), and deviation from this format can also lead to inaccurate or undesirable responses to user queries. Therefore, before deploying any applications of CodeLlama-7B-KStack, developers should perform safety testing and tuning tailored to their specific applications of the model.