{"id":3966,"url":"\/distributions\/3966\/click?bit=1&hash=5985253e0642d7f46a80aab3de40fdb82177693e630ceca3b6d2fbb1229e14c8","title":"\u0427\u0442\u043e \u043f\u043e\u0434 \u043a\u0430\u043f\u043e\u0442\u043e\u043c \u00ab\u0412\u041a\u043e\u043d\u0442\u0430\u043a\u0442\u0435\u00bb \u2014 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043b\u0438\u0447\u043d\u043e CTO","buttonText":"\u0418\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e","imageUuid":"4ff989b3-22e8-5296-a1f9-0451c0fb663b","isPaidAndBannersEnabled":false}

Обновление текстового приключения Gamio. Дальнейшие планы по развитию

Буквально на днях я открыл сервис gamio.ru, текстовое приключение с искусственным интеллектом gameGPT.

За это время на сайте поиграли свыше 300 человек, сделав 700 ходов.

Это рекорд, по сравнению с самой первой попыткой создать подобную штуку.

Проанализировав игры на Gamio и прочитав комментарии к постам, я выявил две основные проблемы: медлительность и многочисленные повторы слов. В текущем посте я чуть-чуть углублюсь в технические моменты и расскажу, как я решил данные проблемы.

Новое представление нейросети

В этот раз я решил конвертировать модель из Tensorflow-формата в PyTorch. Тем самым я сэкономил 3 гб дискового пространства и ускорил её в 1,5 раза!

Из-за нового формата появились фатальные проблемы. Но я сумел подобрать такие параметры, что PyTorch версия стала горазда лучше, чем было ранее, так и ещё избежал многочисленных повторов слов.

repetition_penalty=2.0, temperature=0.9, top_p=0.95, top_k=50
  • repetition_penalty — отвечает за повторения текста. Ранее этого параметра не было
  • temperature — общая активность нейросети (от 0 до 1). Отвечает за насыщенность и кол-во событий в игре. Ранее было 0.4

gameGPT опубликован в открытый доступ всем желающим.

Что же дальше?

А дальше вы заходите на gamio.ru и делитесь своим мнением в комментариях под постом!

Ладно, далее я планирую завершить работу над открытой, локальной версией Gamio, чтобы любой желающий смог поиграть в текстовое приключение на своём компьютере и не зависеть от Gamio.ru. Это произойдет совершенно скоро.

Спасибо :)

0
15 комментариев
Написать комментарий...
Dekin Tim

Стою на дороге я в лыжи обутый.

подумать не ебанутый ли я?

Я не знаю, что об этом думать... но, может быть, это не столько меня, сколько мой разум и как ты попал туда своими собственными руками!

проверить едут ли лыжи

Я смотрю на них снова; они все еще в хорошем состоянии для пары лыжных ботинок, которые, вероятно, использовались один или два раза до того, как их выбросили несколько лет назад (а затем никогда не надевали с тех пор).

***

А неплохо так!

Ответить
Развернуть ветку
0x7o
Автор

Не "проверить едут ли лыжи"
А "Ты проверяешь, едут ли лыжи"
Так нейросети более понятно :)

Ответить
Развернуть ветку
Dekin Tim

Понял :) У меня тут infocom рефлексы, сорри :)

Ответить
Развернуть ветку
Lev Shokhirev

Автор молодец, что развивает русскоязычные варианты таких штук.

Кому интересно, аналогичные "игры" на английском:
https://play.aidungeon.io/
https://novelai.net/
https://writeholo.com/

https://henk.tech/colabkobold - "локальный" и бесплатный вариант в виде ipynb для запуска на мощностях Google Colab

Используемые в них модели имеют гораздо бОльшее количество параметров (от 6 до 170 миллиардов в отличие от 1.5 миллиарда у местной GPT-2 XL), что положительно сказывается на осмысленности текста. Но - да, только английский, увы.

Последние 3 не ориентированы строго на игровой контент. И позволяют просто сочинять тексты и истории на любую тематику.

Ответить
Развернуть ветку
0x7o
Автор

Спасибо :) На aidungeon более умные модели - платные.

Ответить
Развернуть ветку
Lev Shokhirev

Да, чем больше параметров, тем более прожорливы в плане ресурсов модели, увы. Но бесплатный Griffin на основе GPT-J 6b в AID вполне себе неплох. И в целом считается более прогрессивным, чем GPT-2

Ответить
Развернуть ветку
0x7o
Автор

Да, у меня в распоряжении имеются модели большего размера (GPT-neo), но "впихнуть" их на мой текущий сервер не удалось. Думаю что при выпуске локальной версии Gamio, я добавлю поддержку более умных моделей.

Ответить
Развернуть ветку
dimsa

Я честно пытался пару дней поиграть, когда вспоминал, что играю. Но в тот момент, когда ответы перестают быть адекватными, начинаешь просто всякую чушь писать. https://gamio.ru/game/?key=WDBU8CxnvDhhr0h2h0Pl И я еще поправлял ответы.

Ответить
Развернуть ветку
0x7o
Автор

Вы играли со старой версией. Создайте новую игру, я уверен, результат будет лучше. :)

Ответить
Развернуть ветку
dimsa

Начал новую игру, но с теми же фразами) Проведу эксперимент.

Ответить
Развернуть ветку
0x7o
Автор

Поделитесь потом впечатлениями! Мне интересно

Ответить
Развернуть ветку
dimsa

Игра стала работать заметно быстрее. Ощущение, что сеть просто смотрит, какая фраза далее наиболее вероятна, как например делается генератор названия покемонов. И сильно заметно, что контекст не учитывается. Я не смотрел код, но если неявно передавать на вход новую фразу и все старые, не будет ли результат лучше? https://gamio.ru/game/?key=fOvkwFX0KqQ9PasZ9VlW

Ответить
Развернуть ветку
0x7o
Автор

На вход подаётся история со всеми старыми и новыми действиями. Это та же нейросеть, как и раньше, но с другой архитектурой. Я попробую "поиграться" с параметрами и выявить лучшие.

Ответить
Развернуть ветку
dimsa

А можно еще тогда реквест. Опять же, если это есть, то сорри. Можно как-то отображать прогресс по игре? Ну т.е. игру хочется пройти, и если бы было видно изменение прогресса после каждого действия, был бы какой-то стимул играть. Не о чем можно и с Алисой поговорить (Кроме ненависти это ничего не вызывает). При этом, у сети наверняка есть какая-то обучающая выборка, если это квесты, то можно было бы добавить прогресс как параметр, чтобы ближе к концу игры было ощущение, что игра правда идет к кульминации и развязке. Ну или увеличивать "температуру" событий к концу.

Ответить
Развернуть ветку
0x7o
Автор

Подкрутив параметры, я заставил нейросеть держаться контекста. Но время генерации увеличилась
https://gamio.ru/game/?key=hzHPEHHGwgEC2OKIA7es

Ответить
Развернуть ветку
Читать все 15 комментариев
null