ai-toolkit

GitHub
10.1k 1.2k 中等 6 次阅读 今天MIT图像视频开发框架
AI 解读 由 AI 自动生成,仅供参考

ai-toolkit 是一款专为扩散模型微调打造的一站式训练套件,旨在让复杂的模型训练变得简单高效。它解决了用户在消费级硬件上难以运行最新图像和视频模型的痛点,无需昂贵的高端显卡集群,普通用户也能轻松上手。

无论是开发者、研究人员,还是希望定制专属模型的设计师与创作者,都能从中受益。ai-toolkit 不仅支持命令行操作以满足专业需求,还提供了直观的图形界面(GUI),极大降低了技术门槛。其核心亮点在于对前沿模型的广泛支持,涵盖 FLUX.1/2、SDXL、Wan 2.1/2.2 视频生成模型以及各类图像编辑模型,并持续快速跟进社区最新成果。

作为一款免费开源工具,ai-toolkit 在保持功能全面的同时,特别优化了显存管理,确保在有限的硬件资源下也能顺利完成训练任务。如果你希望在不依赖云端高昂算力的情况下,探索个性化图像或视频生成的无限可能,ai-toolkit 将是你理想的得力助手。

使用场景

一位独立游戏开发者希望将自己手绘的像素风格角色素材,微调进最新的 FLUX.1 模型中,以便在游戏中通过文字指令动态生成统一画风的剧情插图。

没有 ai-toolkit 时

  • 环境配置噩梦:面对复杂的 PyTorch 版本依赖和显存优化脚本,在消费级显卡上部署最新模型往往因报错而反复折腾数天。
  • 代码门槛过高:需要手动编写繁琐的训练循环和数据加载器,稍有不慎就会导致显存溢出(OOM)或训练不收敛。
  • 模型支持滞后:想要尝试刚发布的 FLUX.2 或 Wan 视频模型时,官方脚本尚未更新,只能等待社区缓慢适配。
  • 缺乏可视化监控:只能在黑盒终端中盯着日志滚动,无法直观调整学习率或预览中间生成效果,调试效率极低。

使用 ai-toolkit 后

  • 一键开箱即用:直接通过图形界面(GUI)选择 FLUX.1 或 Wan 视频模型,自动处理底层依赖与显存优化,几分钟内即可启动训练。
  • 全流程低代码化:无需编写任何训练代码,只需在界面中配置数据集路径和参数,即可轻松完成从数据预处理到模型微调的全过程。
  • 紧跟前沿模型:内置支持包括 FLUX.2、Qwen-Image 及多种视频生成模型在内的最新架构,第一时间利用新模型能力进行创作。
  • 实时交互反馈:训练过程中可实时查看损失曲线并生成测试样本,随时调整参数以确保角色画风的高度一致性。

ai-toolkit 将原本属于实验室级别的高难度微调工作,转化为普通创作者在消费级硬件上即可轻松完成的创意流程。

运行环境要求

操作系统
  • Linux
  • Windows
  • macOS
GPU
  • 必需 NVIDIA GPU (Linux/Windows),显存大小取决于训练模型 (消费级硬件支持,示例配置提及 24GB)
  • macOS 支持 Apple Silicon (实验性)
  • 安装命令指定 CUDA 12.8 (cu128)
内存

未说明 (仅提及 macOS 测试需要足够 RAM)

依赖
notes1. Windows 用户推荐使用第三方提供的简易安装脚本。2. macOS (Apple Silicon) 为实验性支持,作者缺乏大内存 Mac 进行充分测试。3. 提供 Web UI (需 Node.js>20) 和 Gradio UI 两种界面。4. 支持在 RunPod 和 Modal 云平台部署。5. 数据集准备:图片需为 jpg/jpeg/png 格式,配套同名的 txt caption 文件,无需手动裁剪或调整大小,加载器会自动处理。6. 训练支持断点续训,但在保存检查点时强制停止可能导致文件损坏。
python>=3.10 (推荐 3.12)
torch==2.9.1
torchvision==0.24.1
torchaudio==2.9.1
accelerate
transformers
diffusers
huggingface_hub
Node.js (>20, 用于 UI)
ai-toolkit hero image

