Как скачать нейросеть на компьютер

0
19

Как легко и быстро установить нейронную сеть на домашний ПК

Как генерировать картинки в Stable Diffusion: показываем на котиках

Не вдаваясь в детали, поясним, как происходит обучение таких моделей: на вход нейросети подаётся некое изображение и его достаточно полное текстовое описание. Затем система зашумляет исходную картинку, последовательно добавляя к ней разноцветные точки в псевдослучайном, но генерируемом по вполне детерминистическому алгоритму порядке (гауссовский шум) на основе набора токенов, связанных с описывающими картинку терминами, — и снова пропускает через нейросеть полученный результат. Несколько десятков итераций спустя изображение превращается — на взгляд человека — в совершенно бесструктурную мешанину разноцветных пикселей. Однако для самой системы в этом хаосе закодирована исходная картинка — просто скрытая под напластованиями множества шумовых слоёв, наложенных известным ей образом. Можно даже сказать, что в каком-то смысле исходная картинка заархивирована, — вот только для обратного процесса потребуется не линейный алгоритм разархивации, а та же самая нейронная сеть.

С Windows 7 ситуация сложнее (поскольку нужная версия языка Python для неё официально не поддерживается), а для пользователей ОС с ядром Linux путь к финальной настройке генеративной модели для преобразования текста в картинки окажется даже короче — ибо в большинстве популярных дистрибутивов значительная часть необходимого ПО уже исходно предустановлена. Впрочем, в рамках настоящего киберпрактикума вопросы установки Stable Diffusion на других ОС затрагиваться не будут: sapienti sat. Свободного пространства на системном накопителе потребуется как минимум 20 Гбайт, однако с учётом того, что изображения по умолчанию сохраняются внутрь каталога установки, чем больше на диске места, тем лучше.

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

Загруженный файл модели v-1-5-pruned-emaonly.safetensors надо поместить в специально предназначенную для моделей папку внутри установочного каталога Stable Diffusion: /models/Stable-diffusion. Изначально она пуста, если не считать текстового файла нулевой длины с говорящим наименованием «Put Stable Diffusion checkpoints here» — «чекпойнтами» как раз и называют файлы с натренированными на определённым наборе картинок весами для данной нейросети.

В целом результат очень хорош, проработка деталей фантастическая, но какими-то эти роботы враз стали… статичными, что ли. И резко однотипными. Однако и с этой напастью ИИ-энтузиасты научились бороться, применяя такое сильнейшее шаманство, как clip skip. Сейчас поясним, что это значит.

