Привет, Хабр! Я оптимизировал Trellis — мощный AI-инструмент для генерации 3D моделей из изображений, и хочу поделиться тем, как удалось снизить требования к видеопамяти с 16GB до 8GB, сохранив качество генерации.
Что такое Trellis и почему это важно
Trellis — модель для генерации 3D-ассетов, разработанная Microsoft Research, способная создавать трёхмерные объекты из изображений. Её ключевая особенность — универсальный Structured LATent (SLAT) формат, за счет которого можно генерировать различные выходные форматы: от Radiance Fields и 3D Gaussians до полноценных мешей.
Но высокие требования к видеопамяти (минимум 16GB) существенно ограничивали доступность этого инструмента широкому кругу разработчиков и 3D-художников.
Оптимизация: меньше памяти — та же функциональность
Основная идея моей оптимизации заключалась в переходе на более компактные форматы данных без существенной потери в качестве:
Замена 32-битных float на 16-битные (half-precision) в основном пайплайне
Использование 32-битных int вместо 64-битных в процессе SLAT-декодирования
Это позволило достичь цели — запуска на обычных видеокартах с 8GB памяти, что открывает возможности использования для владельцев RTX 3060 Ti, RTX 2070 и аналогичных карт.
Простота использования
Для Windows я подготовил простой установщик, не требующий дополнительных компонентов:
Не нужен CUDA Toolkit
Не требуется Visual Studio
Не нужны права администратора
Имеется встроенный Python 3.11 и все зависимости
Запуск осуществляется через bat-файлы:
run-gradio-fp16.bat
— веб-интерфейс в режиме half-precision, для работы через браузерrun-fp16.bat
— API-сервер в режиме half-precision для взаимодействия с программами такими как StableProjectorz
Возможности применения
Оптимизированная версия Trellis может быть полезна для:
Исследователей и энтузиастов компьютерной графики
Разработчиков, изучающих возможности AI в создании 3D
Художников, экспериментирующих с новыми инструментами
Образовательных проектов в области 3D моделирования
Важное примечание о лицензировании
Хотя основной код Trellis распространяется под MIT лицензией, некоторые используемые модули доступны только для исследовательских и оценочных целей. В настоящее время активно ведется работа по замене этих модулей на альтернативы с полностью коммерческой лицензией. Если у вас есть предложения по альтернативным решениям или вы хотите принять участие в разработке, можете заглянуть в код на гитхаб и предложить ваш pull-request.
Дополнительно
Проект является частью исследования интеграции с StableProjectorz — инструментом для быстрого текстурирования 3D моделей через Stable Diffusion. Они хорошо дополняют друг друга в экспериментальном пайплайне создания 3D-контента. Сейчас он в состоянии бета-версии, и скоро будет полноценный релиз, для более надёжной работы с Треллис и другими генераторами, таким как Hunyuan3d.
Ссылки и контакты
Комментарии (4)
Imustrunaway
26.01.2025 07:48Я вот жду возможности запускать ее локально на Макбуке. Может кто подскажет чем подобным (тяжелым) нагрузить M4 Max? Пока пробовал LM Studio и DiffusionBee но хотелось бы что-то посущественнее
Ladaga
26.01.2025 07:48Хотелось бы ещё больше детализации, чем она выдаёт. Пусть файл много весит и подождать ради такого можно да хоть полчаса
LavaLava
Как я удачно станцию для CAD с RTX 3060 Ti заказал на днях