-- Обновил статью 9 Августа 2023 ---- Обсновления помечены -- В течении последнего месяца в сфере текстовых нейронок всё кипит - после слитой в сеть модели Llama, aka "ChatGPT у себя на пекарне" люди ощутили, что никакой зацензуренный OpenAI по сути им и не нужен, а хорошие по мощности нейронки можно запускать локально, имея минимум 16ГБ обычной ОЗУ и хороший процессор. Пока технические паблики только начинают отдуплять что происходит, и выкладывают какие-то протухшие гайды месячной давности, я вам закину пару вещей прямо с фронта. Я бы мог вставить сюда ссылку на репозиторий llama.cpp, который запускали чуть ли не на кофеварке, и сказать - пользуйтесь! Но как бы там ни было, это - для гиков. А у нас всё в пару кликов и без командной строки.И работать должно нормально, а не «на 4ГБ». Поэтому, вот обещанная возможность запустить хорошую модель (13B параметров) на 16ГБ обычной ОЗУ без лишних мозгоделок - koboldcpp. koboldcpp - это форк репозитория llama.cpp, с несколькими дополнениями, и в частности интегрированным интерфейсом Kobold AI Lite, позволяющим "общаться" с нейросетью в нескольких режимах, создавать персонажей, сценарии, сохранять чаты и многое другое. Скачиваем любую стабильную версию скомпилированного exe, запускаем, выбираем модель (где их взять ниже), переходим в браузер и пользуемся. Всё! Если у вас 32ГБ ОЗУ, то можно запустить и 30B модель - качество будет сильно лучше, но скорость ниже.Данный способ принимает модели в формате ggml, и не требует видеокартыP.S. Если у кого-то есть сомнения о запуске exe, то вы всегда можете проверить исходники и собрать всё самостоятельно - программа открыта. Koboldcpp UPD (09.08.2023): Теперь koboldcpp поддерживает также и разделение моделей на GPU/CPU по слоям, что означает, что вы можете перебросить некоторое количество слоёв модели на GPU, тем самым ускорив работу модели, и освободив немного ОЗУ.Так что, если у вас есть видеокарта от Nvidia, можете смело перераспределять часть нагрузки на GPU. Как это сделать: Выберите пресет CuBLAS в лаунчере, и установить кол-во слоёв, которые вы хотите выделить на видеокарту. Koboldcpp UPD (09.08.2023): Также, у кобольда появился небольшой лаунчер, скриншот которого выше. При запуске советую выставить Threads равным кол-во ядер вашего процессора, включить High Priority и Unban Tokens.Также, если вы используете модели с большим контекстом, не забудьте увеличить Context Size. Требует много VRAM, но скорость генерации выше. Запуск чуть сложнее, но также без выноса мозгов. Скачиваем вот этот репозиторий oobabooga/one-click-installers и читаем приложенные инструкции - нужно будет запустить несколько батников.К вам в ту же папку загрузится репозиторий oobabooga/text-generation-webui, и подтянет за собой все необходимые зависимости. Установка проходит чисто, используется виртуальная среда. Дальше, для запуска моделей llama на домашней видеокарте, придётся  прописать параметры запуска, а именно:Указать битность модели --wbits 4 (Все модели, что здесь указаны, работают в 4bit)И --groupsize 128, если он был указан при конвертации модели. Узнать это можно при скачивании модели - обычно это пишут.Подробнее о параметрах в репозитории  (читай UPD ниже) К сожалению, в повсеместные 8ГБ VRAM поместится только 7B модель в 4bit режиме, что по факту будет хуже модели 13B из первого способа. 13B влезет только в 16GB VRAM видеокарту.А если у вас есть 24ГБ VRAM (RTX 4090, ага), то к вам влезет даже 30B модель! Но это, конечно, меньшая часть людей. Также, есть способ разделить загруженную модель на VRAM и RAM - CPU Offloading. Для этого прописываем --pre_layer <число разделённых слоёв>, к примеру 20. Но работать возможно будет даже хуже, чем на полной загрузке в ОЗУ из первого способа.Этот способ запуска принимает модели в формате gptq. (читай UPD ниже) Интерфейс чуть менее удобен, чем в первом способе. Чуток тормозной. Единственный плюс - есть extensions, такие как встроенный Google Translate, который позволит общаться с моделью на русском языке. oobabooga - cкриншот со страницы проекта на github OOBABOOGA UPD (09.08.2023): Теперь лаунчер стал чуть проще, и никакие параметры заранее выставлять не нужно. Просто запускаете то, что установилось, и в настройках выбираете движок, на котором будет работать модель. Движков кстати добавили много, и в том числе добавили llama.cpp в этот интерфейс (Однако напомню, что весит он > 15ГБ, и если вам нужно запускать llama.cpp - лучше это делать с кобольдом). llama.cpp - если хотите запускать ggml модели на этом интерфейсе.exllama - ОЧЕНЬ быстрый движок, который позволяет запускать модели на нескольких видеокартах одновременно. Однако, на данный момент не позволяет выгружать слои моделей на CPU. Использовать только если у вас много VRAM. gptq формат.GPTQ-for-LLaMa - стандартный движок, который и был до этого. Поддерживает разделение на GPU/CPU, но медленнее чем llamacpp, если у вас мало VRAM. gptq формат.Все движки и их настройки теперь доступны через интерфейс. Из двух способов я советую использовать первый, т.к. он банально стабильнее, менее заморочен, и точно сможет запуститься у 80% пользователей.Если у вас есть крутая видюха с хотя бы 16ГБ VRAM - пробуйте запускать на втором. Сейчас есть 3 качественных модели, которые действительно имеет смысл попробовать - LLama, Alpaca и Vicuna. Llama - оригинал слитой в первые дни модели. По заявлениям синей компании, запрещённой в РФ, 13B версия в тестах равносильна ChatGPT (135B).По моим ощущениям - на 80% это может быть и правда, но и не с нашей 4bit моделью. Alpaca - дотренировка Llama на данных с инструкциями. Сделай мне то, расскажи мне это и т.д.Эта модель лучше чем LLama в чат режиме. Vicuna - дотренировка LLama прямо на диалогах с ChatGPT. Максимально похожа на ChatGPT. Есть только 13b версия, на данный момент.Подчеркну - МАКСИМАЛЬНО похожа. А значит - также как и ChatGPT процензурена. Скачать каждую из них можно вот здесь - https://huggingface.co/TheBloke (Профиль huggingface пользователя, который делает качественные кванты моделей в любом формате. Можно найти почти всё.)Обратите внимание на формат перед скачиванием - ggml или gptq. МОДЕЛИ UPD (09.08.2023):Предыдущие модели хоть и по-прежнему рабочие, но немного устарели. Появилось много новых вариантов, которые можно найти по ссылке https://huggingface.co/TheBloke Вот модели, которые, по моему мнению, лучше всего показали себя с момента публикации: Llama2 - новая, официальная, стандартная версия ллам. Умнее чем первая версия, но ещё больше цензуры. (GPTQ | GGML) Wizard-Vicuna-13B-Uncensored - Универсально-хорошая модель, которая умнее и стандартной llama, и vicuna. Расцензурена. (GPTQ | GGML) WizardLM's WizardCoder 15B  - хорошая модель для написания кода (GPTQ | GGML) Llama2 13B Orca v2 8K - хорошая roleplay модель с расширенным контекстом (модель помнит/воспринимает больше текста при общении) (GPTQ | GGML) Чтобы скачать - переходим по ссылке, потом на Files and versions.Для GGML формата просто качаем файл с припиской q5_K_M. Если таких их нет - q4_1. Это форматы квантования. В GPTQ просто так качать сложно, поэтому качаем через oobabooga -> Model -> Download custom model or LoRA -> вставляем ссылку и нажимаем Download. Оба интерфейса позовляют создавать персонажа, в роли которого будет работать AI.Поэтому, вариантов использования может быть довольно много. Пропишите персонажу, что он - AI-ассистент программист, и он будет помогать с кодом.Скажите, что он повар - и он поможет с рецептами.Скажите, что он милая девушка - и придумайте сами там что-нибудь…В общем, тут всё как с ChatGPT - взаимодействие в чате мало чем отличается. Также, в первом интерфейсе есть режимы Adventure и Story - позволяющие играть с нейросетью, или писать истории. Продвинутые же пользователи могут подключиться к API запущенных моделей, и использовать их в своих проектах. Оба интерфейса позволяют подключиться по API. SillyTavern UPD (09.08.2023):Также, для roleplay штук, советую запустить другой интерфейс - SillyTavern. Почему не писал о нём ранее - потому что это действительно только интерфейс, в котором нет движка. Для его работы нужно запускать либо koboldcpp, либо oobabooga с флагом --api.Почему он лучше для roleplay - широкая поддержка различных персонажей, в том числе от сообщества, Author's note, World Info, ПЕРЕВОД ЧАТА НА РУССКИЙ ЯЗЫК, Text-to-Speech и многое другое.Идеальная связка, по моему мнению, koboldcpp + SillyTavern. Если у вас остались какие-то вопросы - пишите мне в любом удобном для вас месте. ----> Мой только что сделанный под статью Telegram <---