Update README.md
Browse files
README.md
CHANGED
@@ -1,33 +1,32 @@
|
|
1 |
---
|
|
|
2 |
license: apache-2.0
|
3 |
language: c++
|
4 |
tags:
|
5 |
-
|
6 |
-
|
7 |
-
|
8 |
-
|
9 |
-
|
10 |
-
|
|
|
11 |
base_model: codellama/CodeLlama-7b-hf
|
12 |
model_type: llama
|
13 |
pipeline_tag: text-generation
|
14 |
---
|
15 |
-
|
16 |
# 🧪 CodeLLaMA Unit Test Generator — Full Merged Model (v2)
|
17 |
|
18 |
-
This is a **merged model** that combines [`codellama/CodeLlama-7b-hf`](https://huggingface.co/codellama/CodeLlama-7b-hf) with a LoRA adapter
|
|
|
|
|
19 |
|
20 |
-
> ✅ Trained to generate only test cases, no headers, no `main()`, and uses `// END_OF_TESTS` token to denote completion.
|
21 |
|
22 |
---
|
23 |
|
24 |
## 🎯 Use Cases
|
25 |
|
26 |
-
-
|
27 |
-
-
|
28 |
-
- ⚠️ Ensure MISRA-C compliance (if trained accordingly)
|
29 |
-
- 📏 Automatically remove boilerplate and focus on `TEST(...)` blocks
|
30 |
-
|
31 |
---
|
32 |
|
33 |
## 🧠 Training Summary
|
@@ -69,3 +68,41 @@ int add(int a, int b) { return a + b; }
|
|
69 |
inputs = tokenizer(prompt, return_tensors="pt").to("cuda")
|
70 |
outputs = model.generate(**inputs, max_new_tokens=512, eos_token_id=tokenizer.convert_tokens_to_ids("// END_OF_TESTS"))
|
71 |
print(tokenizer.decode(outputs[0], skip_special_tokens=True))
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
---
|
2 |
+
|
3 |
license: apache-2.0
|
4 |
language: c++
|
5 |
tags:
|
6 |
+
- code-generation
|
7 |
+
- codellama
|
8 |
+
- peft
|
9 |
+
- unit-tests
|
10 |
+
- causal-lm
|
11 |
+
- text-generation
|
12 |
+
- embedded-systems
|
13 |
base_model: codellama/CodeLlama-7b-hf
|
14 |
model_type: llama
|
15 |
pipeline_tag: text-generation
|
16 |
---
|
|
|
17 |
# 🧪 CodeLLaMA Unit Test Generator — Full Merged Model (v2)
|
18 |
|
19 |
+
This is a **merged model** that combines [`codellama/CodeLlama-7b-hf`](https://huggingface.co/codellama/CodeLlama-7b-hf) with a LoRA adapter
|
20 |
+
fine-tuned on embedded C/C++ code and high-quality unit tests using GoogleTest and CppUTest. This version includes enhanced formatting, stop tokens,
|
21 |
+
and test cleanup mechanisms.
|
22 |
|
|
|
23 |
|
24 |
---
|
25 |
|
26 |
## 🎯 Use Cases
|
27 |
|
28 |
+
- Generate comprehensive unit tests for embedded C/C++ functions
|
29 |
+
- Focus on edge cases, boundaries, error handling
|
|
|
|
|
|
|
30 |
---
|
31 |
|
32 |
## 🧠 Training Summary
|
|
|
68 |
inputs = tokenizer(prompt, return_tensors="pt").to("cuda")
|
69 |
outputs = model.generate(**inputs, max_new_tokens=512, eos_token_id=tokenizer.convert_tokens_to_ids("// END_OF_TESTS"))
|
70 |
print(tokenizer.decode(outputs[0], skip_special_tokens=True))
|
71 |
+
```
|
72 |
+
|
73 |
+
|
74 |
+
## Training & Optimization Details
|
75 |
+
|
76 |
+
| Step | Description |
|
77 |
+
|---------------------|-----------------------------------------------------------------------------|
|
78 |
+
| **Dataset** | athrv/Embedded_Unittest2 (filtered for valid code-test pairs) |
|
79 |
+
| **Preprocessing** | Token length filtering (≤4096), special token injection |
|
80 |
+
| **Quantization** | 8-bit (BitsAndBytesConfig), llm_int8_threshold=6.0 |
|
81 |
+
| **LoRA Config** | r=64, alpha=32, dropout=0.1 on q_proj/v_proj/k_proj/o_proj |
|
82 |
+
| **Training** | 4 epochs, batch=4 (effective 8), lr=2e-4, FP16 |
|
83 |
+
| **Optimization** | Paged AdamW 8-bit, gradient checkpointing, custom data collator |
|
84 |
+
| **Special Tokens** | Added `<|system|>`, `<|user|>`, `<|assistant|>` |
|
85 |
+
|
86 |
+
---
|
87 |
+
|
88 |
+
## Tips for Best Results
|
89 |
+
|
90 |
+
- **Temperature:** 0.2–0.4
|
91 |
+
- **Top-p:** 0.85–0.95
|
92 |
+
- **Max New Tokens:** 256–512-1024-2048
|
93 |
+
- **Input Formatting:**
|
94 |
+
- Include complete function signatures
|
95 |
+
- Remove unnecessary comments
|
96 |
+
- Keep functions under 200 lines
|
97 |
+
- For long functions, split into logical units
|
98 |
+
|
99 |
+
---
|
100 |
+
|
101 |
+
## Feedback & Citation
|
102 |
+
|
103 |
+
**Dataset Credit:** `athrv/Embedded_Unittest2`
|
104 |
+
**Report Issues:** [Model's Hugging Face page](https://huggingface.co/Utkarsh524/codellama_utests_full_new_ver2)
|
105 |
+
|
106 |
+
**Maintainer:** Utkarsh524
|
107 |
+
**Model Version:** v2 (4-epoch trained)
|
108 |
+
---
|