快速开始

Ostris AI 工具包

AI 工具包是一款易于使用的、一体化的扩散模型训练套件。我致力于在消费级硬件上支持所有最新的模型,涵盖图像和视频领域。该工具包既可以通过图形用户界面运行,也可以通过命令行界面操作。它设计得简单易用,同时具备你能想到的所有功能。完全免费且开源。

支持的模型

图像

指令 / 编辑

视频

实验性

安装

要求:

  • Python >=3.10(推荐使用 3.12)
  • 具备足够显存的 NVIDIA GPU
  • Python 虚拟环境
  • Git

Linux:

git clone https://github.com/ostris/ai-toolkit.git
cd ai-toolkit
python3 -m venv venv
source venv/bin/activate
# 首先安装 PyTorch
pip3 install --no-cache-dir torch==2.9.1 torchvision==0.24.1 torchaudio==2.9.1 --index-url https://download.pytorch.org/whl/cu128
pip3 install -r requirements.txt

对于运行 DGX OS 的设备(包括 DGX Spark),请按照 这些 指南操作。

Windows:

如果你在 Windows 上遇到问题,建议使用位于 https://github.com/Tavris1/AI-Toolkit-Easy-Install 的简易安装脚本。

git clone https://github.com/ostris/ai-toolkit.git
cd ai-toolkit
python -m venv venv
.\venv\Scripts\activate
pip install --no-cache-dir torch==2.9.1 torchvision==0.24.1 torchaudio==2.9.1 --index-url https://download.pytorch.org/whl/cu128
pip install -r requirements.txt

MacOS:

目前提供对 Apple Silicon Mac 的实验性支持。由于我没有配备足够内存的 Mac 来进行全面测试,因此如果你遇到任何问题,请及时告知我。我们提供了一个便捷的脚本来在 macOS 上安装并运行工具包,路径为 ./run_mac.zsh,该脚本会本地安装依赖项并启动 UI。要运行此脚本,请执行以下步骤:

git clone https://github.com/ostris/ai-toolkit.git
cd ai-toolkit
chmod +x run_mac.zsh
./run_mac.zsh

AI 工具包 UI

AI Toolkit UI

AI 工具包 UI 是一款用于 AI 工具包的网页界面。它允许你轻松地启动、停止和监控任务,只需点击几下即可训练模型。此外,你还可以为 UI 设置一个访问令牌,以防止未经授权的访问,因此在暴露的服务器上运行也相对安全。

运行 UI

要求:

  • Node.js > 20

UI 并不需要一直运行才能让任务执行。它仅用于启动、停止和监控任务。以下命令将安装或更新 UI 及其依赖项,并启动 UI。

cd ui
npm run build_and_start

现在你可以通过 http://localhost:8675 或者如果你在服务器上运行,则通过 http://<your-ip>:8675 访问 UI。

保护 UI

如果你将 UI 部署在云服务商或其他不安全的网络环境中,强烈建议使用身份验证令牌来保护它。你可以通过设置环境变量 AI_TOOLKIT_AUTH 为一个超级安全的密码来实现这一点。访问 UI 时需要提供此令牌。你可以在启动 UI 时这样设置:

# Linux
AI_TOOLKIT_AUTH=super_secure_password npm run build_and_start

# Windows
set AI_TOOLKIT_AUTH=super_secure_password && npm run build_and_start

# Windows PowerShell
$env:AI_TOOLKIT_AUTH="super_secure_password"; npm run build_and_start

训练

  1. 将位于 config/examples/train_lora_flux_24gb.yaml(schnell 版本为 config/examples/train_lora_flux_schnell_24gb.yaml)的示例配置文件复制到 config 文件夹,并重命名为 whatever_you_want.yml
  2. 按照文件中的注释编辑该文件。
  3. 运行该文件:python run.py config/whatever_you_want.yml

