Minimalism / MODEL_CARD.md
salakash's picture
Upload folder using huggingface_hub
6edcce8 verified
---
license: apache-2.0
base_model: Qwen/Qwen2.5-Coder-0.5B-Instruct
tags:
- code
- coding-assistant
- mlx
- lora
- qwen2.5
language:
- en
pipeline_tag: text-generation
---
**Developed By Samiya Kashif, Kashif Salahuddin & Rohan Bhangale & Rpbert Rojek**
# Minimalism
Minimalism is a practical coding assistant fine-tuned with LoRA on the code-alpaca-20k dataset. It provides runnable-first responses with structured sections for Solution, Usage, and Sanity Tests.
## Model Details
- **Base Model**: [Qwen/Qwen2.5-Coder-0.5B-Instruct](https://huggingface.co/Qwen/Qwen2.5-Coder-0.5B-Instruct)
- **MLX Weights**: [mlx-community/Qwen2.5-Coder-0.5B-Instruct-4bit](https://huggingface.co/mlx-community/Qwen2.5-Coder-0.5B-Instruct-4bit)
- **Training Dataset**: [flwrlabs/code-alpaca-20k](https://huggingface.co/datasets/flwrlabs/code-alpaca-20k)
- **Training Method**: LoRA (Low-Rank Adaptation)
- **Framework**: MLX (Apple Silicon optimized)
- **License**: Apache-2.0
## Intended Use
Minimalism is designed for:
- Code generation and completion
- Programming assistance and tutoring
- Quick prototyping and examples
- Learning programming concepts
### Response Format
When asked for code, Minimalism structures responses with:
1. **Solution**: The main implementation
2. **Usage**: A minimal runnable example
3. **Sanity test**: A tiny test snippet (when appropriate)
This format ensures responses are immediately actionable and testable.
## Training Details
- **Dataset Size**: 2,000 examples (configurable)
- **Training Iterations**: 50 (configurable)
- **LoRA Rank**: 8
- **LoRA Alpha**: 16
- **Learning Rate**: 2e-5
- **Hardware**: Apple Silicon M1 with 32GB RAM
### Data Processing
The training data underwent:
1. Secret redaction (API keys, private keys, tokens)
2. Deduplication by content hash
3. Train/validation split (98/2)
4. Deterministic truncation for efficiency
## Usage
### Installation
```bash
pip install mlx-lm
```
### Running the Server
```bash
python -m mlx_lm.server \
--model mlx-community/Qwen2.5-Coder-0.5B-Instruct-4bit \
--adapter-path salakash/Minimalism \
--host 127.0.0.1 \
--port 8080
```
### API Example
```bash
curl http://127.0.0.1:8080/v1/chat/completions \
-H 'Content-Type: application/json' \
-d '{
"model": "Minimalism",
"messages": [
{"role": "user", "content": "Write a Python function to add two numbers"}
],
"max_tokens": 256
}'
```
### Python Example
```python
from mlx_lm import load, generate
# Load model with adapter
model, tokenizer = load(
"mlx-community/Qwen2.5-Coder-0.5B-Instruct-4bit",
adapter_path="salakash/Minimalism"
)
# Generate response
prompt = "Write a Python function to reverse a string"
response = generate(model, tokenizer, prompt=prompt, max_tokens=256)
print(response)
```
## Limitations
- **Model Size**: 0.5B parameters - suitable for quick tasks but not complex reasoning
- **Context Length**: Limited by base model's context window
- **Domain**: Primarily trained on Python code examples
- **Hardware**: Optimized for Apple Silicon; may not perform optimally on other platforms
- **Accuracy**: May generate incorrect or insecure code; always review outputs
## Ethical Considerations
- **Code Review**: Always review generated code before use in production
- **Security**: Do not use for security-critical applications without thorough review
- **Bias**: May reflect biases present in training data
- **Attribution**: Generated code should be reviewed for licensing implications
## Attribution
This model is built upon:
1. **Base Model**: Qwen/Qwen2.5-Coder-0.5B-Instruct
- License: Apache-2.0
- Authors: Qwen Team, Alibaba Cloud
- No endorsement by original authors is implied
2. **MLX Conversion**: mlx-community/Qwen2.5-Coder-0.5B-Instruct-4bit
- Converted for Apple Silicon optimization
- Community contribution
3. **Training Dataset**: flwrlabs/code-alpaca-20k
- License: Apache-2.0
- Based on Stanford Alpaca methodology
- No endorsement by dataset authors is implied
## Citation
If you use Minimalism in your research or applications, please cite:
```bibtex
@misc{minimalism2024,
title={Minimalism: A Practical Coding Assistant},
author={Kashif Salahuddin},
year={2024},
publisher={Hugging Face},
howpublished={\url{https://huggingface.co/salakash/Minimalism}}
}
```
## Contact
- Repository: [github.com/salakash/Minimalism](https://github.com/salakash/Minimalism)
- Issues: [github.com/salakash/Minimalism/issues](https://github.com/salakash/Minimalism/issues)
## Disclaimer
This adapter is provided "as is" without warranty. The authors are not responsible for any damages or issues arising from its use. Always review and test generated code before deployment.