AI Dungeon дома

Нейросетевая текстовая адвенчура на локальном компьютере.

Сразу отмечу, что в нейросетях я не смыслю вообще ничего. Затестить это чудо технологии меня надоумила вчерашняя статья Мао про сам AI Dungeon и комментарии к ней, где и обсуждался запуск нейросети-аналога AI Dungeon локально. Там есть ссылка на статью на хабре, где все описано довольно подробно. Здесь же я просто напишу, как я это запустил и настроил, чтоб работало, ну и немного поиграл. И еще кое-что: мой комп уже довольно пожилой. В статье на хабре даны 2 варианта запуска нейросетки локально, но один из них (как мне кажется, более оптимальный) требует видюхи с 8+ Гб VRAM. У меня этого нет, поэтому запускал на проце с небольшой поддержкой от видюхи (есть вариант и чисто на проце), благо для этого нужно всего 16+ Гб RAM.

Для запуска нейросетки нужно:

1. koboldcpp - exeшник тут

2. Модель. Можно взять оригинальную Llama с цензурой от OpenAI. Я выбрал Wizard-Vicuna, которая вроде как умнее обычной Llama и, что значительно интереснее, не имеет цензуры. Для работы нужен только один файл, в моем случае Wizard-Vicuna-13B-Uncensored.ggmlv3.q4_0.bin. Важно: koboldcpp работает c GGML моделями и не совместим с new k-quant methods (обозначены буквой K, например Wizard-Vicuna-13B-Uncensored.ggmlv3.q4_K). В статье на хабре есть ссылки на другие модели, в т. ч. Llama2 13B Orca v2 8K, которая там описана как лучшая для ролеплея, может у меня и до нее руки дойдут когда-нибудь.

3. SillyTavern (необязательно) - удобный интерфейс с кучей настроек, возможностью перевода диалога, управлением персонажами... Я в нем запутался и упал, поэтому только упомяну в конце, как его включить.

Кладем koboldcpp и модель в папку без кириллицы в названии. Далее запускаем koboldcpp, появится лончер с настройками.

Все можно быстро настроить в Quick Launch, в остальные вкладки лезть необязательно<br />
Все можно быстро настроить в Quick Launch, в остальные вкладки лезть необязательно

По умолчанию koboldcpp использует пресет OpenBLAS, т. е. нейросетка будет вертеться только на процессоре. Можно поставить CuBLAS (для видюх Nvidia) или CLBlast (универсальный, с моей рыксой 570-4 работает и дает ощутимый буст производительности) и переложить часть нагрузки на видюху, также можно подобрать значение GPU Layers (примеры есть в https://github.com/LostRuins/koboldcpp/wiki, для 6-гиговой RTX 2060 в модели Llama 13B дают значение 18 слоев). Я просто включил CLBlast (Нужно указать GPU ID). Также Threads ставим равным кол-ву ядер процессора и ставим галки "Launch Browser" и "High Priority". В Model выбираем файл с моделью. Кнопки Save и Load сохраняют и загружают конфиг соответственно. Жмем Launch.

Интерфейс, через который будем говорить с богом-машиной<br />
Интерфейс, через который будем говорить с богом-машиной

Появится окно браузера с KoboldAI Lite - интерфейсом для общения с нейросетью. Здесь нам нужна кнопка Scenarios.

В Scenarios доступно много разного, от простого чата...
В Scenarios доступно много разного, от простого чата...
до адвенчуры про центуриона Фабия, сопровождающего Юлия Цезаря в походе на Рим в 49 году до н. э.<br />
до адвенчуры про центуриона Фабия, сопровождающего Юлия Цезаря в походе на Рим в 49 году до н. э.

Для простой адвенчуры выбираем New Adventure (далее на скринах мои сообщения выделены зеленым, ответы нейросетки белые):

Даем нейросети немного контекста...
Даем нейросети немного контекста...
И проверяем, что она о нас запомнила. Нейросеть понимает обычный человеческий язык, если таким можно назвать мой английский.
И проверяем, что она о нас запомнила. Нейросеть понимает обычный человеческий язык, если таким можно назвать мой английский.
Идем в Уотердип. Но сначала пиво.
Идем в Уотердип. Но сначала пиво.
Нейросеть плохо считает, за деньгами нужно следить внимательнее
Нейросеть плохо считает, за деньгами нужно следить внимательнее
Попытка спьяну обокрасть торговцев провалена, но кинжал оказался убедительным аргументом.<br />
Попытка спьяну обокрасть торговцев провалена, но кинжал оказался убедительным аргументом.
Теперь мы поплывем в Уотердип с ними на лодке. Какие милахи.
Теперь мы поплывем в Уотердип с ними на лодке. Какие милахи.

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

SillyTavern

Как я уже писал, прекрасный инструмент для ролеплея, удобный и все такое, но чтобы пользоваться им, нужно порыться в гайде. Для работы с ним запускаем koboldcpp, сняв галку с Launch Browser. Koboldcpp по умолчанию использует порт 5001, в то время как SillyTavern слушает порт 5000. Меняем во вкладке с розеткой на 5001.

AI Dungeon дома
Серафина - один из предустановленных персонажей, с которым можно поролеплеить. Есть еще Coding Sensei и Flux the Cat.<br />
Серафина - один из предустановленных персонажей, с которым можно поролеплеить. Есть еще Coding Sensei и Flux the Cat.

Заключение

Штука весьма интересная, мне лично зашла, но есть одна проблема - производительность. На пресете OpenBLAS, который стоит по умолчанию и использует только CPU, после нескольких ходов на моем i5 8500 время ответа от нейросети увеличивается до 100-130 секунд (оно показано в KoboldAI Lite в самой нижней строке, которая "Last request served..."), при этом нейросеть довольно ощутимо ебет проц, даже кулер разгоняется. На CLBlast в среднем где-то 70-90 секунд и нагрузка именно на проц пониже. На более новом железе и с хорошей видюхой, на которую можно переложить часть слоев, все это будет намного быстрее, к тому же можно пробовать уже более совершенные модели, чем q4_0.

2626
19 комментариев

Фу, англехский

6
Ответить

В SillyTavern есть машинный перевод диалогов на русский. И интерфейс на русском, по большей части

6
Ответить

@Mao привет

5
Ответить

Дочитала, прикольно. Шустро ты со всем разобрался (ну или разобрался настолько чтобы этого хватило для запуска)
У меня был неудачный опыт с этой темой после поста про character, там Мариса (вроде) дала мне ссылки на на подобное и одна была посвящена Sally tavern. Как бы объяснить, мне немного понимая системы не хватило чтобы понять почему после установки таверны у меня ничего не хотело запускаться и настраиваться. Пришлось лезть в оф фак таверны, где уже там меня лицом ткнули что это просто интерфейс и нужна модель для того чтоб работало. В итоге после нескольких часов танцев с бубном вокруг таверны я решила временно забить на это дело. Но чувствую если что,буду тебя аккуратно тыкать.

4
Ответить

О, контент подвезли~

4
Ответить

В телеге есть что-то подобное?

4
Ответить

Не знаю насчет именно телеги, есть просто онлайновый AI Dungeon

5
Ответить