Как установить искусственный интеллект на компьютер

0
12

HOWTO: как установить и настроить собственный ИИ на игровом ПК

Стадия 5. Работа

Когда технологическая основа готова, а основные алгоритмы прописаны и вручную протестированы, начинается длительный период тренировки. Чтобы сделать самостоятельный и универсальный интеллект, необходимо углубляться в изучение теории, а также хрестоматийных пособий, например:

Безусловно, аргумент этот чисто количественный. Законы природы не запрещают применять для эмуляции нейронной сети исключительно центральный процессор с его 4, 8 или 16 ядрами и оперативную память DRAM. Но поскольку вычисления непосредственно в памяти в рамках классической x86-архитектуры не реализуются, потери времени при переносе небольших (обработанных считаными единицами, максимум первыми десятками ядер) пакетов данных между ЦП и ОЗУ оказываются попросту несуразными. И это проблема любых подобных вычислений: к примеру, Stable Diffusion — нейросетевая модель с открытым исходным кодом для создания изображений по текстовым описаниям — при запуске на ПК без дискретного графического адаптера генерирует простейшие картинки за многие десятки минут, тогда как на компьютере даже с не самой современной видеокартой — за пару-тройку минут максимум, а с какой-нибудь NVIDIA RTX 4080 — и вовсе за секунды.

Для начала сам термин pruned (англ. «обрезанный», «упрощённый») указывает на некоторую потерю информации в этой версии модели по сравнению с полной, полученной в Stability.ai после обработки тех самых 2,3 млрд изображений. По сути, итог обучения нейросети — это определённый набор весов на входах каждого перцептрона каждого из её слоёв. Некоторые из этих весов могут оказаться с высокой точностью равными нулю, а поскольку нейросеть высчитывает взвешенные суммы (произведение текущего значения аргумента и веса на данном входе данного перцептрона), умножение на почти ноль тоже даст в результате почти ноль. Иными словами, в pruned-версии все «почти нули» ниже некоторого порога величины заменены самыми обычными нулями, так что при формировании картинки по готовой модели разница между «урезанным» и полным вариантами практически неприметна.

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

Чего ради стоит возиться с чекпойнтами, мы покажем на примере одной из наиболее популярных сегодня доработок Stable Diffusion 1.5 под названием Deliberate v.2. Загрузить этот файл в формате .safetensors логичнее всего со страницы данного проекта на уже знакомом нам репозитории Hugging Face, после чего надо поместить дотренированную модель в ту же папку, где уже находится базовая, — model.safetensors. На сей раз переименовывать ничего не требуется.

Иными словами, с —lowvram система заработает практически на любом ПК, более или менее заслуживающем называться «игровым», почти гарантированно. Но едва первые изображения получены, есть смысл поменять в конфигурационном файле этот параметр на —medvram и, перезапустив Stable Diffusion, произвести генерацию заново; и если всё получится — оставить всё именно в таком виде. Например, для используемой в настоящем киберпрактикуме системы с GTX 1070 базовая генерация с параметром —lowvram занимает 28-35% от доступных 8 Гбайт видеопамяти, тогда как с —medvram — уже 68-75%, причём выигрыш во времени, что уходит на создание одной картинки, не превышает 25-30%. Счастливым же обладателям видеокарт с VRAM 12 Гбайт и более ни один из этой пары оптимизационных параметров не пригодится.

По завершении инсталляции в «Проводнике» Windows следует открыть папку, в которую Git был установлен, и, удерживая курсор мыши в пределах этого окна (не имеет значения, на каком именно файле), нажать на правую кнопку. Откроется меню, в котором — благодаря тому, что напротив опций «Git Bash Here» и «Git GUI Here» в ходе инсталляции были проставлены галочки, — появятся две новых соответствующих строчки. Нужно навести курсор на «Git Bash Here» и нажатием теперь уже левой кнопки мыши запустить тот самый терминал MiniTTY, о котором шла речь буквально только что.

ЧИТАТЬ ТАКЖЕ:  Как решать задачи по нейросети

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

Кратко о программировании AI

Как можно видеть, уже простейшая негативная подсказка сделала изображения более выразительными. Обратите внимание, как система именует их по умолчанию: сперва идёт сквозной номер генерации за текущую дату, далее через дефис — использованная для создания данной картинки затравка (seed). То есть здесь первому изображению в первом пакете (00000-3423357652) соответствует первое во втором (00008-3423357652) и т. д.

А что если перевести изображение из книжного формата в альбомный? Вертикальная композиция человекоподобной сущности всё-таки подразумевает некую портретность, соседствующую со статичностью, тогда как растянутая по ширине картинка может предоставить больше простора для динамики. Для простой перемены местами размерностей (чтобы вместо 512 × 768 пикселей стало 768 × 512) достаточно нажать на кнопку со стрелочками «вверх» и « вниз » рядом с ползунками Height и Width. Попробуем сгенерировать так.

Впрочем, красоту и практичность этого решения в полной мере оценят лишь программисты; рядовому же пользователю, просто желающему запустить Stable Diffusion на своём ПК, важно понимать, что загруженный через Git проект останется заведомо работоспособным именно в той версии, в которой его впервые установят. И что любые последующие изменения и дополнения — пока они не «втянуты» через тот же Git на локальный ПК — никак на работе уже инсталлированной системы не отразятся. В век подспудных фоновых автообновлений, частенько приводящих к внезапным кардинальным переменам в интерфейсах и функциональных возможностях привычных приложений, это дорогого стоит.

Сама модель Stable Diffusion версии 1.5 (сегодня есть уже и более поздние проекты самой Stability.ai, и аналоги за авторством других разработчиков, однако на данный момент именно эта пользуется наибольшей популярностью в кругах энтузиастов text2image-активности) доступна — опять-таки бесплатно, без SMS и регистрации — на репозитории онлайн-сообщества ИИ-кодеров Hugging Face.

Главный аспект создания искусственного интеллекта — разработка моделей и алгоритмов, которые способны самостоятельно обучаться с опорой на поступающие данные. ИИ постоянно находится в процессе совершенствования навыков и способностей, что позволяет сделать результаты работы лучше и подготовить систему к решению новых задач.

Добавим определённости в то, какими именно нам хочется видеть изображаемых роботов. В позитивные подсказки вместо просто «robot» напишем «fighting robot, shiny steel», а в негативные — один из стандартных нежелательных наборов контекстуальных терминов (undesired content prompt): «lowres, bad anatomy, bad hands, text, error, missing fingers, extra digit, fewer digits, cropped, worst quality, low quality, normal quality, jpeg artifacts,signature, watermark, username, blurry, artist name». Гораздо интереснее, не правда ли?

Чтобы загрузить эту модель, следует перейти на вкладку Files в веб-интерфейсе её странички на репозитории, чуть прокрутить вниз — и нажать на не самую приметную стрелочку с подчёркиванием, стоящую справа от букв «LFS» в строке, что начинается с «v-1-5-pruned-emaonly.safetensor». Как только при наведении на стрелочку всплывёт окошко с мелкой надписью «Download file» — можно нажимать и запасаться терпением: файл занимает несколько гигабайтов.

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

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

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