Как запустить ИИ, похожий на ChatGPT, на собственном ПК

Опубликовано: 2023-04-06
Дружелюбная альпака, созданная MidJourney.
Середина пути
Вы можете запустить ИИ, похожий на ChatGPT, на своем ПК с помощью Alpaca, чат-бота, созданного исследователями из Стэнфорда. Он поддерживает Windows, macOS и Linux. Вам просто нужно не менее 8 ГБ ОЗУ и около 30 ГБ свободного места на диске.

Чат-боты сейчас в моде, и каждый хочет участвовать в этом. У Google есть Bard, у Microsoft есть Bing Chat, а ChatGPT от OpenAI на данный момент практически синоним ИИ. Но что, если вы не хотите полагаться на облачный сервис для своего чат-бота? У нас есть ИИ, похожий на ChatGPT, который вы можете скачать — Alpaca.

Оглавление

Что такое альпака?
Чем Alpaca отличается от ChatGPT?
Что нужно для запуска альпаки?
Как запустить Alpaca локально на вашем ПК
Установите подсистему Windows для Linux 2
Установить Докер
Установите GIT в Windows
Установить Сержа и Альпаку
Используйте Сержа и Альпаку

Что такое альпака?

Alpaca — это языковая модель (по сути, чат-бот), очень похожая на ChatGPT. Он способен отвечать на вопросы, рассуждать, рассказывать анекдоты и почти все, что мы привыкли ожидать от чат-ботов. Альпака была создана исследователями из Стэнфорда путем тонкой настройки LLaMA Facebook.

В отличие от ChatGPT и большинства других чат-ботов, доступных сегодня, Alpaca полностью работает на вашем ПК. Это означает, что никто не может следить за вашими разговорами или тем, что вы спрашиваете у Альпаки, и ваши обмены также не могут быть случайно утекли. Это также означает, что вам не нужно платить ежемесячную плату, вы можете дополнительно обучать модель, чтобы она лучше соответствовала вашим потребностям, если у вас есть оборудование, и вы можете интегрировать ее в любое приложение, какое захотите. Вы ограничены только вашим оборудованием и вашими навыками программирования.

Тем не менее, он также прекрасно работает как обычный старый чат-бот, с которым вы можете поговорить, и мы собираемся показать вам, как запустить его практически на любом ПК.

Чем Alpaca отличается от ChatGPT?

Мы просто уберем это с пути: ChatGPT, особенно ChatGPT, работающий с GPT-4, на данный момент умнее и быстрее, чем Alpaca.

Скорость Alpaca в основном ограничена компьютером, на котором она работает — если у вас есть невероятно быстрый игровой ПК с кучей ядер и большим количеством оперативной памяти, вы получите от него хорошую производительность. Более медленным ПК с меньшим количеством ядер потребуется больше времени для генерации ответов. Конечно, сравнивать его с ChatGPT в этом отношении не совсем справедливо и даже неразумно — мы не знаем, на каком компьютере работает ChatGPT, но он, безусловно, мощнее обычного настольного ПК.

В настоящее время существует три основных варианта Alpaca: 7B, 13B и 30B. Вообще говоря, чем больше число, тем умнее будет чат-бот.

Alpaca, особенно модель 7B, заметно «тупее» ChatGPT. Он также не рассуждает и уж точно не пройдет тест Тьюринга. Однако 7B по-прежнему хорош, если вам нужен рецепт рецепта.

Совсем другая история с моделями 13B и 30B. 13B способен вести связную человеческую беседу и может отвечать на сложные вопросы. 30B еще более впечатляет, если у вас есть аппаратное обеспечение для его запуска и он находится в пределах досягаемости от ChatGPT. Он будет рассуждать философски или шутить, не пропуская ни секунды, если будет подсказка.

Что нужно для запуска альпаки?

У Alpaca довольно гибкие системные требования. Эти рекомендации превышают необходимый минимум, но являются хорошими рекомендациями. Мы также собираемся установить это на Windows. Если вы устанавливаете это в системе под управлением Linux или macOS, просто пропустите раздел «Подсистема Windows для Linux» — он вам не важен.

  • 16 ГБ оперативной памяти
    • 32 ГБ лучше и необходимы, если вы хотите запустить модель 30B.
  • 35 ГБ памяти на SSD, если вам нужны все три модели.
    • 4 ГБ для модели 7B, 8 ГБ для модели 13B и 20 ГБ для модели 30B.
    • 500 МБ для Ubuntu по умолчанию с WSL2
    • Еще несколько ГБ между другими зависимостями
  • Современный процессор идеален
    • Любой процессор Райзен
    • Процессор Intel 7-го поколения или новее
  • Подсистема Windows для Linux 2 (WSL2)
  • ЖКТ
  • Докер
  • Общественный проект Serge, который дает Alpaca приятный веб-интерфейс.