启动训练时,会创建一个与配置文件中指定名称相同的文件夹,其中包含所有检查点和图像。您可以随时按 Ctrl+C 停止训练,下次继续时将从最后一个检查点恢复。

重要提示:如果在保存检查点时按下 Ctrl+C,很可能会导致该检查点损坏。因此,请务必等待保存完成后再停止。

需要帮助吗?

请仅在代码存在 bug 时才提交 bug 报告。欢迎加入我的 Discord 服务器 https://discord.gg/VXmU2f5WEU 寻求帮助。不过,请不要直接私信我询问一般性问题或寻求支持。请在 Discord 中提问,我会在方便时回复。

Gradio 界面

要在本地使用自定义界面开始训练,按照上述步骤操作并安装好 ai-toolkit 后:

cd ai-toolkit # 如果您尚未进入 ai-toolkit 文件夹
huggingface-cli login # 提供一个具有写入权限的 token,以便在训练结束后发布您的 LoRA
python flux_train_ui.py

您将启动一个 UI,允许您上传图片、添加描述、训练并发布您的 LoRA。 image

在 RunPod 上训练

如果您想使用 RunPod 但尚未注册,请考虑通过我的 RunPod 联盟链接 https://runpod.io?ref=h0y9jyr2 来支持该项目。

我在此维护了一个官方的 RunPod Pod 模板,可通过 这里 访问。

我还制作了一段简短的视频,介绍如何使用 AI Toolkit 和 RunPod 开始训练 这里

在 Modal 上训练

1. 准备工作

ai-toolkit:

git clone https://github.com/ostris/ai-toolkit.git
cd ai-toolkit
git submodule update --init --recursive
python -m venv venv
source venv/bin/activate
pip install torch
pip install -r requirements.txt
pip install --upgrade accelerate transformers diffusers huggingface_hub # 可选,遇到问题时运行

Modal:

  • 运行 pip install modal 安装 Modal 的 Python 包。
  • 运行 modal setup 进行身份验证(如果失败,尝试 python -m modal setup)。

Hugging Face:

  • 这里 获取一个读取权限的 token,并从 这里 申请访问 Flux.1-dev 模型的权限。
  • 运行 huggingface-cli login 并粘贴您的 token。

2. 上传数据集

  • 将包含 .jpg.jpeg.png 图片以及 .txt 文件的数据集文件夹拖放到 ai-toolkit 目录中。

3. 配置

  • 将位于 config/examples/modal 的示例配置文件复制到 config 文件夹,并重命名为 whatever_you_want.yml
  • 按照文件中的注释编辑配置,请务必小心,遵循示例中的 /root/ai-toolkit 路径

4. 编辑 run_modal.py

  • code_mount = modal.Mount.from_local_dir 中设置您本地 ai-toolkit 的完整路径,例如:

    code_mount = modal.Mount.from_local_dir("/Users/username/ai-toolkit", remote_path="/root/ai-toolkit")
    
  • @app.function 中选择 GPUTimeout (默认为 A100 40GB 显卡,超时时间为 2 小时)

5. 训练

  • 在终端中运行配置文件:modal run run_modal.py --config-file-list-str=/root/ai-toolkit/config/whatever_you_want.yml
  • 您可以在本地终端或 modal.com 上监控训练进度。
  • 模型、样本和优化器将存储在 Storage > flux-lora-models 中。

6. 保存模型

  • 运行 modal volume ls flux-lora-models 查看卷的内容。
  • 运行 modal volume get flux-lora-models your-model-name 下载内容。
  • 示例:modal volume get flux-lora-models my_first_flux_lora_v1

Modal 截图

Modal Traning Screenshot

数据集准备

数据集通常需要是一个包含图片及其对应文本文件的文件夹。目前仅支持 jpgjpegpng 格式,webp 格式暂不支持。文本文件应与图片同名,但扩展名为 .txt。例如,image2.jpgimage2.txt。文本文件中只需包含描述文字。您可以在描述文件中添加 [trigger] 关键字,如果您的配置中设置了 trigger_word,它将会被自动替换。

