TorchCompileModelAdvanced
В технической реализации этот узел позволяет пользователю выбирать различные бэкенды компиляции (например, inductor) и режимы оптимизации (например, max-autotune).
Torch Compile Model Advanced
Узел TorchCompileModelAdvanced, в его технической реализации, позволяет пользователю выбирать различные бэкенды компиляции (например, inductor) и режимы оптимизации (например, max-autotune).
TorchCompileModelAdvanced — это узел ComfyUI, предназначенный для оптимизации производительности вывода диффузионных моделей. Используя функцию PyTorch torch.compile, он компилирует ключевые части модели в более эффективный формат, тем самым повышая скорость генерации изображений. Этот узел предоставляет более детальные параметры управления по сравнению с базовым узлом компиляции.
Функциональность узла
В его технической реализации этот узел позволяет пользователю выбирать различные бэкенды компиляции (например, inductor) и режимы оптимизации (например, max-autotune). Он управляет размером кэша компиляции через настройку torch._dynamo.config.cache_size_limit и позволяет выборочно компилировать только Transformer-модули модели для баланса между скоростью компиляции и эффектом оптимизации.
Описание параметров узла - TorchCompileModelAdvanced
Входные соединения (Inputs)
| Название параметра | Тип данных | Обязательный | Значение по умолчанию | Допустимые значения/опции | Описание |
|---|---|---|---|---|---|
model | MODEL | Да | - | - | Принимает диффузионную модель для оптимизации в качестве входного объекта для процесса компиляции. |
Параметры управления (Parameters)
| Название параметра | Тип данных | Обязательный | Значение по умолчанию | Допустимые значения/опции | Описание |
|---|---|---|---|---|---|
backend | COMBO | Да | inductor | "inductor", "cudagraphs" | Выбор бэкенд-движка, используемого для компиляции PyTorch. Допустимые значения: inductor или cudagraphs. |
mode | COMBO | Да | default | "default", "max-autotune", "max-autotune-no-cudagraphs", "reduce-overhead" | Режим оптимизации. |
dynamic | COMBO | Да | false | "auto", "true", "false" | Включает отслеживание динамической формы (true, false или auto). |
fullgraph | BOOLEAN | Да | False | - | Включить режим полного графа |
compile_transformer_blocks_only | BOOLEAN | Да | True | - | Компилировать только Transformer-блоки, быстрее компиляция и меньше вероятность ошибок |
dynamo_cache_size_limit | INT | Да | 64 | 0 - 1024 (шаг: 1) | torch._dynamo.config.cache_size_limit |
debug_compile_keys | BOOLEAN | Да | False | - | Выводить ключи компиляции, используемые для torch.compile |
disable_dynamic_vram | BOOLEAN | Нет | False | - | Отключает динамическое управление VRAM для уменьшения фрагментации памяти. |
Выходные данные (Output)
| Название параметра | Тип данных | Описание |
|---|---|---|
| MODEL | MODEL | Выводит скомпилированную и оптимизированную модель для последующих этапов генерации изображений. |
Сценарии использования
В практическом применении, когда пользователь строит рабочий процесс, ориентированный на скорость генерации, этот узел можно подключить после загруженной модели. Настраивая параметры, такие как режим компиляции и отслеживание динамической формы, пользователь может попытаться достичь наилучшей производительности вывода на различном оборудовании (например, GPU NVIDIA), не изменяя саму модель.
Важные замечания
Этот узел помечен как экспериментальная функция, его поведение может меняться с обновлениями PyTorch. Неправильная комбинация параметров может привести к сбою компиляции или ошибкам выполнения. Рекомендуется провести тщательное тестирование перед использованием в критически важных рабочих процессах.
Ссылка на исходный код узла TorchCompileModelAdvanced
Узел TorchCompileModelAdvanced взят из пакета узлов ComfyUI-KJNodes.
Комментарии
Войдите через GitHub, чтобы участвовать в обсуждении.