Minimalism / MODEL_CARD.md
salakash's picture
Upload folder using huggingface_hub
6edcce8 verified
metadata
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

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

pip install mlx-lm

Running the Server

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

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

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:

@misc{minimalism2024,
  title={Minimalism: A Practical Coding Assistant},
  author={Kashif Salahuddin},
  year={2024},
  publisher={Hugging Face},
  howpublished={\url{https://huggingface.co/salakash/Minimalism}}
}

Contact

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.