图片不会被放大,但会被缩小并分组以进行批量处理。您无需裁剪或调整图片大小。加载器会自动调整图片尺寸,并能处理不同宽高比的图片。

训练特定层

要使用 LoRA 训练特定层,可以使用 only_if_contains 网络参数。例如,如果您只想训练 The Last Ben 在这篇帖子中提到的两层,可以这样调整网络参数:

      network:
        type: "lora"
        linear: 128
        linear_alpha: 128
        network_kwargs:
          only_if_contains:
            - "transformer.single_transformer_blocks.7.proj_out"
            - "transformer.single_transformer_blocks.20.proj_out"

层的命名遵循 Diffusers 的格式,因此查看模型的状态字典即可找到您想要训练的层的后缀。您也可以使用此方法仅训练特定权重组。例如,仅训练 FLUX.1 的 single_transformer 层,可以这样设置:

      network:
        type: "lora"
        linear: 128
        linear_alpha: 128
        network_kwargs:
          only_if_contains:
            - "transformer.single_transformer_blocks."

此外,您还可以通过 ignore_if_contains 网络参数排除某些层。例如,要排除所有的 single_transformer_blocks

      network:
        type: "lora"
        linear: 128
        linear_alpha: 128
        network_kwargs:
          ignore_if_contains:
            - "transformer.single_transformer_blocks."

ignore_if_contains 的优先级高于 only_if_contains。因此,如果某个权重同时被两者覆盖,则会被忽略。

LoKr 训练

要了解更多关于 LoKr 的信息,请参阅 KohakuBlueleaf/LyCORIS 中的相关文档。要训练一个 LoKr 模型,你可以在配置文件中按如下方式调整网络类型:

      network:
        type: "lokr"
        lokr_full_rank: true
        lokr_factor: 8

其他设置应保持不变,包括层的选择等。

支持我的工作

如果你喜欢我的项目,或者在商业项目中使用了它们,请考虑资助我。每一份支持都对我很有帮助!💖

支持我的工作

当前赞助者

所有这些个人和组织都在无私地支持这个项目的开展。非常感谢你们!!

最后更新:2026年3月31日 18:10 UTC

a16z Replicate Hugging Face


Pixelcut Weights josephrocca Joseph Rocca Vladimir Sotnikov clement Delangue Misch Strotz RunComfy


nitish PNR Mohamed Oumoumad Steve Hanff Timothy Bielec Travis Harrington Infinite Jimmy Simmons


xv nuliajuk Randy McEntee David Garrido E2GO Alastair Green D G L D Paul Kroll tungsten David Shorey squewel Christopher Williams IR-Entertainment Ltd Alexander Korchemniy Jürgen Stein Khoi Nguyen EmmanuelMr18 Jean-Tristan Marin Armin Behjati Drama Labs GmbH Slarti Al H Doron Adler njgnfhahfnhnwir The Local Lab Marc HestoySeghuro . Jack Blakely John Dopamine Neil Murray Albert Bukoski Ben Ward Bharat Prabhakar Julian Tsependa Brian Smith Kelevra Quackenstien Marko jak Nicholas Agranoff Sapjes the biitz william tatum Blanchon el Chavo James Thompson Htango2 Frank Vance RalFinger Andrew Park Dmitry Spikhalsky Dylan Gary Joseph Jake Blakeley q5sys Sylvain Fayette Tri3Ax William Tatum


