{"id":13407355,"url":"https://github.com/h2oai/h2o-llmstudio","last_synced_at":"2026-04-07T13:00:36.480Z","repository":{"id":153584861,"uuid":"629142696","full_name":"h2oai/h2o-llmstudio","owner":"h2oai","description":"H2O LLM Studio - a framework and no-code GUI for fine-tuning LLMs. Documentation: https://docs.h2o.ai/h2o-llmstudio/","archived":false,"fork":false,"pushed_at":"2026-04-04T09:19:19.000Z","size":57345,"stargazers_count":4902,"open_issues_count":45,"forks_count":523,"subscribers_count":78,"default_branch":"main","last_synced_at":"2026-04-04T11:20:34.936Z","etag":null,"topics":["ai","chatbot","chatgpt","fedramp","fine-tuning","finetuning","generative","generative-ai","gpt","llama","llama2","llm","llm-training"],"latest_commit_sha":null,"homepage":"https://h2o.ai","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/h2oai.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-04-17T17:56:33.000Z","updated_at":"2026-04-04T09:24:55.000Z","dependencies_parsed_at":"2026-03-27T00:01:59.650Z","dependency_job_id":null,"html_url":"https://github.com/h2oai/h2o-llmstudio","commit_stats":{"total_commits":445,"total_committers":35,"mean_commits":"12.714285714285714","dds":0.7685393258426967,"last_synced_commit":"4d9d59e8d4069ed50ace2a5ef6ba413fa772637a"},"previous_names":[],"tags_count":41,"template":false,"template_full_name":null,"purl":"pkg:github/h2oai/h2o-llmstudio","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/h2oai%2Fh2o-llmstudio","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/h2oai%2Fh2o-llmstudio/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/h2oai%2Fh2o-llmstudio/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/h2oai%2Fh2o-llmstudio/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/h2oai","download_url":"https://codeload.github.com/h2oai/h2o-llmstudio/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/h2oai%2Fh2o-llmstudio/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31513382,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-07T03:10:19.677Z","status":"ssl_error","status_checked_at":"2026-04-07T03:10:13.982Z","response_time":105,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","chatbot","chatgpt","fedramp","fine-tuning","finetuning","generative","generative-ai","gpt","llama","llama2","llm","llm-training"],"created_at":"2024-07-30T20:00:38.352Z","updated_at":"2026-04-07T13:00:36.424Z","avatar_url":"https://github.com/h2oai.png","language":"Python","funding_links":[],"categories":["Libraries","Python","NLP","A01_文本生成_文本对话","微调 Fine-Tuning","ai","\u003ca id=\"tools\"\u003e\u003c/a\u003e🛠️ Tools","llm","chatgpt","SDK, Libraries, Frameworks","7. Training \u0026 Fine-tuning Ecosystem","4. Fine-Tuning","GitHub projects","Tools","Coding \u0026 Development"],"sub_categories":["大语言对话模型及数据","Bleeding Edge ⚗️","Python library, sdk or frameworks","Frameworks"],"readme":"\u003cp align=\"center\"\u003e\u003cimg src=\"llm_studio/app_utils/static/llm-studio-logo-light.png#gh-dark-mode-only\"\u003e\u003c/p\u003e\r\n\u003cp align=\"center\"\u003e\u003cimg src=\"llm_studio/app_utils/static/llm-studio-logo.png#gh-light-mode-only\"\u003e\u003c/p\u003e\r\n\r\n\u003ch3 align=\"center\"\u003e\r\n    \u003cp\u003eWelcome to H2O LLM Studio, a framework and no-code GUI designed for\u003cbr /\u003e\r\n    fine-tuning state-of-the-art large language models (LLMs).\r\n\u003c/p\u003e\r\n\u003c/h3\u003e\r\n\r\n\u003ca href=\"https://user-images.githubusercontent.com/1069138/233859311-32aa1f8c-4d68-47ac-8cd9-9313171ff9f9.png\"\u003e\u003cimg width=\"50%\" alt=\"home\" src=\"https://user-images.githubusercontent.com/1069138/233859311-32aa1f8c-4d68-47ac-8cd9-9313171ff9f9.png\"\u003e\u003c/a\u003e\u003ca href=\"https://user-images.githubusercontent.com/1069138/233859315-e6928aa7-28d2-420b-8366-bc7323c368ca.png\"\u003e\u003cimg width=\"50%\" alt=\"logs\" src=\"https://user-images.githubusercontent.com/1069138/233859315-e6928aa7-28d2-420b-8366-bc7323c368ca.png\"\u003e\u003c/a\u003e\r\n\r\n## Jump to\r\n\r\n- [With H2O LLM Studio, you can](#with-h2o-llm-studio-you-can)\r\n- [Quickstart](#quickstart)\r\n- [What's New](#whats-new)\r\n- [Setup](#setup)\r\n  - [Recommended Install](#recommended-install)\r\n  - [Virtual Environments](#virtual-environments)\r\n- [Run H2O LLM Studio GUI](#run-h2o-llm-studio-gui)\r\n- [Run H2O LLM Studio GUI using Docker](#run-h2o-llm-studio-gui-using-docker)\r\n- [Run H2O LLM Studio with command line interface (CLI)](#run-h2o-llm-studio-with-command-line-interface-cli)\r\n- [Troubleshooting](#troubleshooting)\r\n- [Data format and example data](#data-format-and-example-data)\r\n- [Training your model](#training-your-model)\r\n- [Example: Run on OASST data via CLI](#example-run-on-oasst-data-via-cli)\r\n- [Model checkpoints](#model-checkpoints)\r\n- [Documentation](#documentation)\r\n- [Contributing](#contributing)\r\n- [License](#license)\r\n\r\n## With H2O LLM Studio, you can\r\n\r\n- easily and effectively fine-tune LLMs **without the need for any coding experience**.\r\n- use a **graphical user interface (GUI)** specially designed for large language models.\r\n- fine-tune any LLM using a large variety of hyperparameters.\r\n- use recent fine-tuning techniques such as [Low-Rank Adaptation (LoRA)](https://arxiv.org/abs/2106.09685) and 8-bit model training with a low memory footprint.\r\n- use Reinforcement Learning (RL) to fine-tune your model (experimental).\r\n- use advanced evaluation metrics to judge generated answers by the model.\r\n- track and compare your model performance visually. In addition, [Neptune](https://neptune.ai/) and [W\u0026B](https://wandb.ai/) integration can be used.\r\n- chat with your model and get instant feedback on your model performance.\r\n- easily export your model to the [Hugging Face Hub](https://huggingface.co/) and share it with the community.\r\n\r\n## Quickstart\r\n\r\nFor questions, discussing, or just hanging out, come and join our [Discord](https://discord.gg/WKhYMWcVbq)!\r\n\r\nUse cloud-based runpod.io instance to run the latest version of H2O LLM Studio with GUI.\r\n\r\n[![open_in_runpod](https://github.com/user-attachments/assets/0dffd945-0be0-4ef0-85cd-4e6f260d4e6c)](https://www.runpod.io/console/deploy?template=vf9ppiy56z)\r\n\r\nUsing CLI for fine-tuning LLMs:\r\n\r\n[![Kaggle](https://kaggle.com/static/images/open-in-kaggle.svg)](https://www.kaggle.com/code/ilu000/h2o-llm-studio-cli/) [![Open in Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/drive/1soqfJjwDJwjjH-VzZYO_pUeLx5xY4N1K?usp=sharing)\r\n\r\n## What's New\r\n\r\n- [PR 788](https://github.com/h2oai/h2o-llmstudio/pull/788) New problem type for Causal Regression Modeling allows to train single target regression data using LLMs.\r\n- [PR 747](https://github.com/h2oai/h2o-llmstudio/pull/747) Fully removed RLHF in favor of DPO/IPO/KTO optimization.\r\n- [PR 741](https://github.com/h2oai/h2o-llmstudio/pull/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`.\r\n- [PR 592](https://github.com/h2oai/h2o-llmstudio/pull/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.\r\n- [PR 592](https://github.com/h2oai/h2o-llmstudio/pull/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.\r\n- [PR 530](https://github.com/h2oai/h2o-llmstudio/pull/530) Introduced a new problem type for DPO/IPO optimization. This optimization technique can be used as an alternative to RLHF.\r\n- [PR 288](https://github.com/h2oai/h2o-llmstudio/pull/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](#recommended-install).\r\n- [PR 449](https://github.com/h2oai/h2o-llmstudio/pull/449) New problem type for Causal Classification Modeling allows to train binary and multiclass models using LLMs.\r\n- [PR 364](https://github.com/h2oai/h2o-llmstudio/pull/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.\r\n\r\nPlease 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.\r\n\r\n## Setup\r\n\r\nH2O LLM Studio requires a machine with Ubuntu 16.04+ and at least one recent NVIDIA GPU with NVIDIA drivers version \u003e= 470.57.02. For larger models, we recommend at least 24GB of GPU memory.\r\n\r\nFor more information about installation prerequisites, see the [Set up H2O LLM Studio](https://docs.h2o.ai/h2o-llmstudio/get-started/set-up-llm-studio#prerequisites) guide in the documentation.\r\n\r\nFor a performance comparison of different GPUs, see the [H2O LLM Studio performance](https://h2oai.github.io/h2o-llmstudio/get-started/llm-studio-performance) guide in the documentation.\r\n\r\n### Recommended Install\r\n\r\nThe 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:\r\n\r\n#### Installing NVIDIA Drivers (if required)\r\n\r\nIf 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.\r\n\r\n```bash\r\nwget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-ubuntu2204.pin\r\nsudo mv cuda-ubuntu2204.pin /etc/apt/preferences.d/cuda-repository-pin-600\r\nwget 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\r\nsudo dpkg -i cuda-repo-ubuntu2204-12-4-local_12.4.0-550.54.14-1_amd64.deb\r\nsudo cp /var/cuda-repo-ubuntu2204-12-4-local/cuda-*-keyring.gpg /usr/share/keyrings/\r\nsudo apt-get update\r\nsudo apt-get -y install cuda-toolkit-12-4\r\n```\r\n\r\n### Virtual environments\r\n\r\nWe offer various ways of setting up the necessary python environment.\r\n\r\n#### UV virtual environment\r\n\r\nThe following command will create a virtual environment using `uv` and will install the dependencies:\r\n\r\n```bash\r\nmake setup\r\n```\r\n\r\n#### Using requirements.txt\r\n\r\nIf you wish to use another virtual environment, you can also install the dependencies using the requirements.txt file:\r\n\r\n```bash\r\npip install -r requirements.txt\r\npip install flash-attn==2.8.3 --no-build-isolation  # optional for Flash Attention 2\r\n```\r\n\r\n## Run H2O LLM Studio GUI\r\n\r\nYou can start H2O LLM Studio using the following command:\r\n\r\n```bash\r\nmake llmstudio\r\n```\r\n\r\nThis command will start the [H2O Wave](https://github.com/h2oai/wave) server and app.\r\nNavigate to \u003chttp://localhost:10101/\u003e (we recommend using Chrome) to access H2O LLM Studio and start fine-tuning your models!\r\n\r\nIf you are running H2O LLM Studio with a custom environment other than `uv`, you need to start the app as follows:\r\n\r\n```bash\r\nH2O_WAVE_MAX_REQUEST_SIZE=25MB \\\r\nH2O_WAVE_NO_LOG=true \\\r\nH2O_WAVE_PRIVATE_DIR=\"/download/@output/download\" \\\r\nwave run llm_studio.app\r\n```\r\n\r\n## Run H2O LLM Studio GUI using Docker\r\n\r\nInstall Docker first by following instructions from [NVIDIA Containers](https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/install-guide.html#docker). Make sure to have `nvidia-container-toolkit` installed on your machine as outlined in the instructions.\r\n\r\nH2O LLM Studio images are stored in the h2oai Docker Hub container repository.\r\n\r\n```bash\r\nmkdir -p `pwd`/llmstudio_mnt\r\nchmod 777 `pwd`/llmstudio_mnt\r\n\r\n# make sure to pull latest image if you still have a prior version cached\r\ndocker pull h2oairelease/h2oai-llmstudio-app:latest\r\n\r\n# run the container\r\ndocker run \\\r\n    --runtime=nvidia \\\r\n    --shm-size=64g \\\r\n    --init \\\r\n    --rm \\\r\n    -it \\\r\n    -u `id -u`:`id -g` \\\r\n    -p 10101:10101 \\\r\n    -v `pwd`/llmstudio_mnt:/mount \\\r\n    h2oairelease/h2oai-llmstudio-app:latest\r\n```\r\n\r\nNavigate to \u003chttp://localhost:10101/\u003e (we recommend using Chrome) to access H2O LLM Studio and start fine-tuning your models!\r\n\r\n(Note other helpful docker commands are `docker ps` and `docker kill`.)\r\n\r\n## Run H2O LLM Studio with command line interface (CLI)\r\n\r\nYou can also use H2O LLM Studio with the command line interface (CLI) and specify the configuration .yaml file that contains all the experiment parameters. To fine-tune using H2O LLM Studio with CLI use the following command:\r\n\r\n```bash\r\nuv run python llm_studio/train.py -Y {path_to_config_yaml_file}\r\n```\r\n\r\nTo run on multiple GPUs in DDP mode, run the following command:\r\n\r\n```bash\r\nbash distributed_train.sh {NR_OF_GPUS} -Y {path_to_config_yaml_file}\r\n```\r\n\r\nBy default, the framework will run on the first `k` GPUs. If you want to specify specific GPUs to run on, use the `CUDA_VISIBLE_DEVICES` environment variable before the command.\r\n\r\nTo start an interactive chat with your trained model, use the following command:\r\n\r\n```bash\r\nuv run python llm_studio/prompt.py -e {experiment_name}\r\n```\r\n\r\nwhere `experiment_name` is the output folder of the experiment you want to chat with (see configuration).\r\nThe interactive chat will also work with model that were fine-tuned using the UI.\r\n\r\nTo publish the model to Hugging Face, use the following command:\r\n\r\n```bash\r\nuv run python llm_studio/publish_to_hugging_face.py -p {path_to_experiment} -d {device} -a {api_key} -u {user_id} -m {model_name} -s {safe_serialization}\r\n```\r\n\r\n`path_to_experiment` is the output folder of the experiment.\r\n`device` is the target device for running the model, either 'cpu' or 'cuda:0'. Default is 'cuda:0'.\r\n`api_key` is the Hugging Face API Key. If the user is logged in, it can be omitted.\r\n`user_id` is the Hugging Face user ID. If the user is logged in, it can be omitted.\r\n`model_name` is the name of the model to be published on Hugging Face. It can be omitted.\r\n`safe_serialization` is a flag indicating whether safe serialization should be used. Default is True.\r\n\r\n## Troubleshooting\r\n\r\nIf running on cloud-based machines such as runpod, you may need to set the following environment variable to allow the H2O Wave server to accept connections from the proxy:\r\n\r\n```bash\r\nH2O_WAVE_ALLOWED_ORIGINS=\"*\"\r\n```\r\n\r\nIf you are experiencing timeouts when running the H2O Wave server remotely, you can increase the timeout by setting the following environment variables:\r\n\r\n```bash\r\nH2O_WAVE_APP_CONNECT_TIMEOUT=\"15\"\r\nH2O_WAVE_APP_WRITE_TIMEOUT=\"15\"\r\nH2O_WAVE_APP_READ_TIMEOUT=\"15\"\r\nH2O_WAVE_APP_POOL_TIMEOUT=\"15\"\r\n```\r\n\r\nAll default to 5 (seconds). Increase them if you are experiencing timeouts. Use -1 to disable the timeout.\r\n\r\n## Data format and example data\r\n\r\nFor details on the data format required when importing your data or example data that you can use to try out H2O LLM Studio, see [Data format](https://docs.h2o.ai/h2o-llmstudio/guide/datasets/data-connectors-format#data-format) in the H2O LLM Studio documentation.\r\n\r\n## Training your model\r\n\r\nWith H2O LLM Studio, training your large language model is easy and intuitive. First, upload your dataset and then start training your model. Start by [creating an experiment](https://docs.h2o.ai/h2o-llmstudio/guide/experiments/create-an-experiment). You can then [monitor and manage your experiment](https://docs.h2o.ai/h2o-llmstudio/guide/experiments/view-an-experiment), [compare experiments](https://docs.h2o.ai/h2o-llmstudio/guide/experiments/compare-experiments), or [push the model to Hugging Face](https://docs.h2o.ai/h2o-llmstudio/guide/experiments/export-trained-model) to share it with the community.\r\n\r\n## Example: Run on OASST data via CLI\r\n\r\nAs an example, you can run an experiment on the OASST data via CLI. For instructions, see [Run an experiment on the OASST data](https://docs.h2o.ai/h2o-llmstudio/guide/experiments/create-an-experiment#run-an-experiment-on-the-oasst-data-via-cli) guide in the H2O LLM Studio documentation.\r\n\r\n## Model checkpoints\r\n\r\nAll open-source datasets and models are posted on [H2O.ai's Hugging Face page](https://huggingface.co/h2oai/) and our [H2OGPT](https://github.com/h2oai/h2ogpt) repository.\r\n\r\n## Documentation\r\n\r\nDetailed documentation and frequently asked questions (FAQs) for H2O LLM Studio can be found at \u003chttps://docs.h2o.ai/h2o-llmstudio/\u003e. If you wish to contribute to the docs, navigate to the `/documentation` folder of this repo and refer to the [README.md](documentation/README.md) for more information.\r\n\r\n## Contributing\r\n\r\nWe are happy to accept contributions to the H2O LLM Studio project. Please refer to the [CONTRIBUTING.md](CONTRIBUTING.md) file for more information.\r\n\r\n## License\r\n\r\nH2O LLM Studio is licensed under the Apache 2.0 license. Please see the [LICENSE](LICENSE) file for more information.\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fh2oai%2Fh2o-llmstudio","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fh2oai%2Fh2o-llmstudio","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fh2oai%2Fh2o-llmstudio/lists"}