Погружение в 90е

Для ностальгирующих по эстетике 90х. После пары недель экспериментов с kohya_ss и подробом параметров зарелизил вторую версию LoRa для создания картинок в стиле фотографий на мыльницы со вспышкой. Скачать для экспериментов можно на Civitai. По сравнению с первой версией эту лору можно использовать с большей strength не ломая изображение. В последний заход потратил часов восемь на тренировку и около 80 эпох. По факту оказалось, что после 5-6 эпох LoRa уже сильно перетренирована, хотя Loss так и не достиг минимума и продолжал уменьшаться....

Controlnet для тг-бота pixelmuse

Добавил новую функцию для telegram-бота @pixelmuse_bot. Теперь на вход ему можно отправить кривой рисунок с командой в описании /imagine2 текст запроса и на выходе получить что-то осмысленное и даже красивое. Как это работает под капотом. Никакой магии, для управления нейросетью используем controlnet. Controlnet заставляет нейросеть использовать информацию о границах объектов как опору для создания нового изображения. После получения изображения от пользователя обрабатываем его с помощью cv2.Canny для определения краев. Тут пришлось поэксперементировать с параметрами чтобы края определялись в том числе на фотографиях, где переходы, например на лице, могут быть плавными, а потеря этих границ даёт модели слишком много свободы для творчества....

Красивая девушка с сухими цветами в волосах

Telegram-бот для создания изображений нейросетью

В общем, кому не хватало Midjourney у нас дома - добро пожаловать в @pixelmuse_bot. Что бот умеет на данный момент: Создавать картинки по текстовому запросу Используется автоматический машинный перевод текста на английский, поэтому запрос может быть практически на любом языке Можно выбрать из 5 моделей: реализм, аниме, киборги, sci-fi окружение, стикеры (по факту под капотом две модели + разные LoRa) Можно загрузить свою фотографию для обработки img2img Можно сделать апскейл результата x1....

У нас есть ChatGPT дома

В статье опишу настройку web API и web-чат похожего на ChatGPT для LLaMA-подобных моделей. Всё это довольно сносно работает на CPU Ryzen 3600 + 32ГБ ОЗУ. API + веб чат Для настройки нам понадобятся три проекта: llama.cpp - мозг нашей системы gpt-llama.cpp - эмулирует API от OpenAI. Реализовано не всё chatbot-ui - web интерфейс для доступа к моделям OpenAI После установки компонентов должна получиться такая структура: local-chat - корень проекта ├── chatbot-ui ├── gpt-llama....

Как поговорить с LLaMA голосом

Наверное уже все пообщались в текстовом режиме с llama-подобными моделями, в этой заметке расскажу как можно настроить полностью голосовое общение с моделью. Для общения нам понадобятся: whisper.cpp - преобразование голоса в текст silero - синтез речи модель совместимая с llama.cpp Silero TTS По моему Silero лучший синтезатор речи который можно запустить под Linux с довольно приличной скорость на CPU. На хабре есть несколько статей от разработчиков, поищите, интересное чтиво. Пользователи Mac могу пропустить этот шаг и использовать для синтеза Siri....

Этика ИИ. Корпорации врут, а мы катимся в пропасть?

Если попытаться спросить ChatGPT о чем-то связанном с насилием, криминалом и т.п. - он ответит, что не будет обсуждать эту тему т.к. это не этично. OpenAI и Microsoft постоянно рассказывают о своих усилиях в области безопасности ИИ. Тот же Google какое-то время назад прикрыл доступ к своей языковой модели после того как пользователи научили её “плохим” вещам. Но так ли всё хорошо с безопасным и этичным использованием ИИ и куда мы идем?...

Подготовка данных для нейронной сети

На волне шумихи вокруг GPT-3 появилось желание покапаться во внутреннем устройстве нейронных сетей и попробовать написать сеть для классификации текстов по категориям/тэгам. Это первая заметка из серии, речь в ней пойдет о предварительной подготовке данных. Зачем необходима подготовка данных? Текстовые данные не могут быть использованы напрямую в моделях машинного обучения, так как в нейронах используются простые математические функции которые работают с числовыми данными. Для подготовки текстовых данных используют так называемое кодирование слов - это преобразование текстовых данных в числовые (векторные) представления, которые затем можно использовать для машинного обучения....