gpt-llm-trainer  by mshumer

LLM fine-tuning pipeline

Created 2 years ago
4,157 stars

Top 11.9% on SourcePulse

GitHubView on GitHub
Project Summary

This project provides an experimental pipeline for fine-tuning task-specific language models, abstracting away the complexities of dataset generation, formatting, and model training. It targets users who want to easily create performant, custom AI models from a simple task description, supporting fine-tuning for LLaMA 2 and GPT-3.5.

How It Works

The pipeline leverages large language models (Claude 3, GPT-4, or GPT-3.5) to automate the entire fine-tuning process. It begins by generating a custom dataset of prompts and responses based on a user-provided task description and desired parameters (temperature, number of examples). Subsequently, it generates an effective system prompt, splits the dataset for training and validation, and fine-tunes a chosen base model (LLaMA 2 or GPT-3.5).

Quick Start & Requirements

  • Open the provided notebook in Google Colab or a local Jupyter environment.
  • Ensure a GPU is available (Colab: Runtime -> Change runtime type).
  • Set your OpenAI API key.
  • Define task description, temperature, and number of examples in the notebook.
  • Run all cells; fine-tuning can take 10 minutes to several hours.
  • Official quick-start and usage details are within the notebook.

Highlighted Details

  • Automates dataset generation using LLMs (Claude 3, GPT-4).
  • Generates effective system prompts for fine-tuned models.
  • Supports fine-tuning of LLaMA 2 and GPT-3.5 models.
  • Simplifies the end-to-end process from task description to trained model.

Maintenance & Community

  • Contributions are welcomed, with suggestions for improving efficiency, diversity of examples, hyperparameter tuning, and model selection.
  • Mentions Maxime Labonne for training code.
  • Contact: Matt Shumer (@mattshumer_)

Licensing & Compatibility

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

Limitations & Caveats

The project is described as experimental, and performance may vary. The cost of using LLM APIs for dataset generation is a consideration. Fine-tuning times are dependent on dataset size and hardware.

Health Check
Last Commit

4 months ago

Responsiveness

Inactive

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

Explore Similar Projects

Starred by Chip Huyen Chip Huyen(Author of "AI Engineering", "Designing Machine Learning Systems"), Daniel Han Daniel Han(Cofounder of Unsloth), and
1 more.

synthetic-data-kit by meta-llama

0.8%
1k
Synthetic data CLI tool for LLM fine-tuning
Created 5 months ago
Updated 1 month ago
Feedback? Help us improve.