Предупреждение: в настоящее время нет причин подозревать, что этот конкретный проект имеет какие-либо серьезные проблемы с безопасностью или является вредоносным. Мы просмотрели код и сами запустили программное обеспечение и не нашли ничего интересного. Это не означает, что он является или останется безопасным. Всегда будьте осторожны с вещами, которые вы находите в Интернете, и периодически переоценивайте безопасность.

Как запустить Alpaca локально на вашем ПК

Важно, чтобы вы следовали этим шагам в том порядке, в котором они даны. Docker, вероятно, сломается, если вы этого не сделаете, что потребует полной переустановки как WSL2, так и Docker.

Установите подсистему Windows для Linux 2

Подсистема Microsoft Windows для Linux 2 (WSL2) позволяет запускать программное обеспечение Linux в Windows. Он имеет низкие накладные расходы и действительно удобен во многих случаях. Docker для Windows использует WSL2, поэтому сначала нам нужно установить WSL2.

Примечание. Если у вас уже установлен WSL2, просто запустите wsl –update в PowerShell, чтобы убедиться, что все обновлено.

Откройте окно PowerShell от имени администратора, затем введите команду:

wsl --install

Загрузка всех файлов WSL2 и Ubuntu займет некоторое время. После завершения установки необходимо перезагрузить компьютер.

Установка WSL2.

После перезагрузки снова откройте PowerShell (не обязательно от имени администратора) и запустите:

wsl -l -v

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

Проверка того, что WSL2 установил Ubuntu.

Установить Докер

Docker — это программа, которая позволяет запускать программы в «контейнере». Контейнеры похожи на виртуальные машины, но у них меньше накладных расходов и они более производительны для многих приложений. Серж использует Docker, чтобы сделать установку очень удобной.

СВЯЗАННЫЕ С: Что делает Docker и когда его следует использовать?

Сначала загрузите установщик Docker с веб-сайта Docker. Если вы собираетесь использовать Docker в Linux или macOS, убедитесь, что у вас есть соответствующий установщик.

Примечание. Если вы используете безголовый сервер Linux, вам нужно следовать соответствующим инструкциям для вашего дистрибутива Linux, чтобы запустить Docker.

Установите Docker Desktop с веб-сайта Docker.

Запустите установщик и будьте готовы подождать несколько минут. Docker займет некоторое время и настроит кучу вещей за кулисами. Как только это будет сделано, вы захотите перезагрузить компьютер.

После перезагрузки откройте PowerShell и снова запустите wsl -l -v . На этот раз вы также должны увидеть некоторые записи, связанные с Docker.

Docker использует WSL2 для создания виртуальной машины.

Установите GIT в Windows

Последним предварительным условием является Git, который мы будем использовать для автоматической загрузки (и обновления) Serge с Github. Это не обязательно, так как вы всегда можете скачать ZIP и распаковать его вручную, но Git лучше.

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

Обязательно выберите параметр, добавляющий Git в системный PATH.

После завершения установки Git вы готовы установить Serge и Alpaca.

Установить Сержа и Альпаку

Во-первых, убедитесь, что Docker Desktop запущен. Затем откройте PowerShell или Windows Terminal с открытым окном PowerShell (не от имени администратора) и выполните следующую команду:

git clone https://github.com/nsarrazin/serge.git && cd serge

Это загружает файлы с GitHub в папку на вашем ПК, а затем изменяет активный каталог на созданную папку.

Скачайте Серж с Github.

Следующая команда, которую вам нужно выполнить:

cp .env.sample .env

Эта строка создает копию .env.sample и называет копию «.env». Файл содержит аргументы, относящиеся к локальной базе данных, в которой хранятся ваши разговоры, и к порту, который локальный веб-сервер использует при подключении.

Затем запустите:

docker compose up -d

