AI Toolkit by Ostris: Стабильная диффузия с FLUX.1 Model Training Toolkit
Общее введение
AI Toolkit by Ostris - это набор инструментов ИИ с открытым исходным кодом, ориентированный на поддержку моделей Stable Diffusion и FLUX.1 для задач обучения и создания изображений. Созданный и поддерживаемый разработчиком Ostris и размещенный на GitHub, инструментарий призван предоставить исследователям и разработчикам гибкую платформу для тонкой настройки и экспериментов с моделями. Он содержит множество AI-скриптов, поддерживающих такие функции, как извлечение LoRA, пакетная генерация изображений и обучение по слоям. В настоящее время проект находится на стадии разработки, и некоторые функции могут быть недостаточно стабильными, но высокая настраиваемость делает его подходящим для опытных пользователей в области глубокого обучения. Инструментарий поддерживает системы Linux и Windows, а для обучения модели FLUX.1 требуется графический процессор Nvidia с не менее чем 24 ГБ видеопамяти.

Список функций
- обучение модели:: Поддержка стабильной диффузии и тонкой настройки модели FLUX.1 для обучения моделей LoRA и LoKr.
- Генерация изображений: Создание пакетных изображений на основе профилей или текстовых подсказок.
- Извлечение и оптимизация LoRA: Предоставление инструментов извлечения LoRA и LoCON для оптимизации извлечения характеристик модели.
- Обучение с учетом особенностей слоев: Для обучения можно выбрать конкретные слои нейронной сети и гибко настроить веса.
- Поддержка пользовательского интерфейса: Предоставляет пользовательский интерфейс AI Toolkit и Gradio UI для упрощения управления задачами и обучения моделей.
- Обработка набора данных: Автоматически настраивает разрешение изображений и группирует их по ведрам, поддерживая широкий спектр форматов изображений.
- Облачное обучение: Поддержка выполнения тренировочных заданий на платформах RunPod и Modal.
Использование помощи
Процесс установки
Установка системы Linux
- склад клонов: Выполните следующую команду в терминале, чтобы загрузить код:
git clone https://github.com/ostris/ai-toolkit.git
cd ai-toolkit
- Обновление подмодулей: Убедитесь, что все зависимые библиотеки заполнены:
git submodule update --init --recursive
- Создание виртуальной среды: Используйте Python 3.10 или более позднюю версию:
python3 -m venv venv
source venv/bin/activate
- Установка зависимостей: Сначала установите PyTorch, а затем остальные зависимости:
pip3 install torch
pip3 install -r requirements.txt
Установка системы Windows
- склад клонов: Запустить в командной строке:
git clone https://github.com/ostris/ai-toolkit.git
cd ai-toolkit
- Обновление подмодулей:
git submodule update --init --recursive
- Создание виртуальной среды:
python -m venv venv
.\venv\Scripts\activate
- Установка зависимостей: Установите версию PyTorch, поддерживающую CUDA 12.4, а затем установите остальные зависимости:
pip install torch==2.5.1 torchvision==0.20.1 --index-url https://download.pytorch.org/whl/cu124
pip install -r requirements.txt
Установка интерфейса пользовательского интерфейса
- Установка Node.js: Убедитесь, что в вашей системе установлен Node.js 18 или более поздней версии.
- Создание пользовательского интерфейса: Войдите в каталог ui и установите зависимости:
cd ui
npm install
npm run build
npm run update_db
- Запуск пользовательского интерфейса: Начальный экран:
npm run start
- Доступ к пользовательскому интерфейсу: Введите в браузере
http://localhost:8675
.
Основные функции
Обучение модели FLUX.1
- Подготовка среды: Убедитесь, что графический процессор имеет не менее 24 ГБ видеопамяти, если он используется для вывода изображения на экран, задайте этот параметр в конфигурационном файле.
low_vram: true
для количественной оценки модели на процессоре. - Настройка FLUX.1-dev:
- Войдите в систему Hugging Face и посетитеblack-forest-labs/FLUX.1-devи принять лицензию.
- В корневом каталоге проекта создайте файл
.env
добавьте в файлHF_TOKEN=你的读取密钥
.
- Настройка FLUX.1-schnell:
- Отредактируйте файл конфигурации (например.
train_lora_flux_schnell_24gb.yaml
), добавьте:model: name_or_path: "black-forest-labs/FLUX.1-schnell" assistant_lora_path: "ostris/FLUX.1-schnell-training-adapter" is_flux: true quantize: true sample: guidance_scale: 1 sample_steps: 4
- Подготовка набора данных: Создать в корневом каталоге
dataset
в папку.jpg
, и.jpeg
возможно.png
изображение и соответствующий.txt
Опишите файл. - Редактирование файла конфигурации: Воспроизводство
config/examples/train_lora_flux_24gb.yaml
до (времени)config
переименуйте его вmy_config.yml
Модификацииfolder_path
путь к набору данных. - беговые тренировки:: Реализация:
python run.py config/my_config.yml
Результаты обучения сохраняются в указанной выходной папке, их можно приостановить с помощью Ctrl+C и возобновить с ближайшей контрольной точки.
Обучение работе с пользовательским интерфейсом Gradio
- Войти на сайт Обнимая лицо: Бег
huggingface-cli login
Входы имеютwrite
Ключ для привилегий. - Запуск пользовательского интерфейса:: Реализация:
python flux_train_ui.py
- Операционный пользовательский интерфейсЗагрузите изображения, заполните описания, задайте параметры и нажмите кнопку обучения в интерфейсе, после чего вы сможете опубликовать модель LoRA.
Тренировки в облаке (RunPod)
- Создание экземпляра RunPod: Использование шаблонов
runpod/pytorch:2.2.0-py3.10-cuda12.1.1-devel-ubuntu22.04
Выберите A40 (48 ГБ видеопамяти). - Набор инструментов для монтажа: Подключитесь к Jupyter Notebook и выполните команду Linux install в терминале.
- Загрузка наборов данных: Создать в корневом каталоге
dataset
папку, перетащите туда изображения и файлы с описанием. - Настройте и запустите: Измените конфигурационный файл
folder_path
Реализацияpython run.py config/my_config.yml
.
Подготовка набора данных
- Требования к форматированию: Поддержка
.jpg
, и.jpeg
, и.png
формат, файл описания.txt
Имена файлов должны быть согласованными (например.image1.jpg
аналогиimage1.txt
). - Описание:
.txt
Напишите описание в[trigger]
Заголовки, определенные в конфигурационном файлеtrigger_word
Замена. - автоматическая регулировка: Инструмент автоматически уменьшает и группирует изображения в соответствии с заданным разрешением, масштабирование не поддерживается.
Обучение с учетом особенностей слоев
- Редактирование файла конфигурации: В
network
Частично добавлена:
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"
- беговые тренировки: Запускается с измененным файлом конфигурации, обучая только указанный слой.
предостережение
- Прерывание обучения: Старайтесь не нажимать Ctrl+C при сохранении контрольных точек, чтобы не испортить файл.
- Безопасность пользовательского интерфейса: UI в настоящее время тестируется только на Linux, что менее безопасно и не рекомендуется для использования в публичной сети.
- Получение помощи: Можете присоединиться к сообществу Ostris в Discord, чтобы задавать вопросы и избегать прямых личных сообщений с разработчиками.
© заявление об авторских правах
Авторское право на статью Круг обмена ИИ Пожалуйста, не воспроизводите без разрешения.
Похожие статьи
Нет комментариев...