не знаю, запустилось бы или нет в итоге, но на вин7 попытался установить, но не дождался окончания. 11Гб Г… накачал — дальше не стал. Для запуска инсталлятора на вин7 достаточно скачать curl для винды (https://curl.se/windows/), из папки bin архива все копирнуть в windows\system32 и можно запускать cmd-шник

Попробуем для начала переставить стили (указание на художника и сайт) в конец, а заодно убрать «ретрофутуризм» как термин из подсказок — слишком уж невнятно определён, может сбивать модель с толку, — и добавим больше подразумеваемых им деталей: янтарно светящиеся лампы, бронзовые трубки, медные зубчатые колёса, хромированные цепи, циферблаты слоновой кости, вентили эбенового дерева:

Интерфейс установлен, пользователь перед компьютером есть, — самое время загрузить собственно Stable Diffusion, т. е. модель на основе машинного обучения для преобразования текста в графический образ (text-to-image model), написанную на языке Python. К ней впервые предоставил свободный доступ 22 августа 2022 г. сам же её разработчик — компания Stability.ai, специализирующаяся на развитии генеративных ИИ с открытым кодом.

Модель Realistic Vision V2.0

Собственно, всё: сохранив изменения в webui-user.bat и закрыв его, снова запускаем этот файл двойным щелчком — и наблюдаем, как система (уже с оптимизированными параметрами) приходит в рабочее состояние. После появления надписи «Running on local URL» самое время открыть в браузере новую вкладку и набрать в ней адрес, по которому доступен веб-интерфейс AUTOMATIC1111, — http://127.0.0.1:7860.

Ещё один момент: в окне «Configuring the terminal emulator to use with Git Bash» из предлагаемых опций лучше выбрать MiniTTY. Это не принципиальный вопрос, и консольное окно Windows по умолчанию тут вполне сгодится, — но из соображений лучшей совместимости (с Unicode-шрифтами прежде всего) MiniTTY всё-таки предпочтительнее.

Ещё одна деталь: квадратные изображения Stable Diffusion 1.5 генерирует лучше всего (в том смысле, что генерация эта порождает минимум артефактов вроде искажённых пропорций человеческих тел или нарушений перспективы), поскольку обучалась на картинках с разрешением 256 × 256 и 512 × 512 пикселов. Однако AUTOMATIC1111 позволяет на страх и риск пользователя менять эти размеры, в том числе получая изображения альбомной или книжной ориентации, а не только квадратные. Базовая модель Stable Diffusion 1.5 не очень уверенно справляется с прямоугольниками (другие чекпойнты делают это лучше, плюс есть ещё целый ряд трюков, но об этом позже), но всё же в размере 512 × 768 пикселов должна выдавать более или менее приемлемый результат. Сдвинем поэтому ползунок «Height» на позицию 768 (или можно просто набрать это число вручную в соответствующем окошке) — и насладимся уже более впечатляющим результатом.

А для более комфортной и быстрой работы нужны более производительные видеокарты с объёмом памяти от 8 (а лучше от 12) гигабайт. Например, GeForce RTX 3050 на 8GB или GeForce RTX 4070Ti на 12GB. Что касается ноутбуков, то на ноутбуке Lenovo Legion 5 с видеокартой RTX3060 на 6GB Stable Diffusion должна работать довольно шустро (правда, 6 Гб может не хватить для сильного увеличения готовых картинок). А вот MSI Stealth GS77 точно справится с чем угодно: в нём стоит RTX3080Ti 16Gb.

Вот, к примеру, на сайте Civitai.com, открытом репозитории множества ресурсов для энтузиастов text2image-генераций, имеется LoRA под названием SteampunkAI. Она создана на основе чекпойнта, специально дообученного для рисования в соответствующем стиле, и может применяться с любым другим чекпойнтом, обеспечивая вполне узнаваемую и зрелищную стилистику. Чтобы скачать соответствующий файл в формате .safetensors, достаточно нажать на длинную синюю кнопку на правой стороне веб-страницы.

ЧИТАТЬ ТАКЖЕ:  Искусственный интеллект как подключить

Процесс установки не очень быстрый, так что налейте себе чаю с печенькой и ждите. В конце установки не забудьте поставить галочку Create Desktop Shortcut, чтобы установщик создал ярлык для быстрого запуска. А вот запускать нейросеть пока рано, так что галочку Run Easy Diffusion стоит снять.

Параметр —no-half-vae — ещё одна оптимизация, дающая системе указание не использовать формат половинной точности (16 бит для 32-разрядных компьютеров) представления данных с плавающей запятой для работы VAE (вариационного автокодировщика; смысл его в том, чтобы снижать размерность пространства задаваемых модели параметров почти без потери информации о них). Строго говоря, такой формат в полной мере поддерживают лишь наиболее новые поколения ГП NVIDIA — Pascal, Volta, Ampere, — так что пользователям более ранних видеокарт имело бы смысл применять разом две оптимизации: и указанную нами —no-half-vae, и более глобальную —no-half (относится уже не к одному только VAE, а к базовому чекпойнту в целом). Однако, как показывает практика, в отсутствие —no-half даже на сравнительно старых ГП Stable Diffusion работает вполне уверенно, тогда как без —no-half-vae частенько выдаёт чёрные прямоугольники вместо сгенерированных картинок. Речь, подчеркнём ещё раз, идёт именно о GeForce GTX 2000-й серии и более ранних: для актуальных RTX 3000-го и 4000-го семейств в аргументах командной строки внутри .bat-файла не имеет смысла указывать параметры оптимизации — разве только —xformers.

Нет, не запустилось бы. Не знаю в чем именно затык, но уже после старта вебсервера, когда запускается браузер, пытается скачать еще какие-то файлы и на этом обламывается. Если докачать все нужные файлы, например запустив под вин10, то вроде как сервер запускается полностью, но при начале обработки запроса, долго что-то делает потом вылетает с кучей ошибок.

⇡#Предварительные замечания

Разве не хорошо? Особенно вон те двое, что играют в чехарду (как раз здесь проявляется самотворчество цифрового художника: в заданной нами подсказке ничего ни про двух роботов, ни про их взаимное расположение не говорилось). Правда, становятся очевидными артефакты вертикальной композиции, прежде всего — отъединённые конечности. Чтобы бороться с этим, есть разные способы.

Python 3.10 вроде прекрасно себя чувствует на семерке. Главным же препятствием у меня становится видеокарта, не хватает видеопамяти. Пишет что-то вроде SD заточен под более чем 3Гб врам, а у меня всего два 🙁 Это я на ноуте пробовал запустить. На процессоре ноута считает картинку 512Х512 около 15-ти минут, но хотя бы считает. Думал что от размера модели зависит влезет ли в видеопамять, нашел модель на два гига, нет, не проканало. В настройках включил LowVRAM, но это тоже не помогло. Мне кажется, что совсем не обязательно чтобы модель вся помещалась в видеопамять, просто будет медленнее считать, но все равно быстрее чем на процессоре.

Именно из этого терминала пользователь и отдаёт команды Git — в частности, на закачку интересующих его проектов. «Закачка» в терминах этой платформы — «клонирование», т. е. создание локальной копии расположенного онлайн кода, поэтому требуемая команда выглядит следующим образом:

Наши котики имеют размер 1024х768 пикс, что не так много. Для инстаграма хватит, а вот на большом мониторе особо не порассматриваешь, да и для печати маловато. Поэтому попробуем увеличить размер изображения. Делается с помощью тех же кнопок справа вверху (наводим мышь на картинку, чтобы кнопки появились).

LLM ещё более требовательны как к доступному числу физических вычислителей, способных автономно и параллельно производить взвешенные суммирования (для чего почти идеально подходят ядра CUDA), так и к объёму напрямую связанной с ними памяти (при использовании дискретного графического адаптера) — видеопамяти. Для запуска и эксплуатации больших языковых моделей активно применяются специализированные видеокарты — с гигантскими объёмами VRAM в десятки гигабайт на каждой, объединённые сверхскоростными мостами (NVLink, если речь идёт о продуктах NVIDIA) в кластеры из 4 или 8 единиц.

Неплохая работа с глубиной резкости и боке, реалистичные котики почти без проблем с глазами. Но интерьер и атмосфера получились не такими выразительными, как в Deliberate. В целом, рекомендуем к установке и использованию / Иллюстрация: Алиса Смирнова, Фотосклад.Эксперт

Не раз уже мы называли используемый с AUTOMATIC1111 чекпойнт «v-1-5-pruned-emaonly.safetensors» (переименованный, напомним, в «model.safetensors») базовым. Значит, должны быть и какие-то не-базовые, производные? Так и есть: на основе изначальной модели Stable Diffusion 1.5 (только в версии pruned, без emaonly) энтузиасты производят дотренировку, прогоняя через систему — тем же путём, что пропутешествовали исходные миллиарды картинок, — ещё несколько сотен, или тысяч, или на сколько у них хватит терпения и вычислительных мощностей. Картинки эти, соответствующим образом подобранные и аннотированные, расширяют горизонты восприятия, если так можно выразиться, модели: она начинает значительно чаще выдавать изображения в стимпанковской стилистике без дополнительных подсказок, или лучше начинает рисовать фэнтезийных эльфов (базовый чекпойнт в ответ на подсказку «elf» c большой вероятностью изобразит помощника Санты в зелёном колпачке, а не горделивого обитателя зачарованных лесов), или ещё каким-то образом модифицирует результаты своей генерации.

Можно вернуться к квадратному формату, а можно попытаться это исправить с помощью поля Negative Prompt, в которое добавим описание того, что не хотим получать в генерации: «deformed, distorted, disfigured, poorly drawn, bad anatomy, wrong anatomy, extra limb, missing limb, floating limbs, mutated hands and fingers, disconnected limbs, mutation, mutated, ugly, disgusting, blurry, amputation» (деформированный, искаженный, изуродованный, плохо нарисованный, плохая анатомия, неправильная анатомия, лишняя конечность, отсутствующая конечность, искажённые конечности, мутировавшие руки и пальцы, отсоединенные конечности, мутация, мутировавший, уродливый, отвратительный, размытый, ампутация).

ОСТАВЬТЕ ОТВЕТ

Пожалуйста, введите ваш комментарий!
пожалуйста, введите ваше имя здесь