h2o-llmstudio is a free, open source ai interaction & interfaces project written in Python and released under Apache-2.0. It has 5,182 GitHub stars, 557 forks and 36 open issues, and was last pushed 19 hours ago. On this registry it ranks #55 of 113 tracked projects in AI Interaction & Interfaces, with 5 head-to-head comparisons available.

What is h2o-llmstudio?

H2O LLM Studio is an Apache-2.0 Python framework with a no-code graphical interface for fine-tuning large language models, built for teams and individuals who want a custom LLM without writing training code yourself.

What it is

H2O LLM Studio is a framework and a graphical user interface, written in Python and distributed under the Apache-2.0 licence, that handles the end-to-end job of fine-tuning state-of-the-art large language models. It lives in the Python and Hugging Face ecosystem: it fine-tunes LLMs from the transformer family, integrates with Weights & Biases for experiment tracking, and exports finished models to the Hugging Face Hub. Two front ends drive the same training engine, a dedicated GUI and a command line interface, so the same configuration can be reproduced interactively or scripted.

The concrete problem it solves is that fine-tuning an LLM normally means writing and maintaining training scripts, managing hyperparameters by hand, and building your own evaluation and comparison tooling. H2O LLM Studio replaces that hand-written training code with a GUI and CLI that expose the hyperparameters directly, and it replaces earlier sharded-training plumbing by using DeepSpeed for sharded training in place of FSDP. It also replaced its own reinforcement learning path: RLHF has been fully removed in favour of DPO, IPO and KTO optimisation.

Key capabilities

  • Fine-tune LLMs through a GUI designed for large language models, with no coding experience required, or through the CLI for scripted runs.
  • Apply recent fine-tuning techniques including Low-Rank Adaptation (LoRA) and 8-bit model training for a low memory footprint.
  • Train with DPO, IPO and KTO optimisation, including KTOPairLoss for preference data; RLHF has been fully removed.
  • Use DeepSpeed for sharded training to train larger models across multiple GPUs, which requires NVLink and a system installation of CUDA Toolkit, recommended version 12.1.
  • Track and compare model performance visually, with optional Weights & Biases (W&B) integration.
  • Chat with the trained model for instant feedback, and inspect saved model checkpoints from each experiment.
  • Fine-tune with a large variety of hyperparameters, including the single max_length setting that follows chat_template behaviour from transformers.
  • Export models to the Hugging Face Hub and share them with the community.

Who uses it and how

  • Users who want the GUI without local GPU setup deploy the latest version on a cloud-based runpod.io instance.
  • Data scientists running fine-tuning from the command line use the CLI notebook path, available as a Kaggle notebook and as a Google Colab notebook.
  • Teams with multi-GPU machines use DeepSpeed sharded training to fit larger models, with NVLink hardware and CUDA Toolkit 12.1 installed at system level.
  • Practitioners following the worked example fine-tune on OASST data via the CLI, then review model checkpoints and export the result to the Hugging Face Hub.
  • Experiment-driven users compare runs visually and optionally stream metrics to W&B while iterating on hyperparameters.

Getting started

Use the recommended install for a local setup, then run the H2O LLM Studio GUI, run it with Docker, or run H2O LLM Studio with the command line interface. A hosted quickstart is also available through a cloud-based runpod.io instance.

How it compares

This registry provides no list of paid products that H2O LLM Studio replaces, and the facts do not name comparable fine-tuning tools for contrast. It stands alone in this registry on that basis.

When to use it — and when not to

A self-hoster must supply GPU hardware and, for multi-GPU sharded training, NVLink plus a system installation of CUDA Toolkit 12.1, so it is a poor fit for anyone without that hardware or without the appetite to manage CUDA. Anyone who specifically needs RLHF should not pick it, because that path has been fully removed in favour of DPO, IPO and KTO. Two limitations are worth knowing before committing: the reinforcement learning capability is still labelled experimental, and KTO preference training currently needs data manually prepared by randomly matching positive and negative examples into pairs.

project readme (upstream, from github) — read inline

Welcome to H2O LLM Studio, a framework and no-code GUI designed for
fine-tuning state-of-the-art large language models (LLMs).

homelogs

Jump to

With H2O LLM Studio, you can

  • easily and effectively fine-tune LLMs without the need for any coding experience.
  • use a graphical user interface (GUI) specially designed for large language models.
  • fine-tune any LLM using a large variety of hyperparameters.
  • use recent fine-tuning techniques such as Low-Rank Adaptation (LoRA) and 8-bit model training with a low memory footprint.
  • use Reinforcement Learning (RL) to fine-tune your model (experimental).
  • use advanced evaluation metrics to judge generated answers by the model.
  • track and compare your model performance visually. In addition, W&B integration can be used.
  • chat with your model and get instant feedback on your model performance.
  • easily export your model to the Hugging Face Hub and share it with the community.

Quickstart

For questions, discussing, or just hanging out, come and join our Discord!

Use cloud-based runpod.io instance to run the latest version of H2O LLM Studio with GUI.

open_in_runpod