Daniel Partzsch ByteC jarrett towe Marek P Chris Canterbury Dutchman5oh Gergely Madácsi Ian R James Koray Birand S.Hasan Rizvi Theta Graphics Tyssel Chris Dermody kingroka Mert Guvencli Newtown Russell Norris stev Gage Siuniak Derrick Schultz Gribbly Kukee Metryman55 zappazack Guillaume Roy Colin Boyd DavidO Jadev1311 Cyril Diagne Speedy2023 Karl Brewer Marcus Rass Rainer Kulow Stavros Glezakos Stavros Glezakos Geno Machino Greg Lemons Ken Finlayson Kenneth Loebenberg Le_Fourbe Manuel2Santos Osman Bayazit Patrick Gallagher Phil Ring Rob113 Saftle Virtamouse Yi Chen Craig Penn Christopher Frey keonmin lee yvggeniy romanskiy Andrey Sorokin Blane Brian M Cora Nox Dave Talbott Greg Richards Joshua Genke Mollie Pablo Fonseca renderartist Tiny Tsuruta v33ts Joakim Sällström Leo Bennett Waisbren Brian Buie Caleb O'Leary Dustin Lausch GameChanger H.W.Prinz james salanitri Jason Briney Wolkenfels John D Dimitar A. R132 Heikki Rinkinen Josh Lindo Michael Styne Michael Styne Phan Dao StrictLine e.U. The Rope Dude Till Meyer Valarm, LLC Valarm, LLC Mal Mallabar Xavier Climent Moritz Hutten AAYUSH BHADANI Adel Gamal Charles Blakemore Chris Williams claygraffix David Hooper Dfence Evan Forster Greg Abousleman Jean-Paul Lerault Rudolf Goertz ShinChven ✨ Tommy Falkowski Victor-Ray Valdez Jefferderp ekgreen7 Markus / Mark Alex Kovalchuk Florian Fiegl Kai Buddensiek Karol Stępień manuel landron Paul Vu Nguyen Jamie Colpitts Alchemist Andrew Gould Jeroen Van Harten Kevin Metz Patreon2000 Paul Bergen ProPatte That's Ridiculous Boris HANSSEN Juan Franco Fabrizio Pasqualicchio


常见问题

相似工具推荐

stable-diffusion-webui

stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。

162.1k|★★★☆☆|今天
开发框架图像Agent

everything-claude-code

everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上

139k|★★☆☆☆|今天
开发框架Agent语言模型

ComfyUI

ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。

107.7k|★★☆☆☆|2天前
开发框架图像Agent

NextChat

NextChat 是一款轻量且极速的 AI 助手,旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性,以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发,NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。 这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言,它也提供了便捷的自托管方案,支持一键部署到 Vercel 或 Zeabur 等平台。 NextChat 的核心亮点在于其广泛的模型兼容性,原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型,让用户在一个界面即可自由切换不同 AI 能力。此外,它还率先支持 MCP(Model Context Protocol)协议,增强了上下文处理能力。针对企业用户,NextChat 提供专业版解决方案,具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能,满足公司对数据隐私和个性化管理的高标准要求。

87.6k|★★☆☆☆|今天
开发框架语言模型

ML-For-Beginners

ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程,旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周,包含 26 节精炼课程和 52 道配套测验,内容涵盖从基础概念到实际应用的完整流程,有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。 无论是希望转型的开发者、需要补充算法背景的研究人员,还是对人工智能充满好奇的普通爱好者,都能从中受益。课程不仅提供了清晰的理论讲解,还强调动手实践,让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持,通过自动化机制提供了包括简体中文在内的 50 多种语言版本,极大地降低了全球不同背景用户的学习门槛。此外,项目采用开源协作模式,社区活跃且内容持续更新,确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路,ML-For-Beginners 将是理想的起点。

85k|★★☆☆☆|今天
图像数据工具视频

ragflow

RAGFlow 是一款领先的开源检索增强生成(RAG)引擎,旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体(Agent)能力相结合,不仅支持从各类文档中高效提取知识,还能让模型基于这些知识进行逻辑推理和任务执行。 在大模型应用中,幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构(如表格、图表及混合排版),显著提升了信息检索的准确度,从而有效减少模型“胡编乱造”的现象,确保回答既有据可依又具备时效性。其内置的智能体机制更进一步,使系统不仅能回答问题,还能自主规划步骤解决复杂问题。 这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统,还是致力于探索大模型在垂直领域落地的创新者,都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口,既降低了非算法背景用户的上手门槛,也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目,它正成为连接通用大模型与行业专有知识之间的重要桥梁。

77.1k|★★★☆☆|昨天
Agent图像开发框架