simple-llm-finetuner  by lxe

Gradio UI for LLM finetuning

created 2 years ago
2,061 stars

Top 22.1% on sourcepulse

GitHubView on GitHub
Project Summary

This project provides a beginner-friendly Gradio UI for fine-tuning large language models using the LoRA method via Hugging Face's PEFT library. It targets users with commodity NVIDIA GPUs who want an accessible way to experiment with LLM customization without deep technical expertise. The primary benefit is simplifying the complex process of LLM fine-tuning into an intuitive, parameter-driven interface.

How It Works

The tool leverages the PEFT library for efficient LoRA fine-tuning, allowing customization of parameters like learning rate, batch size, and sequence length directly through the UI. Data is input directly into a text box, with samples separated by double blank lines. Trained LoRA adapters are saved locally and can be loaded for inference within the same interface, enabling quick iteration and experimentation.

Quick Start & Requirements

  • Install: pip install -r requirements.txt
  • Prerequisites: Linux or WSL, modern NVIDIA GPU with >= 16 GB VRAM (though less may work for smaller sample lengths), Python 3.10, CUDA 11.7.0, PyTorch 2.x.
  • Setup: Requires cloning the repository, setting up a Conda environment, and installing dependencies.
  • Launch: python app.py
  • Docs: YouTube Walkthrough available at https://www.youtube.com/watch?v=yM1wanDkNz8

Highlighted Details

  • Beginner-friendly UI with explanations for each parameter.
  • LoRA fine-tuning via PEFT library.
  • Data can be pasted directly into the UI.
  • Inference tab for testing trained adapters.

Maintenance & Community

The project explicitly states it is "effectively dead" and recommends alternative tools: LLaMA-Factory, Unsloth, and text-generation-webui.

Licensing & Compatibility

  • License: MIT License
  • Compatibility: Permissive for commercial use and integration with closed-source projects.

Limitations & Caveats

The project is marked as effectively dead by the maintainer, with recommendations to use more actively developed alternatives. The minimum VRAM requirement of 16GB may be a barrier for some users, although the README suggests less might be possible with smaller sample lengths.

Health Check
Last commit

1 year ago

Responsiveness

1 day

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

Explore Similar Projects

Feedback? Help us improve.