|
--- |
|
license: openrail |
|
datasets: |
|
- lucasmccabe-lmi/CodeAlpaca-20k |
|
language: |
|
- en |
|
library_name: adapter-transformers |
|
--- |
|
|
|
# Model Card for `opt350m-codealpaca20k` |
|
|
|
## Model Description |
|
|
|
An opt-350m model trained on the CodeAlpaca 20k dataset using quantization and Progressive Embedding Fine-Tuning (PEFT). |
|
The resulting model is designed to understand and generate code-related responses based on the prompts provided. |
|
|
|
[original model car](https://huggingface.co/facebook/opt-350m) |
|
|
|
### Model Architecture |
|
|
|
- **Base Model**: `facebook/opt-350m` |
|
- **Fine-tuning**: Parameter-Efficient Fine-Tuning (PEFT) |
|
|
|
## Training Data |
|
|
|
The model was trained on the `lucasmccabe-lmi/CodeAlpaca-20k` dataset. This dataset contains code-related prompts and their corresponding outputs. |
|
Script used for training is avaiable [here](https://github.com/harpomaxx/llm-finetuning/blob/0954a7ca16bb25bdef6ee9dd1089867bd4d8e0a5/code/python/scripts/stf_train_opt350m.py) |
|
|
|
## Training Procedure |
|
|
|
### Quantization Configuration: |
|
|
|
- **Quantization Type**: 4-bit |
|
- **Compute Dtype**: float16 |
|
- **Double Quant**: Enabled |
|
|
|
### PEFT Configuration: |
|
|
|
- **Lora Alpha**: 16 |
|
- **Lora Dropout**: 0.5 |
|
- **Bias**: None |
|
- **Task Type**: CAUSAL_LM |
|
- **Target Modules**: q_proj, v_proj, k_proj |
|
|
|
### Training Arguments: |
|
|
|
- **Batch Size**: 4 (per device) |
|
- **Gradient Accumulation Steps**: 2 |
|
- **Number of Epochs**: 10 |
|
- **Optimizer**: `adamw_bnb_8bit` |
|
- **Learning Rate**: 2e-5 |
|
- **Max Gradient Norm**: 0.3 |
|
- **Warmup Ratio**: 0.03 |
|
- **Learning Rate Scheduler**: Cosine |
|
- **Logging Steps**: 10 |
|
- **Save Steps**: 250 |
|
- **FP16 Precision**: Enabled |
|
|
|
|
|
### Training information from wandb |
|
|
|
- **train/total_flos:** 72,761,086,854,758,400 |
|
- **train/train_loss:** 1.5557164267259171 |
|
- **train/train_runtime:** 5892.7285 seconds |
|
- **train/train_steps_per_second:** 4.248 |
|
- **_runtime:** 5891.33976650238 seconds |
|
- **_timestamp:** 1,695,390,058.0198596 |
|
- **train/epoch:** 10 |
|
- **train/global_step:** 25,030 |
|
- **train/learning_rate:** 8.371592860045851e-12 |
|
- **train/train_samples_per_second:** 33.977 |
|
- **_step:** 2,503 |
|
- **_wandb.runtime:** 5890 seconds |
|
- **train/loss:** 1.4114 |
|
|
|
|
|
|
|
|
|
|
|
|
|
## Usage |
|
|
|
```python |
|
from transformers import AutoModelForCausalLM, AutoTokenizer |
|
|
|
tokenizer = AutoTokenizer.from_pretrained("facebook/opt350m") |
|
model = AutoModelForCausalLM.from_pretrained("harpomaxx/opt350m-codealpaca20k) |
|
|
|
prompt = "Question: [Your code-related question here] ### Answer: " |
|
inputs = tokenizer.encode(prompt, return_tensors="pt") |
|
outputs = model.generate(inputs) |
|
decoded_output = tokenizer.decode(outputs[0], skip_special_tokens=True) |
|
|
|
print(decoded_output) |
|
``` |
|
|
|
|
|
|
|
## License |
|
|
|
OpenRail |
|
|
|
--- |
|
|
|
|