Using CLI for fine-tuning LLMs:

Kaggle Open in Colab

What's New

  • PR 788 New problem type for Causal Regression Modeling allows to train single target regression data using LLMs.
  • PR 747 Fully removed RLHF in favor of DPO/IPO/KTO optimization.
  • PR 741 Removing separate max length settings for prompt and answer in favor of a single max_length settings better resembling chat_template functionality from transformers.
  • PR 599 Added KTOPairLoss for DPO modeling allowing to train models with simple preference data. Data currently needs to be manually prepared by randomly matching positive and negative examples as pairs.
  • PR 592 Starting to deprecate RLHF in favor of DPO/IPO optimization. Training is disabled, but old experiments are still viewable. RLHF will be fully removed in a future release.
  • PR 530 Introduced a new problem type for DPO/IPO optimization. This optimization technique can be used as an alternative to RLHF.
  • PR 288 Introduced DeepSpeed for sharded training allowing to train larger models on machines with multiple GPUs. Requires NVLink. This feature replaces FSDP and offers more flexibility. DeepSpeed requires a system installation of CUDA Toolkit and we recommend using version 12.1. See Recommended Install.
  • PR 449 New problem type for Causal Classification Modeling allows to train binary and multiclass models using LLMs.
  • PR 364 User secrets are now handled more securely and flexible. Support for handling secrets using the 'keyring' library was added. User settings are tried to be migrated automatically.

Please note that due to current rapid development we cannot guarantee full backwards compatibility of new functionality. We thus recommend to pin the version of the framework to the one you used for your experiments. For resetting, please delete/backup your data and output folders.

Setup

H2O LLM Studio requires a machine with Ubuntu 16.04+ and at least one recent NVIDIA GPU with NVIDIA drivers version >= 470.57.02. For larger models, we recommend at least 24GB of GPU memory.

For more information about installation prerequisites, see the Set up H2O LLM Studio guide in the documentation.

For a performance comparison of different GPUs, see the H2O LLM Studio performance guide in the documentation.

Recommended Install

The recommended way to install H2O LLM Studio is using uv with Python 3.10. To install Python 3.10 on Ubuntu 20.04+, execute the following commands:

Installing NVIDIA Drivers (if required)

If deploying on a 'bare metal' machine running Ubuntu, one may need to install the required NVIDIA drivers and CUDA. The following commands show how to retrieve the latest drivers for a machine running Ubuntu 20.04 as an example. One can update the following based on their OS.

wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-ubuntu2204.pin
sudo mv cuda-ubuntu2204.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.com/compute/cuda/12.4.0/local_installers/cuda-repo-ubuntu2204-12-4-local_12.4.0-550.54.14-1_amd64.deb
sudo dpkg -i cuda-repo-ubuntu2204-12-4-local_12.4.0-550.54.14-1_amd64.deb
sudo cp /var/cuda-repo-ubuntu2204-12-4-local/cuda-*-keyring.gpg /usr/share/keyrings/
sudo apt-get update
sudo apt-get -y install cuda-toolkit-12-4

Virtual environments

We offer various ways of setting up the necessary python environment.

UV virtual environment

The following command will create a virtual environment using uv and will install the dependencies:

make setup

Run H2O LLM Studio GUI

You can start H2O LLM Studio using the following command:

make llmstudio

This command will start the H2O Wave server and app. Navigate to (we recommend using Chrome) to access H2O LLM Studio and start fine-tuning your models!

If you are running H2O LLM Studio with a custom environment other than uv, you need to start the app as follows:

H2O_WAVE_MAX_REQUEST_SIZE=25MB \
H2O_WAVE_NO_LOG=true \
H2O_WAVE_PRIVATE_DIR="/download/@output/download" \
wave run llm_studio.app

Run H2O LLM Studio GUI using Docker

Install Docker first by following instructions from NVIDIA Containers. Make sure to have nvidia-container-toolkit installed on your machine as outlined in the instructions.

H2O LLM Studio images are stored in the h2oai Docker Hub container repository.

mkdir -p `pwd`/llmstudio_mnt
chmod 777 `pwd`/llmstudio_mnt

## make sure to pull latest image if you still have a prior version cached
docker pull h2oairelease/h2oai-llmstudio-app:latest

## run the container
docker run \
    --runtime=nvidia \
    --shm-size=64g \
    --init \
    --rm \
    -it \
    -u `id -u`:`id -g` \
    -p 10101:10101 \
    -v `pwd`/llmstudio_mnt:/mount \
    h2oai

readme truncated — read the full docs on github

Frequently asked questions

Is h2o-llmstudio free to use?

h2o-llmstudio is open source under the Apache-2.0 licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does h2o-llmstudio do?

H2O LLM Studio - a framework and no-code GUI for fine-tuning LLMs. Documentation: https://docs.h2o.ai/h2o-llmstudio/

What is h2o-llmstudio written in?

h2o-llmstudio is primarily written in Python. Its source is publicly available at https://github.com/h2oai/h2o-llmstudio, and it has 5,182 GitHub stars.