Проблема распределения ресурсов в LoRA
Персонализация текстовых моделей генерации изображений (text-to-image) обычно требует либо полного дообучения (fine-tuning), что ресурсоемко, либо использования Low-Rank Adaptation (LoRA). Стандартные методы LoRA фиксируют распределение низкоранговых компонентов, не учитывая, что разные слои трансформера требуют разного уровня адаптации для сохранения идентичности субъекта. Diffu-LoRA решает эту проблему, встраивая обучаемые гейты (gates) в линейные слои блоков трансформера.
Механизм работы: Билинейная оптимизация и прунинг
Ключевая инновация заключается в двухэтапном процессе:
- Билинейная оптимизация: веса адаптации и параметры гейтов обновляются на разных подмножествах данных, что предотвращает переобучение и улучшает обобщение.
- Прогрессивный прунинг: компоненты с наименьшими значениями гейтов отбрасываются, что позволяет строго контролировать бюджет ранга (rank budget) и оставлять только самые важные адаптационные пути.
Результаты на Stable Diffusion
Эксперименты проводились на базе Stable Diffusion с использованием датасетов DreamBooth и дополнительных собранных данных. Метод демонстрирует улучшение показателей верности субъекту (subject fidelity) и соответствия промпту (prompt alignment) по сравнению с базовыми методами дообучения. Ниже приведено сравнение ключевых характеристик подхода:
| Характеристика | Стандартный LoRA | Diffu-LoRA |
|---|---|---|
| Распределение параметров | Фиксированное | Динамическое (через гейты) |
| Оптимизация | Однотипная | Билинейная (разные сплиты данных) |
| Управление рангом | Статичное | Прогрессивный прунинг |
| Результат | Базовый уровень | Улучшенная верность субъекту |
Значение для индустрии
Diffu-LoRA доказывает, что «наученное распределение ранга» (learned rank allocation) является практичным подходом для эффективной персонализации. Это позволяет создавать более качественные персонализированные модели при меньшем вычислительном напряжении, сохраняя предварительно обученный «скелет» (backbone) замороженным.
Источник: arXiv cs.CL ↗
