🚀 Auto-LoRA
The Automated Hyperparameter Optimization Platform for Efficient LLM Fine-Tuning.
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)
| File | Size | Uploaded | |
|---|---|---|---|
| auto_lora-0.2.5.tar.gz | 64.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|