⚡️Как ускорить диффузию ч2 - Samplers & Low-level optimizationsПродолжаем серию постов про основные методы для ускорения диффузионных моделей. [
Ссылка на часть 1].
Optimized Sampling Efficiency by new samplers:Есть подходы на основе численных методов, которые позволяют более эффективно решать дифференциальное уравнение, задающее траекторию обратной диффузии (это когда мы из шума движемся к картинке).
➖STSP: Sampling with splitting numerical methods➖В эту категорию тоже можно отнести всякие замысловатые солверы, такие как DDIM, DPM, PNDM, PLMS, UniPC [
пост].
➖Итеративный метод Пикарда, который позволяет распараллелить семплинг, ценой больших вычислений [
пост].
Low-level optimizations:➖Профайлером анализируем узкие места в сети и
переписываем отдельные операции на CUDA и вручную оптимизируем и фьюзим кернелы. Тут общие советы трудно давать, все зависит от вашей архитектуры.
➖FlashAttention-
2 - ускоряет flash-attention блоки, которые являются одними из самых прожорливых по ресурсам в архитектуре Unet, широко используемой в диффузиях.
#ликбез
@ai_newz