MLX-LoRA-Studio  by Goekdeniz-Guelmez

Native Mac app for on-device LLM fine-tuning

Created 2 months ago
250 stars

Top 100.0% on SourcePulse

GitHubView on GitHub
Project Summary

MLX-LoRA Studio offers a native macOS application for on-device LLM fine-tuning, specifically targeting Apple Silicon hardware. It provides a fully local, private, and user-friendly interface for fine-tuning large language models, abstracting away the complexities of cloud setups and command-line environments. This empowers users, from beginners to researchers, to fine-tune models directly on their Mac, enhancing privacy and accessibility.

How It Works

Built with SwiftUI and AppKit, the application serves as a graphical front-end to the mlx-lm-lora Python training pipeline. It manages Python environment discovery and provisioning, live memory monitoring with ResourceGuard to prevent swap usage, and offers a complete workflow from model selection and training to Hugging Face adapter uploads. This approach prioritizes a seamless, end-to-end user experience for local LLM fine-tuning.

Quick Start & Requirements

  • Primary install: Download the .dmg from the Releases page, drag MLX LoRA Studio.app to /Applications. Before the first launch, run sudo xattr -dr com.apple.quarantine "/Applications/MLX LoRA Studio.app" in Terminal.
  • Prerequisites: macOS 14 (Sonoma) or later, Apple Silicon (M1/M2/M3/M4 family), 16 GB RAM (24 GB+ recommended for >=13B models). A bundled Python environment is used, eliminating the need for a system Python installation.
  • Resource Footprint: Approximately 5 GB for the app, plus storage for Hugging Face model caches.
  • Links: Releases page (implied by download instructions).

Highlighted Details

  • Supports 10 distinct training algorithms, including SFT, DPO, FTPO, CPO, ORPO, GRPO, Online DPO, XPO, RLHF Reinforce, and PPO.
  • Offers multiple adapter types and training modes: LoRA, DoRA, QLoRA (4/6/8-bit), full fine-tuning, and Quantization-Aware Training (QAT).
  • Features live training observability with real-time metrics (loss, learning rate, gradient norm, throughput) and a live memory monitor.
  • Includes a comprehensive "Runs archive" for managing configurations, logs, and adapters, along with a one-click Hugging Face upload flow.

Maintenance & Community

The project welcomes bug reports, feature requests, and pull requests. Algorithm and trainer-specific changes are directed to the mlx-lm-lora repository, which serves as the source of truth. No specific community channels like Discord or Slack are listed in the README.

Licensing & Compatibility

The application and its vendored mlx-lm-lora Python components are released under the MIT License. This permissive license allows for broad compatibility, including commercial use and integration into closed-source projects.

Limitations & Caveats

This application is strictly limited to macOS 14+ running on Apple Silicon; Intel Macs are not supported due to dependencies on the MLX framework. Users must perform an initial xattr command in Terminal to bypass macOS's quarantine flag on downloaded app bundles, as the release is not yet notarized. Synthetic dataset creation has been removed from the active app workflow.

Health Check
Last Commit

1 month ago

Responsiveness

Inactive

Pull Requests (30d)
0
Issues (30d)
0
Star History
0 stars in the last 30 days

Explore Similar Projects

Feedback? Help us improve.