Instructions to use CodeHima/finetunedPHP_starcoder2 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- PEFT
How to use CodeHima/finetunedPHP_starcoder2 with PEFT:
from peft import PeftModel from transformers import AutoModelForCausalLM base_model = AutoModelForCausalLM.from_pretrained("bigcode/starcoder2-3b") model = PeftModel.from_pretrained(base_model, "CodeHima/finetunedPHP_starcoder2") - Notebooks
- Google Colab
- Kaggle
| license: bigcode-openrail-m | |
| library_name: peft | |
| tags: | |
| - trl | |
| - sft | |
| - generated_from_trainer | |
| base_model: bigcode/starcoder2-3b | |
| model-index: | |
| - name: finetunedPHP_starcoder2 | |
| results: [] | |
| datasets: | |
| - bigcode/the-stack-smol | |
| language: | |
| - en | |
| <!-- This model card has been generated automatically according to the information the Trainer had access to. You | |
| should probably proofread and complete it, then remove this comment. --> | |
| # finetunedPHP_starcoder2 | |
| This model is a fine-tuned version of [bigcode/starcoder2-3b](https://huggingface.co/bigcode/starcoder2-3b) on [bigcode/the-stack-smol](https://huggingface.co/datasets/bigcode/the-stack-smol). | |
| ## Model description | |
| The `finetunedPHP_starcoder2` model is based on the `starcoder2-3b` architecture, fine-tuned specifically on PHP code from `the-stack-smol` dataset. It is intended for code generation tasks related to PHP programming. | |
| ## Intended uses & limitations | |
| The `finetunedPHP_starcoder2` model is suitable for generating PHP code snippets for various purposes, including code completion, syntax suggestions, and code generation tasks. However, it may have limitations in generating complex or domain-specific code, and users should verify the generated code for correctness and security. | |
| ## Training and evaluation data | |
| The model was trained on a dataset consisting of PHP code samples collected from `the-stack-smol` dataset. The training data included code snippets from PHP repositories, forums, and online tutorials. | |
| ## Training procedure | |
| **1. Data and Model Preparation:** | |
| - Load the PHP dataset from my repository `bigcode/the-stack-smol`. | |
| - Extract the relevant PHP data `data/php` samples for training. | |
| - Utilize the `starcoder2-3b` model pre-trained on a diverse range of programming languages, including PHP, from the Hugging Face Hub. | |
| - Ensure the model is configured with '4-bit' quantization for efficient computation. | |
| **2. Data Processing:** | |
| - Tokenize the PHP code snippets using the model's tokenizer. | |
| - Clean the code by removing comments and normalizing indentation. | |
| - Prepare input examples suitable for the model, considering its architecture and objectives. | |
| **3. Training Configuration:** | |
| - Initialize a Trainer object for fine-tuning, leveraging the Transformers library. | |
| - Define training parameters, including: | |
| - Learning rate, optimizer, and scheduler settings. | |
| - Gradient accumulation steps to balance memory usage. | |
| - Loss function, typically cross-entropy for language modeling. | |
| - Metrics for evaluating model performance. | |
| - Specify GPU utilization for accelerated training. | |
| - Handle potential distributed training with multiple processes. | |
| **4. Model Training:** | |
| - Commence training for a specified number of steps. | |
| - Iterate through batches of preprocessed PHP code examples. | |
| - Feed examples into the model and compute predictions. | |
| - Calculate loss based on predicted and actual outcomes. | |
| - Update model weights by backpropagating gradients through the network. | |
| **5. Evaluation (Optional):** | |
| - Periodically assess the model's performance on a validation set. | |
| - Measure key metrics such as code completion accuracy or perplexity. | |
| - Monitor training progress to fine-tune hyperparameters if necessary. | |
| - Use wandb metric monitoring for live monitoring. | |
| **6. Save the Fine-tuned Model:** | |
| - Store the optimized model weights and configuration in the designated `output_dir`. | |
| **7. Model Sharing (Optional):** | |
| - Optionally, create a model card documenting the fine-tuning process and model specifications. | |
| - Share the finetunedPHP_starcoder2 model on the Hugging Face Hub for broader accessibility and collaboration. | |
| ### Training hyperparameters | |
| The following hyperparameters were used during training: | |
| - learning_rate: 0.0002 | |
| - train_batch_size: 1 | |
| - eval_batch_size: 8 | |
| - seed: 0 | |
| - gradient_accumulation_steps: 4 | |
| - total_train_batch_size: 4 | |
| - optimizer: Adam with betas=(0.9,0.999) and epsilon=1e-08 | |
| - lr_scheduler_type: cosine | |
| - lr_scheduler_warmup_steps: 100 | |
| - training_steps: 1000 | |
| - mixed_precision_training: Native AMP | |
| ### Training results | |
| Training results and performance metrics are present in the repo. | |
| ### Framework versions | |
| - PEFT 0.8.2 | |
| - Transformers 4.40.0.dev0 | |
| - Pytorch 2.2.1+cu121 | |
| - Datasets 2.18.0 | |
| - Tokenizers 0.15.2 |