🚀 Adyft
The Automated Hyperparameter Optimization Platform for Efficient LLM Fine-Tuning.
Adyft 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), Adyft 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. Adyft 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. Adyft 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 adyft
From Source (For Developers)
git clone https://github.com/shrey1720/ADyFT.git
cd ADyFT
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.
adyft doctor
2. Basic Training
Train with default settings and automatic tuning.
adyft train --model "meta-llama/Llama-3.2-1B" --data "my_dataset.json" --max-trials 5
3. Using Expert Presets
Adyft 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. Safe Carry-Forward Training
Tune as usual, then continue the best trial for extra epochs from its checkpoint.
adyft train --model "meta-llama/Llama-3.2-1B" --data "my_dataset.json" --max-trials 3 --continue-best-epochs 2
5. Scientific Benchmarking
Compare your trained adapter against ground truth answers to get a technical profile.
adyft benchmark --run <run_id> --references test_set.json
📂 Project Architecture
The system is modularly designed for extensibility:
adyft/
├── 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
🛠 Detailed Command Reference
| Command | Description |
|---|---|
adyft init |
Initialize project structure in the current directory. |
adyft doctor |
Run hardware and dependency health checks. |
adyft train |
Start HPO training (see options below). |
adyft export |
Export the best adapter for deployment. |
adyft report |
Generate an HTML performance dashboard. |
adyft benchmark |
Run scientific NLP and throughput evaluations. |
adyft runs list |
View training history and best scores. |
🚀 Training Options (adyft train)
| Option | Shorthand | Default | Description |
|---|---|---|---|
--model |
-m |
- | HuggingFace model name (Required). |
--data |
-d |
- | Dataset path (.json, .jsonl, .txt) (Required). |
--max-trials |
-t |
10 | Maximum tuning iterations. |
--epochs |
-e |
3 | Training epochs per trial. |
--unsloth |
- | True | Use Unsloth for 2x faster training. |
--wandb |
- | False | Enable Weights & Biases logging. |
🧩 Key Terminology
- HPO: Hyperparameter Optimization — automatically finding the best settings.
- LoRA: Low-Rank Adaptation — efficient fine-tuning by only training a small adapter.
- Trial: A single training attempt with one hyperparameter set.
- Run: A complete experiment containing multiple trials.
- Adapter: The learned weights, typically saved as a small file.
- Throughput: Training speed measured in Tokens Per Second (TPS).
🔬 Technical Roadmap
- Multi-GPU Support: DDP and FSDP integration.
- DPO Tuning: Direct Preference Optimization tuning loop.
- Custom Scoring Functions: User-defined 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 adyft 0.3.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| adyft-0.3.0.tar.gz | 69.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| adyft-0.3.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 148.0 kB
Release files / adyft-0.3.0.tar.gz
| Download URL | adyft-0.3.0.tar.gz |
|---|---|
| Size | 69.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
57b02c921be8e67aa4ee3bcbdc2779c165c5f4410f9b3228dad1016ac2bf3d6a
|
|
BLAKE2b-256 checksum How to use checksums |
4555174d53aaca5e73266f8514f75f529044dca4f744eb076eda3f1724b4a140
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.5
|
Release files / adyft-0.3.0-py3-none-any.whl
| Download URL | adyft-0.3.0-py3-none-any.whl |
|---|---|
| Size | 78.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
0baf90f9dc2c11ec466e7de940aee15e7a908eebeca6977f61f2c2016d9b3fac
|
|
BLAKE2b-256 checksum How to use checksums |
f0407e4baa206a6b471bedb59b3b6ae3f5f46a1d2fd55a4509f12ebe6767f69e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.5
|