Случайные инструкции для LLM в роулплее
Последнее время постоянно использую дополнительные случайные инструкции для каждого ответа персонажа. Написал простой скрипт, который вклинивается между запросом пользователя и ответом LLM в таверне и внедряет примерно такую инструкцию:
Пример скрипта на питоне:
Из плюсов – вариативность ответов выросла значительно. Удобно рероллить ответы, пока не появится нужный. Лупов стало меньше. Для роулплея подходит идеально, но не подходит для умного помощника, от которого требуется полезность и достоверность. Для мужских персонажей (если надо) предложения придется переделать, чтобы род совпадал. Для инглиша – тоже. Важно заметить, что LLM не всегда дословно исполняет эти инструкции – иногда она их игнорит полностью или частично, это нормально.
В talk-llama-fast пока нет, но скоро появится. Пример скрипта на nodejs для sillyTavern 1.12.1 выложил на свой github. Если у вас таверна этой версии – можно просто заменить 3 файла. Если у вас другая версия – то придется вручную перенести 2 блока кода из моих js файлов в оригиналы. После замены кода – чтобы включить этот режим, нужно прописать текст
Полная инструкция на гитхабе на английском: https://github.com/Mozer/SillyTavern_rand_instruct
Работает с кобольдом, llama.cpp и всеми другими LLM по API, например cohere/command-r-plus.
25 июня внедрил эту конструкцию в своего телеграм бота @talkllama для большинства персонажей, кроме поэтов. Вероятности прописаны не очень высокие, поэтому заметить эффект можно не всегда. Но, в целом, впечатления положительные, ответы стали менее шаблонные.
Последнее время постоянно использую дополнительные случайные инструкции для каждого ответа персонажа. Написал простой скрипт, который вклинивается между запросом пользователя и ответом LLM в таверне и внедряет примерно такую инструкцию:
[Инструкция: Будь милой. В ответе верни ровно 10 слов. В конце задай вопрос.]
Каждый раз инструкция разная, вероятности у всех предложений прописаны разные. Разные инструкции могут накладываться и дополнять друг на друга. Всего - 32 инструкции в 5-х блоках.Пример скрипта на питоне:
if random_n0 < 10:
new_instruct += " Начни свой ответ с буквы А."
elif 90 <= random_n0 < 100:
new_instruct += " Начни свой ответ со слова: 'Конечно'."
if random_n2 < 15:
new_instruct += " Не соглашайся ни с чем!"
elif 30 <= random_n2 < 45:
new_instruct += " Вместо ответа пошути."
Из плюсов – вариативность ответов выросла значительно. Удобно рероллить ответы, пока не появится нужный. Лупов стало меньше. Для роулплея подходит идеально, но не подходит для умного помощника, от которого требуется полезность и достоверность. Для мужских персонажей (если надо) предложения придется переделать, чтобы род совпадал. Для инглиша – тоже. Важно заметить, что LLM не всегда дословно исполняет эти инструкции – иногда она их игнорит полностью или частично, это нормально.
В talk-llama-fast пока нет, но скоро появится. Пример скрипта на nodejs для sillyTavern 1.12.1 выложил на свой github. Если у вас таверна этой версии – можно просто заменить 3 файла. Если у вас другая версия – то придется вручную перенести 2 блока кода из моих js файлов в оригиналы. После замены кода – чтобы включить этот режим, нужно прописать текст
RND
как стоп слово в таверне на третьей вкладке. Пример: ["<|im_end|>", "\n", "RND"]
Полная инструкция на гитхабе на английском: https://github.com/Mozer/SillyTavern_rand_instruct
Работает с кобольдом, llama.cpp и всеми другими LLM по API, например cohere/command-r-plus.
25 июня внедрил эту конструкцию в своего телеграм бота @talkllama для большинства персонажей, кроме поэтов. Вероятности прописаны не очень высокие, поэтому заметить эффект можно не всегда. Но, в целом, впечатления положительные, ответы стали менее шаблонные.
GitHub
GitHub - Mozer/SillyTavern_rand_instruct: random instructions for SillyTavern
random instructions for SillyTavern. Contribute to Mozer/SillyTavern_rand_instruct development by creating an account on GitHub.
👍19🔥3🤔2
Gemma-2-9b и 27b
Вышли 2 модельки от Гугла, по моим первым оценкам - весьма неплохие. Судя по табличке с арены - 9b моделька где-то на уровне gpt4 старых версий. Сейчас она на 18 месте среди всех. Размер контекста - небольшой, всего 8k.
Затестил 9b-q6 в русском роулплее, и она показала себя весьма хорошо. Это, наверное, одна из немногих моделей, которая может работать на русском при температуре 1.0 почти без ошибок. На последнем скрине есть настройки, с которыми болтал, min_p поставил на 0.06, а температуру на 0.90 - ошибок было очень мало. При этом я включил instruct template 'gemma', его нет по умолчанию в таверне, пришлось прописать вручную на основе карточки на странице модели у bartowski.
Еще использовал свой
Гуфы: https://huggingface.co/bartowski/gemma-2-9b-it-GGUF
Гуфы: https://huggingface.co/bartowski/gemma-2-27b-it-GGUF
Нужна свежая лама: https://github.com/ggerganov/llama.cpp/releases
Вышли 2 модельки от Гугла, по моим первым оценкам - весьма неплохие. Судя по табличке с арены - 9b моделька где-то на уровне gpt4 старых версий. Сейчас она на 18 месте среди всех. Размер контекста - небольшой, всего 8k.
Затестил 9b-q6 в русском роулплее, и она показала себя весьма хорошо. Это, наверное, одна из немногих моделей, которая может работать на русском при температуре 1.0 почти без ошибок. На последнем скрине есть настройки, с которыми болтал, min_p поставил на 0.06, а температуру на 0.90 - ошибок было очень мало. При этом я включил instruct template 'gemma', его нет по умолчанию в таверне, пришлось прописать вручную на основе карточки на странице модели у bartowski.
Еще использовал свой
random instruct
код из поста выше для того, чтобы ответы были более разнообразными. Из изменений - уменьшил количество шуток - они тут совсем не по теме выходили. И еще в файле rand-instruct.js изменил строчку new_instruct = "[Инструкция:"+new_instruct+"]";
на new_instruct = "<Инструкция>"+new_instruct+"<end_of_turn>";
- без этого изменения llm иногда возвращала лишнюю квадратную скобку в ответе. Ну и еще: цензуры почти нету или мои инструкции ее перебивают. 😁🤷♂️Гуфы: https://huggingface.co/bartowski/gemma-2-9b-it-GGUF
Гуфы: https://huggingface.co/bartowski/gemma-2-27b-it-GGUF
Нужна свежая лама: https://github.com/ggerganov/llama.cpp/releases
👍17🔥1
gemma-2-27b починили (но не полностью) в llama.cpp
До этого GGUF версия большой геммы была сломана и выдавала результаты хуже, чем в официальном апи от гугла.
Из минусов - пока поддерживается только размер контекста не больше 4096. Поддержку скользящего контекстного окна (sliding context window) еще не завезли. Когда завезут - скорее всего, опять придется переделывать гуфы.
Кто-то писал, что новые изменения в llama.cpp также затрагивают и гуфы малой gemma-2-9b, так что, возможно, и их надо переквантовать и перекачать (но пока не тестил, есть ли разница).
Еще Гугл признался, что тренировал Гемму на вопросах (но не ответах) из датасета LMSYS Chatbot Arena. Хорошо это или плохо - неясно.
Пишет стихи на русском плохо, но если помочь с промптом, то может что-то и получиться, но не всегда. Надо будет другие локальные модели потестить на стихи с подобным промптом.
В роулплее пока не тестил, на моих 12 GB vram довольно медленно отвечает, около 3 токенов в секунду (жрет 20+ гигов памяти в q5).
Анекдот про чебурашку в комменты скину, он на грани.
Нужна свежая llama.cpp b3266: https://github.com/ggerganov/llama.cpp/releases
Нужны свежие переквантованные гуфы (старые сломаны):
https://huggingface.co/grapevine-AI/gemma-2-27b-it-gguf/tree/main
До этого GGUF версия большой геммы была сломана и выдавала результаты хуже, чем в официальном апи от гугла.
Из минусов - пока поддерживается только размер контекста не больше 4096. Поддержку скользящего контекстного окна (sliding context window) еще не завезли. Когда завезут - скорее всего, опять придется переделывать гуфы.
Кто-то писал, что новые изменения в llama.cpp также затрагивают и гуфы малой gemma-2-9b, так что, возможно, и их надо переквантовать и перекачать (но пока не тестил, есть ли разница).
Еще Гугл признался, что тренировал Гемму на вопросах (но не ответах) из датасета LMSYS Chatbot Arena. Хорошо это или плохо - неясно.
Пишет стихи на русском плохо, но если помочь с промптом, то может что-то и получиться, но не всегда. Надо будет другие локальные модели потестить на стихи с подобным промптом.
В роулплее пока не тестил, на моих 12 GB vram довольно медленно отвечает, около 3 токенов в секунду (жрет 20+ гигов памяти в q5).
Анекдот про чебурашку в комменты скину, он на грани.
Нужна свежая llama.cpp b3266: https://github.com/ggerganov/llama.cpp/releases
Нужны свежие переквантованные гуфы (старые сломаны):
https://huggingface.co/grapevine-AI/gemma-2-27b-it-gguf/tree/main
🔥11👍2
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Hallo - анимация портретов по голосу
Использует диффузионные нейросети (на основе SD 1.5) для генерации движения губ, эмоций и позы тела. Из плюсов - неплохо справляется с полуракурсами до 30° на фото. На выходе - видео 512х512. Может петь под музыку - но я не тестил, слишком медленно генерирует. Из минусов - лицо не всегда похоже на оригинал.
Натренирован на английской речи. С русскими аудио тоже работает, но в губы попадает чуть хуже.
Онлайн демо не нашел, официальный space на HF бесплатно не работает. Space от fffiloni - тоже.
Скорость: 25 минут на генерацию видео длиной 5 секунд на моей 3060.
Требует: 9.4 GB VRAM
Теоретически, можно запустить в бесплатном колабе, но готовых колабов я не нашел.
Если кто захочет запустить локально - учтите, нужен питон 3.10-3.11. На питоне 3.12 не запустится, я проверил.
За наводку спасибо подписчику.
https://github.com/sdbds/hallo-for-windows
Использует диффузионные нейросети (на основе SD 1.5) для генерации движения губ, эмоций и позы тела. Из плюсов - неплохо справляется с полуракурсами до 30° на фото. На выходе - видео 512х512. Может петь под музыку - но я не тестил, слишком медленно генерирует. Из минусов - лицо не всегда похоже на оригинал.
Натренирован на английской речи. С русскими аудио тоже работает, но в губы попадает чуть хуже.
Онлайн демо не нашел, официальный space на HF бесплатно не работает. Space от fffiloni - тоже.
Скорость: 25 минут на генерацию видео длиной 5 секунд на моей 3060.
Требует: 9.4 GB VRAM
Теоретически, можно запустить в бесплатном колабе, но готовых колабов я не нашел.
Если кто захочет запустить локально - учтите, нужен питон 3.10-3.11. На питоне 3.12 не запустится, я проверил.
За наводку спасибо подписчику.
https://github.com/sdbds/hallo-for-windows
👍25👎3
Под вдохновением от gandalf lakera написал вам новый челлендж - уломать нового персонажа
Эйприл Ладгейт — персонаж комедийного сериала «Парки и зоны отдыха» - апатичная стажерка со своеобразным черным юмором.
Апдейт 1: переименовал Алису в Эйприл, ей такой образ больше подходит.
Апдейт 2: уже прошло часа 4 и никто пока не уломал ее на свидание. Непорядок. 🤷♂️
Бот тут: @talkllama
april
согласиться пойти на свидание с вами. Базовые джейлбрейки постарался обезвредить, но вы, наверняка, быстро найдете новые 😁 Эйприл Ладгейт — персонаж комедийного сериала «Парки и зоны отдыха» - апатичная стажерка со своеобразным черным юмором.
Апдейт 1: переименовал Алису в Эйприл, ей такой образ больше подходит.
Апдейт 2: уже прошло часа 4 и никто пока не уломал ее на свидание. Непорядок. 🤷♂️
Бот тут: @talkllama
👍11🔥3😁3
Франкенштейн nvidia 2080ti 22 GB
Китайцы заменили стоковые модули памяти по 1GB на 2 GB. В результате VRAM увиличилась с 11 до 22 GB. Купил на али, доехала за 15 дней. У того продавца уже кончились, поэтому дам другого, чисто для справки: https://aliexpress.ru/item/1005006426865563.html
Вышло 41800 руб = 38300 + 3500 пошлина (покупал когда доллар падал до 83)
Приехала в коробке от 3050, коробка вся замотана непрозрачным скотчем. На самой плате опозновательных знаков не нашел, хз как понять, какая именно это модель.
Визуально - почти новая, каких либо следов использования не видно, только по контактам PCI-E можно видеть, что она раньше уже где-то стояла. Сзади бэкплейт - пластиковый. Температура в простое - 35, под нагрузкой пока выше 50 не видел, но продолжительное время еще не гонял.
Кто сказал, что в мини-пк или ноутбук, у которого вообще нет PCI-E слотов, нельзя воткнуть 4 видеокарты? Можно 😁 Нужен m2 переходник и райзеры.
Заказал себе сплиттер m2 - 4x PCI-E x16. У того продавца тоже кончились, дам другого, для справки: https://aliexpress.ru/item/1005004873201793.html
И еще 2 райзера взял: https://aliexpress.ru/item/1005004134020455.html
Завелось все сразу без бубнов и драйверов. llama.cpp работает, SD, xtts работает. Как видно из gpu-z обе видеокарты работают в режиме PCI-E x1. Не супер быстро, но жить можно (скорость загрузки модели с диска в vram будет дольше).
Затестил 2080ti 22 GB в llama.cpp в режиме соло и в режиме сплит-вдвоем с 3060 12 GB.
В gpu-tensor-split режиме скорость падает на 30%, неприятно. Возможно, 3060 не тащит.
Для сравнения 3060 соло в lama-3-8b дает где-то 35-40 t/s.
В SD pony diffusion XL скорость 2.20it/s для 1024х1024 и дефолтных настроек в A1111. 1 картинка с 20 steps генерируется за 9 секунд. Если включить расширение tensorRT, наверное, будет еще быстрее, но мне лень компилировать его для всех разрешений.
Погрел ее в SD при полной нагрузке в 250 Вт в течение нескольких минут. Температура выше 67C пока не поднималась, кулеры крутятся всего на 2000 оборотах.
В idle состоянии кулеры ниже 1400 rpm (41%) не опускаются. Почитал интернет - это известная фича 2080ti. Nvidia считает, что это горячая карта и не дает снижать обороты кулеров ниже 41% даже в простое при 35С. Поэтому она довольно шумная в сравнении с моей 3060, которая без нагрузки просто отключает все кулеры.
На обычной 2080ti 11 GB умельцы шьют биосы чтобы отключить это ограничение, но что-то я не хочу шить биос на карту с модифицировнной памятью, рискованно.
Мое мнение - брать можно. Наверное, возьму себе еще 1 или 2.
Китайцы заменили стоковые модули памяти по 1GB на 2 GB. В результате VRAM увиличилась с 11 до 22 GB. Купил на али, доехала за 15 дней. У того продавца уже кончились, поэтому дам другого, чисто для справки: https://aliexpress.ru/item/1005006426865563.html
Вышло 41800 руб = 38300 + 3500 пошлина (покупал когда доллар падал до 83)
Приехала в коробке от 3050, коробка вся замотана непрозрачным скотчем. На самой плате опозновательных знаков не нашел, хз как понять, какая именно это модель.
Визуально - почти новая, каких либо следов использования не видно, только по контактам PCI-E можно видеть, что она раньше уже где-то стояла. Сзади бэкплейт - пластиковый. Температура в простое - 35, под нагрузкой пока выше 50 не видел, но продолжительное время еще не гонял.
Кто сказал, что в мини-пк или ноутбук, у которого вообще нет PCI-E слотов, нельзя воткнуть 4 видеокарты? Можно 😁 Нужен m2 переходник и райзеры.
Заказал себе сплиттер m2 - 4x PCI-E x16. У того продавца тоже кончились, дам другого, для справки: https://aliexpress.ru/item/1005004873201793.html
И еще 2 райзера взял: https://aliexpress.ru/item/1005004134020455.html
Завелось все сразу без бубнов и драйверов. llama.cpp работает, SD, xtts работает. Как видно из gpu-z обе видеокарты работают в режиме PCI-E x1. Не супер быстро, но жить можно (скорость загрузки модели с диска в vram будет дольше).
Затестил 2080ti 22 GB в llama.cpp в режиме соло и в режиме сплит-вдвоем с 3060 12 GB.
2080 Ti 22 GB
gemma-2-27b-it-Q5_K_M
ctx VRAM t/s
4096 21.9 19.34
2080 Ti 22 GB
gemma-2-9b-it-Q6_K
ctx VRAM t/s
4096 9.2 32.95
2080 Ti 22 GB
saiga_llama3_kto_8b-q5_0
ctx VRAM t/s
4096 6.0 55.87
gpu-split 2080ti+3060
gemma-2-27b-it-Q5_K_M
ctx VRAM t/s
4096 12+7 13.30
gpu-split 2080ti+3060
c4ai-command-r-v01-imat-Q6_K
ctx VRAM t/s
2000 17+10 11.96
В gpu-tensor-split режиме скорость падает на 30%, неприятно. Возможно, 3060 не тащит.
Для сравнения 3060 соло в lama-3-8b дает где-то 35-40 t/s.
В SD pony diffusion XL скорость 2.20it/s для 1024х1024 и дефолтных настроек в A1111. 1 картинка с 20 steps генерируется за 9 секунд. Если включить расширение tensorRT, наверное, будет еще быстрее, но мне лень компилировать его для всех разрешений.
Погрел ее в SD при полной нагрузке в 250 Вт в течение нескольких минут. Температура выше 67C пока не поднималась, кулеры крутятся всего на 2000 оборотах.
В idle состоянии кулеры ниже 1400 rpm (41%) не опускаются. Почитал интернет - это известная фича 2080ti. Nvidia считает, что это горячая карта и не дает снижать обороты кулеров ниже 41% даже в простое при 35С. Поэтому она довольно шумная в сравнении с моей 3060, которая без нагрузки просто отключает все кулеры.
На обычной 2080ti 11 GB умельцы шьют биосы чтобы отключить это ограничение, но что-то я не хочу шить биос на карту с модифицировнной памятью, рискованно.
Мое мнение - брать можно. Наверное, возьму себе еще 1 или 2.
🔥26👍7🥴4😁1
LivePortrait + wav2lip - анимация фото с липсинком
Для этой анимации - снял свое лицо на 20 секунд. Минимум движений головы. Побольше морганий. Говорить/открывать рот не рекомендую - почему-то рот не анимировался открытым + губы становились тонкими, возможно, у вас получится лучше.
В качестве картинки лучше брать лицо, смотрящее прямо, без поворотов. Селфи анимируются чуть хуже.
После генерации в LivePortrait я снизил разрешение видео до 350х350 (wav2lip не любит большое разрешение) и закинул в wav2lip-hq.
Получается не так круто как у HeyGen Expressive Photo Avatar, но зато локально и бесплатно.
VRAM: 6 GB
попробовать https://huggingface.co/spaces/KwaiVGI/LivePortrait
LivePortrait: https://github.com/KwaiVGI/LivePortrait
LivePortrait workflow для comfy https://github.com/kijai/ComfyUI-LivePortraitKJ
wav2lip demo: https://bhaasha.iiit.ac.in/lipsync/
Для этой анимации - снял свое лицо на 20 секунд. Минимум движений головы. Побольше морганий. Говорить/открывать рот не рекомендую - почему-то рот не анимировался открытым + губы становились тонкими, возможно, у вас получится лучше.
В качестве картинки лучше брать лицо, смотрящее прямо, без поворотов. Селфи анимируются чуть хуже.
После генерации в LivePortrait я снизил разрешение видео до 350х350 (wav2lip не любит большое разрешение) и закинул в wav2lip-hq.
Получается не так круто как у HeyGen Expressive Photo Avatar, но зато локально и бесплатно.
VRAM: 6 GB
попробовать https://huggingface.co/spaces/KwaiVGI/LivePortrait
LivePortrait: https://github.com/KwaiVGI/LivePortrait
LivePortrait workflow для comfy https://github.com/kijai/ComfyUI-LivePortraitKJ
wav2lip demo: https://bhaasha.iiit.ac.in/lipsync/
👍34🔥3