24 декабря 2023 г. Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна.
Подробности случившегося. Мы призываем всех неравнодушных
помочь нам с восстановлением утраченного контента!
Наблюдаем, как деградирует CAI, закручивая гайки, перекатываемся с CharacterAI в PygmalionAI, делимся промптами, используем Colab, пытаемся освоиться, желаем удачи проекту, а также пытаемся загрузить модель с режимом 8-битной точности на Windows.
https://huggingface.co/PygmalionAI
Что такое PygmalionAI?
PygmalionAI - локально запускаемая нейросеть с открытым исходным кодом и она специально заточена под чатботы, которую сделали выходцы из 4chan (/vt) → (/g). Их мотивация, создать нейросеть, которая свободна от цензуры, в отличии от CharacterAI.
Основа нейросети для 6B модели - это GPT-J, которую дотренировали датасетом из дампов чатов в CharacterAI. Отличие от CharacterAI в том, что здесь нет цензуры, а также именно вы храните историю чатов, а не компания. Хоть и нейросеть в CharacterAI может быть более умной, но цензура делает её глупее и безынициативной, а также удаляет наиболее креативные и эмоциональные сообщения. Отличие обычной версии от экспериментальной в том, что в экспериментальной разработчики вводят самые новые нововведения. Также было замечено, что экспериментальная версия пишет меньший объём текста в одном сообщении, чем в обычной. Для запуска 6B версии необходимо 16 ГБ видеопамяти и 12 ГБ оперативной памяти. Если запустить с 8-битной точностью, то требования снизятся примерно вдвое, только необходимо иметь видеокарту от Nvidia RTX20 серии. Можно писать боту на русском языке, но это выйдет хуже, чем на CharacterAI.
Нативный PygmalionAI Colab: https://colab.research.google.com/github/PygmalionAI/gradio-ui/blob/master/notebooks/GPU.ipynb
GUI для PygmalionAI:
1.Text generation web UI - попытка сделать что-то похожее на интерфейс для Stable Diffusion от AUTOMATIC1111, только для генерации текста. Поддерживает режим загрузки с 8-битной точностью, можно создать в текстовом файле свой пресет настроек, также возможно запустить в схожем с CharacterAI интерфейсе. В Колабе выбираем Pygmalion 6B-original. Теперь поддерживает скрипты на Python, в папке "extensions" стоит скрипт на гугл переводчик. Теперь может импортировать промпты с TavernAI. https://github.com/oobabooga/text-generation-webui
Colab: https://colab.research.google.com/github/oobabooga/AI-Notebooks/blob/main/Colab-TextGen-GPU.ipynb
Также автор данного интерфейса рекомендует использовать PygmalionAI 6B с самым первым коммитом: https://huggingface.co/PygmalionAI/pygmalion-6b/tree/b8344bb4eb76a437797ad3b19420a13922aaabe1
2. TavernAI - фронтэнд над PygmalionAi, который взаимодействует с API KoboldAI. Форматирует тексты в чате, используя свой стиль, при этом полностью поддерживает PygmalionAI. Использует более другой от PygmalionAI и KoboldAI форматирование разметки чатов и персонажей в файле. С версией 1.2 позволяет нативно конвертировать дампы чатов с Character AI, однако из-за того, что все истории общения с персонажами хранятся в одном файле, а не в разных, TavernAI будет воспринимать только последний чат с ботом в CAI. При этом позволяет редактировать текст, что схоже с KoboldAI, когда такой функции нет у интерфейсов на основе Gradio. https://github.com/TavernAI/TavernAI
Colab: https://colab.research.google.com/github/TavernAI/TavernAI/blob/main/colab/GPU.ipynb
3. KoboldAI - самый известный интерфейс, который пришёл со времён AI Dungeon. Не поддерживает в полной мере форматирование текста, как в PygmalionAI, однако его API использует PygmalionAI. У KoboldAI более другой формат, который сохраняет персонажей и чат в один файл, нежели у PygmalionAI и TavernAI. В Колабе выбираем PygmalionAI. При сохранении, необходимо сохранять в расширении "*.json". https://github.com/KoboldAI/KoboldAI-Client Colab
KoboldAI GPU: https://colab.research.google.com/github/koboldai/KoboldAI-Client/blob/main/colab/GPU.ipynb
Colab KoboldAI TPU (мест может нехватать так, что лучше использовать GPU): https://colab.research.google.com/github/KoboldAI/KoboldAI-Client/blob/main/colab/TPU.ipynb
Советы:
Рекомендуется использовать в качестве имени своего персонажа - You. Потому, что в тексте PygmalionAI идет смещение в сторону второго лица.
Возможно использовать псевдоязык W++ для описания персонажа. Это может повысить понимаемость текста для нейросети. https://nolialsea.github.io/Wpp/
Возможно также прописывать отдельных персонажей или самого себя через "Your's persona:" или "Charname's persona:", но PygmalionAI их хуже держит в памяти, чем в CharacterAI.
Прописывание "World Scenario" может дать понимание персонажу, что происходит вокруг него.
Самое важное, что необходимо прописывать в PygmalionAI - это примеры диалогов и приветствие, которые формируют основное влияние на генерируемый текст вместе с параметрами.
Параметры:
"Temperature" отвечает за креативность. В случае низкого параметра, получается повторяемость. В случае высокого параметра, получается бредовость и несвязанность предложений. Рекомендуется ставить от 0.5 до 0.8.
"Repetition penalty" или же штраф за повторяемость - параметр, которая наказывает за повторяемость слов. При моделях 6B и выше, если выставить значение больше 1.2, то это может сломать модель. Рекомендуется ставить от 1.05 до 1.18.
Сэмплинг "Top-p" - отвечает за выбрасывание ненужного текста. При низких значениях, текст может стать повторяющимся и предсказуемым. Чтобы отключить эффект, нужно поставить значение к 1. Можно оставить на предустановленных 0.9, как в Pygmalion.
Сэмплинг "Top-k" - используется для очищения малого количества токенов низкой вероятности. Имеет высокую разрешительную способность. Чтобы отключить его, нужно выставить значение к 0. Можно повысить значение до 10, чтобы повысить креативность текста.
Сэмплинг "Typical p" или же "Typical" - Имеет сильное воздействие на выходе. Для того, чтобы отключить его, нужно выставить значение к 1. Изменить значение можно до 0.8, если вы желаете повысить креативность текста.
Для прописывания диалогов в PygmalionAI используется такой формат, при этом имена указываются напрямую:
Your_Waifu: Действие. Прямая речь.
You: Действие. Прямая речь.
<START> - используется, как конец диалога.
Для TavernAI используется практически стиль диалогов CharacterAI, за исключением того, что вместо {{END_OF_DIALOG}} нужно прописывать <START>.
Полезные ссылки:
Промпты от анонов с 2ch: https://rentry.org/2ch-pygmaprompts
Гайды по установке интерфейсов: https://rentry.org/pygmai-guifaq
Discord, как альтернативный ресурс для промптов:
https://discord.gg/pygmalionai
Создание персонажей для PygmalionAI: https://oobabooga.github.io/character-creator.html
Поделиться собственным промптом персонажа: https://catbox.moe
Промпты персонажей: https://rentry.org/pygbotprompts - не поддерживается
FAQ от разработчиков: https://rentry.org/pygmalion-ai
Сайт с промптами персонажей: https://botprompts.net/
Советы по промпту: https://rentry.org/PygTips
Помочь разработчикам: https://github.com/PygmalionAI https://matrix.to/#/#waifu-ai-collaboration-hub:halogen.city?via=halogen.city
Отправить свой дамп из CharacterAI на датасет: https://dump.nopanda.io/
Карточки для TavernAI: https://booru.plus/+pygmalion
Скрипт, который позволяет скачать чаты с персонажами: https://github.com/0x000011b/characterai-dumper
Скрипт, который позволяет конвертировать историю чатов с формата CharacterAI на формат PygmalionAI: https://files.catbox.moe/jv54ev.py - Необходимо перетащить файл на скрипт. При этом скрипт сделает несколько чатов и скопирует описание персонажа, а точнее его "Long Description" с Character AI на формат PygmalionAI. То, что с "chatsave" - это сами чаты, а то что без него - это сам персонаж.
При отправке промпта, необходимо указывать в каком интерфейсе он может использоваться. (PygmalionAI, TavernAI, KoboldAI)