--- license: llama2 datasets: - b-mc2/sql-create-context language: - en base_model: - codellama/CodeLlama-7b-hf pipeline_tag: text-generation library_name: peft tags: - text-to-sql - code - lora - nlp - mps --- # CodeLlama-7b Text-to-SQL (Fine-Tuned on Mac MPS) ## Model Description This is a fine-tuned version of **CodeLlama-7b-hf** specifically optimized for **Text-to-SQL** tasks. Right now it is overfitting. It was trained on a **MacBook Pro M3** using **MPS (Metal Performance Shaders)** acceleration. The training process successfully demonstrates that LLM fine-tuning is feasible on Apple Silicon devices with the right configuration. ### Origin & Adaptation This project is adapted from the **Microsoft "Generative AI for Beginners" Course (Chapter 18: Fine-tuning)**. - Original Source: [Generative AI for Beginners](https://github.com/microsoft/generative-ai-for-beginners) - **Modifications**: The original code was designed for NVIDIA GPUs (using `bitsandbytes` and CUDA). I heavily modified the training pipeline to support **macOS/MPS**, including: - Removing unsupported quantization. - Optimizing memory usage to prevent OOM on Mac. - Adjusting `device_map` and FP16/FP32 settings for Metal compatibility. - see setup_fine_tune_mps.ipynb ## How to Use See how_to_use.ipynb. - It seems like on mps pipeline doesn't work properly(at least I have not figured out how to make it working properly). Just use model.generate. - chat template is required as the original data doesn't contain the template, but model is fine tuned with this template. ## Training Details - **Hardware**: Mac M3 (MPS) - **Base Model**: [codellama/CodeLlama-7b-hf](https://huggingface.co/codellama/CodeLlama-7b-hf) - **Dataset**: [b-mc2/sql-create-context](https://huggingface.co/datasets/b-mc2/sql-create-context) - **Technique**: LoRA (PEFT)