KJNodes/torchcompilegenerated

TorchCompileModelFluxAdvancedV2

В технической реализации этот узел клонирует входную модель и применяет torch。

Torch Compile Model Flux Advanced V2

model
MODEL
backend
COMBO
fullgraph
mode
default
double_blocks
single_blocks
dynamic
dynamo_cache_size_limit
64
force_parameter_static_shapes
KJNodes

Узел TorchCompileModelFluxAdvancedV2 устарел – используйте TorchCompileModelAdvanced вместо него. В технической реализации этот узел клонирует входную модель и применяет torch.compile к её внутренней части, отвечающей за диффузию.

TorchCompileModelFluxAdvancedV2 — это узел, предназначенный для оптимизации и ускорения вывода модели. Он компилирует заданную диффузионную модель с помощью функции PyTorch torch.compile, чтобы повысить эффективность работы модели при генерации изображений. Узел предоставляет различные опции компиляции, позволяя пользователю настраивать стратегию оптимизации в зависимости от оборудования и требований.

Функциональность узла

В технической реализации этот узел клонирует входную модель и применяет torch.compile к её внутренней части, отвечающей за диффузию. Он поддерживает различные бэкенды (например, inductor) и режимы компиляции (например, max-autotune), а также позволяет управлять компиляцией определённых модулей модели (например, одинарных/двойных блоков внимания). Кроме того, он позволяет настраивать низкоуровневые параметры, такие как размер кэша PyTorch Dynamo и принудительную статизацию форм, для более тонкой настройки производительности.

Описание параметров узла - TorchCompileModelFluxAdvancedV2

Входные соединения (Inputs)

Имя параметраТип данныхОбязательныйЗначение по умолчаниюДопустимые значения/ОпцииОписание
modelMODELДа--Принимает входную модель для оптимизации. Этот параметр является основным входом узла и обычно поступает от вышестоящего узла загрузки модели.

Параметры управления (Parameters)

Имя параметраТип данныхОбязательныйЗначение по умолчаниюДопустимые значения/ОпцииОписание
backendКОМБОДаinductor"inductor", "cudagraphs"Выбор бэкенд-движка, используемого для компиляции PyTorch. Доступные значения: inductor (по умолчанию) или cudagraphs. Определяет способ реализации низкоуровневой оптимизации.
modeКОМБОДаdefault"default", "max-autotune", "max-autotune-no-cudagraphs", "reduce-overhead"Режим компиляции PyTorch. Доступные значения: default, max-autotune, max-autotune-no-cudagraphs и reduce-overhead. Позволяет выбирать компромисс между временем компиляции, использованием памяти и скоростью выполнения.
fullgraphБУЛЕВОДаложь-Включить режим полного графа
double_blocksБУЛЕВОДаистина-Компилировать двойные блоки
single_blocksБУЛЕВОДаистина-Компилировать одинарные блоки
dynamicБУЛЕВОДаложь-Включить динамический режим
dynamo_cache_size_limitЦЕЛОЕНет640 - 1024 (шаг: 1)torch._dynamo.config.cache_size_limit
force_parameter_static_shapesБУЛЕВОНетистина-torch._dynamo.config.force_parameter_static_shapes

Выход (Output)

Имя параметраТип данныхОписание
MODELMODELВыводит модель, оптимизированную с помощью torch.compile, которую можно использовать в последующих узлах сэмплера или обработки.

Сценарии использования

В рабочем процессе генерации изображений этот узел можно разместить после узла загрузки модели и перед узлом сэмплера. Например, после загрузки модели Stable Diffusion, можно скомпилировать и оптимизировать её с помощью этого узла, а затем передать оптимизированную модель в сэмплер для генерации изображений, чтобы добиться более высокой скорости генерации.

Важные замечания

Обратите внимание, что этот узел помечен как "устаревший". Разработчик рекомендует использовать его замену — узел TorchCompileModelAdvanced. Данный узел всё ещё находится на экспериментальной стадии, и его эффект оптимизации может значительно различаться в зависимости от модели, оборудования и конкретных параметров.

Ссылка на исходный код узла TorchCompileModelFluxAdvancedV2

Узел TorchCompileModelFluxAdvancedV2 взят из пакета узлов ComfyUI-KJNodes.

Комментарии

Войдите через GitHub, чтобы участвовать в обсуждении.

Загрузка комментариев…