Запуск аналогов ChatGPT на домашнем ПК в пару кликов и с интерфейсом

в 9:29, , рубрики: alpaca, chatgpt, koboldai, llama, text generation, искусственный интеллект, машинное обучение, нейросеть, нейросеть локально

В течении последнего месяца в сфере текстовых нейронок всё кипит - после слитой в сеть модели Llamaaka "ChatGPT у себя на пекарне" люди ощутили, что никакой зацензуренный OpenAI по сути им и не нужен, а хорошие по мощности нейронки можно запускать локально, имея минимум 16ГБ обычной ОЗУ и хороший процессор.

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

Где запускать?

Способ первый - на процессоре

Я бы мог вставить сюда ссылку на репозиторий llama.cpp, который запускали чуть ли не на кофеварке, и сказать - пользуйтесь!

Но как бы там ни было, это - для гиков. А у нас всё в пару кликов и без командной строки.
И работать должно нормально, а не «на 4ГБ».

Поэтому, вот обещанная возможность запустить хорошую модель (13B параметров) на 16ГБ обычной ОЗУ без лишних мозгоделок - koboldcpp.

koboldcpp - это форк репозитория llama.cpp, с несколькими дополнениями, и в частности интегрированным интерфейсом Kobold AI Lite, позволяющим "общаться" с нейросетью в нескольких режимах, создавать персонажей, сценарии, сохранять чаты и многое другое.

Скачиваем любую стабильную версию скомпилированного exe, запускаем, выбираем модель (где их взять ниже), переходим в браузер и пользуемся. Всё!

Если у вас 32ГБ ОЗУ, то можно запустить и 30B модель - качество будет сильно лучше, но скорость ниже.

Данный способ принимает модели в формате ggml, и не требует видеокарты

P.S. Если у кого-то есть сомнения о запуске exe, то вы всегда можете проверить исходники и собрать всё самостоятельно - программа открыта.

Kobold AI Lite, Alpaca 13B. Ни одна собака не пострадала.

Kobold AI Lite, Alpaca 13B. Ни одна собака не пострадала.

Способ второй - запускать на видеокарте

Требует много VRAM, но скорость генерации выше. Запуск чуть сложнее, но также без выноса мозгов.

Скачиваем вот этот репозиторий oobabooga/one-click-installers и читаем приложенные инструкции - нужно будет запустить несколько батников.
К вам в ту же папку загрузится репозиторий oobabooga/text-generation-webui, и подтянет за собой все необходимые зависимости. Установка проходит чисто, используется виртуальная среда.

Дальше, для запуска моделей llama на домашней видеокарте, придётся прописать параметры запуска, а именно:
Указать битность модели --wbits 4 (Все модели, что здесь указаны, работают в 4bit)
И --groupsize 128, если он был указан при конвертации модели. Узнать это можно при скачивании модели - обычно это пишут.
Подробнее о параметрах в репозитории

К сожалению, в повсеместные 8ГБ VRAM поместится только 7B модель в 4bit режиме, что по факту будет хуже модели 13B из первого способа. 13B влезет только в 16GB VRAM видеокарту.
А если у вас есть 24ГБ VRAM (RTX 4090, ага), то к вам влезет даже 30B модель! Но это, конечно, меньшая часть людей.

Также, есть способ разделить загруженную модель на VRAM и RAM - CPU Offloading. Для этого прописываем --pre_layer <число разделённых слоёв>, к примеру 20. Но работать возможно будет даже хуже, чем на полной загрузке в ОЗУ из первого способа.

Этот способ запуска принимает модели в формате gptq.

Интерфейс чуть менее удобен и функционален, чем в первом способе. Чуток тормозной. Единственный плюс - есть extensions, такие как встроенный Google Translate, который позволит общаться с моделью на русском языке.

oobabooga - cкриншот со страницы проекта на github

oobabooga - cкриншот со страницы проекта на github

Из двух способов я советую использовать первый, т.к. он банально стабильнее, менее заморочен, и точно сможет запуститься у 80% пользователей.
Если у вас есть крутая видюха с хотя бы 16ГБ VRAM - пробуйте запускать на втором.

Где брать модели?

Сейчас есть 3 качественных модели, которые действительно имеет смысл попробовать - LLama, Alpaca и Vicuna.

Llama - оригинал слитой в первые дни модели. По заявлениям синей компании, запрещённой в РФ, 13B версия в тестах равносильна ChatGPT (135B).
По моим ощущениям - на 80% это может быть и правда, но и не с нашей 4bit моделью.

Alpaca - дотренировка Llama на данных с инструкциями. Сделай мне то, расскажи мне это и т.д.
Эта модель лучше чем LLama в чат режиме.

Vicuna - дотренировка LLama прямо на диалогах с ChatGPT. Максимально похожа на ChatGPT. Есть только 13b версия, на данный момент.
Подчеркну - МАКСИМАЛЬНО похожа. А значит - также как и ChatGPT процензурена.

Скачать каждую из них можно вот здесь - https://rentry.org/nur779
Обратите внимание на формат перед скачиванием - ggml или gptq.

Конкретно я советую в данный момент использовать Alpaca. В ней всё адекватно с цензурой, она есть в 30B, и прекрасно умеет чатиться.

Варианты использования?

Оба интерфейса позовляют создавать персонажа, в роли которого будет работать AI.
Поэтому, вариантов использования может быть довольно много.

Пропишите персонажу, что он - AI-ассистент программист, и он будет помогать с кодом.
Скажите, что он повар - и он поможет с рецептами.
Скажите, что он милая девушка - и придумайте сами там что-нибудь…
В общем, тут всё как с ChatGPT - взаимодействие в чате мало чем отличается.

Также, в первом интерфейсе есть режимы Adventure и Story - позволяющие играть с нейросетью, или писать истории.

Продвинутые же пользователи могут подключиться к API запущенных моделей, и использовать их в своих проектах. Оба интерфейса позволяют подключиться по API.

Если у вас остались какие-то вопросы - пишите мне в любом удобном для вас месте.

Мой только что сделанный под статью Telegram

Автор: Алексей

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js