|
# π§ Code Generation Model β Fine-Tuned `Salesforce/codegen-350M-multi` |
|
|
|
This repository contains a fine-tuned version of the [`Salesforce/codegen-350M-multi`](https://huggingface.co/Salesforce/codegen-350M-multi) model. It generates code snippets based on natural language or function signature prompts. |
|
|
|
--- |
|
|
|
## π¦ Base Model |
|
|
|
- **Model**: `Salesforce/codegen-350M-multi` |
|
- **Architecture**: Causal LM (Decoder-only Transformer) |
|
- **Parameters**: ~350M |
|
- **Supports**: Python, JavaScript, Java, and more |
|
- **Quantized**: β
FP16 using `bitsandbytes` (optional) |
|
|
|
--- |
|
|
|
## π Dataset |
|
|
|
### Dataset: [code_x_glue_cc_code_to_text](https://huggingface.co/datasets/code_x_glue_cc_code_to_text) |
|
|
|
- **Source**: Hugging Face Datasets |
|
- **Description**: Dataset of code snippets (in Python) and corresponding natural language docstrings. |
|
|
|
```python |
|
from datasets import load_dataset |
|
|
|
dataset = load_dataset("code_x_glue_cc_code_to_text", "python") |
|
``` |
|
|
|
# π Evaluation (Scoring) |
|
Metric: BLEU or CodeBLEU (you can also use exact match, ROUGE, etc.) |
|
|
|
```python |
|
|
|
from datasets import load_metric |
|
|
|
bleu = load_metric("bleu") |
|
bleu_score = bleu.compute(predictions=["generated_code"], references=["reference_code"]) |
|
print("BLEU Score:", bleu_score) |
|
``` |
|
|
|
# π Folder Structure |
|
|
|
finetuned_codegen_350M/ |
|
βββ config.json |
|
βββ pytorch_model.bin |
|
βββ tokenizer_config.json |
|
βββ tokenizer.json |
|
βββ special_tokens_map.json |
|
βββ vocab.json |
|
βββ merges.txt |
|
βββ training_args.bin |
|
βββ README.md |
|
|
|
# π¬ Inference Example |
|
|
|
```python |
|
|
|
from transformers import pipeline |
|
|
|
pipe = pipeline("text-generation", model="./finetuned_codegen_350M", device=0) |
|
|
|
prompt = "def is_prime(n):" |
|
result = pipe(prompt, max_length=100, do_sample=True) |
|
print(result[0]["generated_text"]) |
|
|
|
|