Docker compose объединяет несколько разных контейнеров в аккуратный пакет. Вы можете проверить файл docker-compose.yml в папке Serge, если хотите более конкретно узнать, что здесь происходит.

Docker-Compose настраивает Serge.

Последняя команда инициирует загрузку, и здесь вам нужно сделать выбор, прежде чем продолжить. Вы можете скачать три разных варианта: 7B, 13B и 30B. 7В — самая простая и «тупая» модель, а 30В — самая навороченная и умная. 13В — средний план.

Вариант Размер загрузки Требуется свободная оперативная память Системная память рекомендуется для Windows Системная оперативная память рекомендуется для Linux
4ГБ 4ГБ 16 Гб 8 ГБ
13Б 8 ГБ 8 ГБ 16 Гб 16 Гб
30Б 20 20 ГБ 64 ГБ (вероятно) 32 ГБ

Установки Linux (и, вероятно, macOS) смогут обойтись меньшим объемом системной оперативной памяти, чем установки Windows — Windows немного пожирает оперативную память. Вероятно, вам следует начать с варианта 7B, так как это наименее требовательный вариант. Вы всегда можете скачать 13B или 30B позже, если хотите.

Выполните следующую команду, чтобы загрузить модель 7B (или замените 13B или 30B).

docker compose exec api python3 /usr/src/app/utils/download.py tokenizer 7B

Будьте готовы ждать, особенно если вы выберете вариант 30B. Сервер Huggingface, по-видимому, работает со скоростью около 20 мегабайт в секунду, поэтому в лучшем случае вы будете рассчитывать на 50 секунд на каждый гигабайт загрузки.

Загрузка языковой модели 7B.

Используйте Сержа и Альпаку

Docker и все необходимые контейнеры в настоящее время работают, если вы следовали этим инструкциям, однако вам придется снова включить их, если вы перезагрузите компьютер. Для этого просто откройте Docker Desktop и нажмите маленькие треугольные кнопки. Значки слева от столбца «Имя» становятся зелеными, когда контейнеры запущены.

На данный момент все установлено и готово к работе. Просто откройте браузер и введите «localhost: 8008» в адресную строку, как если бы вы посетили Facebook или любой другой веб-сайт.

Примечание. Если вы размещаете Alpaca/Serge на другом компьютере, вам нужно будет ввести локальный IP-адрес этого устройства вместо localhost.

На главном экране ваши предыдущие разговоры отображаются слева, а настройки нового чата отображаются посередине.

Веб-интерфейс Сержа.

Доступно довольно много настроек, но есть пять, на которые вы действительно захотите обратить внимание:

  • Температура — определяет, насколько свободно отвечает ИИ. Меньшие числа приводят к более жестким ответам, в то время как более высокие числа дают более творческий подход.
  • Максимальная длина сгенерированного текста в токенах — насколько длинными могут быть ответы, которые пишет бот.
  • Выбор модели — выберите между 7B, 13B, 30B и любой другой моделью, которую вы устанавливаете.
  • n_threads — количество потоков, которые Serge/Alpaca может использовать на вашем процессоре. Выделение большего количества повысит производительность
  • Предварительная подсказка для инициализации разговора — предоставляет контекст до начала разговора, чтобы повлиять на то, как чат-бот отвечает.

В данном случае мы подняли температуру и потоки, выбрали модель 13B и сказали чат-боту, что это пиратка.

Важные настройки Serge.

Вот пример того, как проходил разговор.

Пример разговора.

С Alpaca вы можете говорить о чем угодно, и вам не нужно беспокоиться о том, что происходит с вашими данными. Он всегда остается на вашем устройстве под вашим контролем.

Помните, что ChatGPT, Alpaca и другие чат-боты кажутся надежными, но на данный момент это не так. Они очень хорошо воплощают в себе мысль: «Если вы не можете ослепить их блеском, поразите их чушью». Их склонность придумывать вещи была названа «галлюцинацией». Не полагайтесь на них ни в чем важном, особенно в том, что критично для вашей работы или здоровья. В настоящее время их следует использовать только в развлекательных или экспериментальных целях.

Однако со временем технология будет только улучшаться — совсем скоро мы увидим, как Alpaca (или другой локальный ИИ) интегрируется в серверы Discord, моды Minecraft и любое количество других творческих приложений. Дальнейшее усовершенствование также приведет к созданию более быстрых и точных моделей, которые смогут работать на более слабом оборудовании.