Skip to main content

🚀 Auto-LoRA

The Automated Hyperparameter Optimization Platform for Efficient LLM Fine-Tuning.

PyPI version License: MIT Python 3.10+

Auto-LoRA is a powerful, scientific framework designed to take the guesswork out of Large Language Model (LLM) fine-tuning. By combining Bayesian Optimization (via Optuna) with High-Performance Training Engines (via Unsloth and PEFT), Auto-LoRA automatically identifies the optimal LoRA (Low-Rank Adaptation) configurations for your specific dataset and hardware constraints.


🌟 Key Features

🎯 Intelligent Hyperparameter Tuning

Stop guessing ranks and learning rates. Auto-LoRA uses Optuna to search for the best combination of:

  • LoRA Rank (r) and Alpha
  • Learning Rate and Scheduler
  • Dropout Rates
  • Target Modules

⚡ Unsloth Integration

Built-in support for Unsloth, providing:

  • 2x–5x faster training speeds.
  • 70% less VRAM usage.
  • Automatic fallback to standard PEFT if hardware is incompatible.

📊 Scientific Metric Suite

Move beyond simple loss curves. Auto-LoRA generates journal-grade reports including:

  • NLP Quality: ROUGE-L, BLEU, and Semantic Similarity (via Sentence-Transformers).
  • Inference Efficiency: Tokens Per Second (TPS), Latency (ms).
  • Hardware Profile: Peak VRAM usage, System VRAM efficiency.

📈 Dynamic Visualization

Generate stunning HTML dashboards and publication-quality Matplotlib charts with a single command.


🚀 Quick Start

Installation

Standard Installation (Recommended)

pip install auto-lora

From Source (For Developers)

git clone https://github.com/shrey1720/auto-lora.git
cd auto-lora
pip install -e ".[dev]"

Recommended for NVIDIA GPUs

pip install unsloth xformers

🛠 Usage Guide

1. System Health Check

Ensure your GPU and VRAM are ready for training.

auto-lora doctor

2. Basic Training

Train with default settings and automatic tuning.

auto-lora train --model "meta-llama/Llama-3.2-1B" --data "my_dataset.json" --max-trials 5

3. Using Expert Presets

Auto-LoRA comes with pre-configured settings for specific domains:

  • --preset chatbot: Optimized for conversational flow.
  • --preset coding: Lower learning rate, optimized for logic.
  • --preset summarization: Focuses on context retention.

4. Scientific Benchmarking

Compare your trained adapter against ground truth answers to get a technical profile.

auto-lora benchmark --run <run_id> --references test_set.json

📂 Project Architecture

The system is modularly designed for extensibility:

auto_lora/
├── tuner/        # Bayesian optimization and search spaces
├── trainer/      # LoRA/QLoRA engine (Unsloth & PEFT)
├── dataset/      # Dynamic loading and scientific validation
├── hardware/     # VRAM analysis and hardware-aware strategy
├── metrics/      # Scorer engine (NLP & Performance)
├── reports/      # HTML Exporters and Chart Generators
├── db/           # SQLite persistence for all runs/trials
└── cli/          # Typer-powered command interface

🔬 Technical Roadmap

  • Multi-GPU Support: DDP and FSDP integration.
  • DPO Tuning: Direct Preference Optimization tuning loop.
  • Custom Scoring Functions: Allow users to define their own success metrics.
  • HuggingFace Hub Integration: Direct upload of tuned adapters.

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

Metadata

Release files for auto-lora 0.2.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for auto-lora 0.2.5
File Size Uploaded
auto_lora-0.2.5.tar.gz 64.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for auto-lora 0.2.5
File Interpreter ABI Platform
auto_lora-0.2.5-py3-none-any.whl Python 3 none any Details

Total release size: 139.1 kB

Release files / auto_lora-0.2.5.tar.gz

Download URL auto_lora-0.2.5.tar.gz
Size 64.6 kB
Tags Source
SHA-256 checksum
How to use checksums
e21732a99485a9b377896d84fd1cc143a5dc9bda0fed1ed89d31918b953b6234
BLAKE2b-256 checksum
How to use checksums
1ccafe8de2ef193a7b406a63c99d195596f2730453a705c5f47a0121078825e8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.5

Release files / auto_lora-0.2.5-py3-none-any.whl

Download URL auto_lora-0.2.5-py3-none-any.whl
Size 74.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
6dcf7851d468a6161654398dd198309a6e2cd66b69ddac32c0baf262c997578c
BLAKE2b-256 checksum
How to use checksums
8f52b21cb08ab7bb1901587859696ef585b920bec267f4f40379d31b65dbf058
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.5

Release history Release notifications | RSS feed

This release

0.2.5 This release

2 release files

0.2.4

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page