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 ГБ видеопамяти.

AI Toolkit by Ostris:Stable Diffusion与FLUX.1模型训练工具包

 

Список функций

  • обучение модели:: Поддержка стабильной диффузии и тонкой настройки модели FLUX.1 для обучения моделей LoRA и LoKr.
  • Генерация изображений: Создание пакетных изображений на основе профилей или текстовых подсказок.
  • Извлечение и оптимизация LoRA: Предоставление инструментов извлечения LoRA и LoCON для оптимизации извлечения характеристик модели.
  • Обучение с учетом особенностей слоев: Для обучения можно выбрать конкретные слои нейронной сети и гибко настроить веса.
  • Поддержка пользовательского интерфейса: Предоставляет пользовательский интерфейс AI Toolkit и Gradio UI для упрощения управления задачами и обучения моделей.
  • Обработка набора данных: Автоматически настраивает разрешение изображений и группирует их по ведрам, поддерживая широкий спектр форматов изображений.
  • Облачное обучение: Поддержка выполнения тренировочных заданий на платформах RunPod и Modal.

 

Использование помощи

Процесс установки

Установка системы Linux

  1. склад клонов: Выполните следующую команду в терминале, чтобы загрузить код:
git clone https://github.com/ostris/ai-toolkit.git
cd ai-toolkit
  1. Обновление подмодулей: Убедитесь, что все зависимые библиотеки заполнены:
git submodule update --init --recursive
  1. Создание виртуальной среды: Используйте Python 3.10 или более позднюю версию:
python3 -m venv venv
source venv/bin/activate
  1. Установка зависимостей: Сначала установите PyTorch, а затем остальные зависимости:
pip3 install torch
pip3 install -r requirements.txt

Установка системы Windows

  1. склад клонов: Запустить в командной строке:
git clone https://github.com/ostris/ai-toolkit.git
cd ai-toolkit
  1. Обновление подмодулей:
git submodule update --init --recursive
  1. Создание виртуальной среды:
python -m venv venv
.\venv\Scripts\activate
  1. Установка зависимостей: Установите версию 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

Установка интерфейса пользовательского интерфейса

  1. Установка Node.js: Убедитесь, что в вашей системе установлен Node.js 18 или более поздней версии.
  2. Создание пользовательского интерфейса: Войдите в каталог ui и установите зависимости:
cd ui
npm install
npm run build
npm run update_db
  1. Запуск пользовательского интерфейса: Начальный экран:
npm run start
  1. Доступ к пользовательскому интерфейсу: Введите в браузереhttp://localhost:8675.

Основные функции

Обучение модели FLUX.1

  1. Подготовка среды: Убедитесь, что графический процессор имеет не менее 24 ГБ видеопамяти, если он используется для вывода изображения на экран, задайте этот параметр в конфигурационном файле.low_vram: trueдля количественной оценки модели на процессоре.
  2. Настройка FLUX.1-dev:
  • Войдите в систему Hugging Face и посетитеblack-forest-labs/FLUX.1-devи принять лицензию.
  • В корневом каталоге проекта создайте файл.envдобавьте в файлHF_TOKEN=你的读取密钥.
  1. Настройка 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
    
  1. Подготовка набора данных: Создать в корневом каталогеdatasetв папку.jpg, и.jpegвозможно.pngизображение и соответствующий.txtОпишите файл.
  2. Редактирование файла конфигурации: Воспроизводствоconfig/examples/train_lora_flux_24gb.yamlдо (времени)configпереименуйте его вmy_config.ymlМодификацииfolder_pathпуть к набору данных.
  3. беговые тренировки:: Реализация:
python run.py config/my_config.yml

Результаты обучения сохраняются в указанной выходной папке, их можно приостановить с помощью Ctrl+C и возобновить с ближайшей контрольной точки.

Обучение работе с пользовательским интерфейсом Gradio

  1. Войти на сайт Обнимая лицо: Бегhuggingface-cli loginВходы имеютwriteКлюч для привилегий.
  2. Запуск пользовательского интерфейса:: Реализация:
python flux_train_ui.py
  1. Операционный пользовательский интерфейсЗагрузите изображения, заполните описания, задайте параметры и нажмите кнопку обучения в интерфейсе, после чего вы сможете опубликовать модель LoRA.

Тренировки в облаке (RunPod)

  1. Создание экземпляра RunPod: Использование шаблоновrunpod/pytorch:2.2.0-py3.10-cuda12.1.1-devel-ubuntu22.04Выберите A40 (48 ГБ видеопамяти).
  2. Набор инструментов для монтажа: Подключитесь к Jupyter Notebook и выполните команду Linux install в терминале.
  3. Загрузка наборов данных: Создать в корневом каталогеdatasetпапку, перетащите туда изображения и файлы с описанием.
  4. Настройте и запустите: Измените конфигурационный файлfolder_pathРеализацияpython run.py config/my_config.yml.

Подготовка набора данных

  • Требования к форматированию: Поддержка.jpg, и.jpeg, и.pngформат, файл описания.txtИмена файлов должны быть согласованными (например.image1.jpgаналогиimage1.txt).
  • Описание.txtНапишите описание в[trigger]Заголовки, определенные в конфигурационном файлеtrigger_wordЗамена.
  • автоматическая регулировка: Инструмент автоматически уменьшает и группирует изображения в соответствии с заданным разрешением, масштабирование не поддерживается.

Обучение с учетом особенностей слоев

  1. Редактирование файла конфигурации: В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"
  1. беговые тренировки: Запускается с измененным файлом конфигурации, обучая только указанный слой.

предостережение

  • Прерывание обучения: Старайтесь не нажимать Ctrl+C при сохранении контрольных точек, чтобы не испортить файл.
  • Безопасность пользовательского интерфейса: UI в настоящее время тестируется только на Linux, что менее безопасно и не рекомендуется для использования в публичной сети.
  • Получение помощи: Можете присоединиться к сообществу Ostris в Discord, чтобы задавать вопросы и избегать прямых личных сообщений с разработчиками.
© заявление об авторских правах

Похожие статьи

Нет комментариев

Вы должны войти в систему, чтобы участвовать в комментариях!
Войти сейчас
нет
Нет комментариев...