Как настроить Alpaca (аналог ChatGPT) на своём арендованном сервере. Гайд для самых маленьких

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру Brave Knights, в которой вы можете играть и зарабатывать. Регистируйтесь, играйте и зарабатывайте!

После публикации https://habr.com/ru/news/t/723638/ меня попросило несколько человек написать гайд для новичков, как же это всё запустить поиграться где-нибудь на арендованном сервере, если локальная машина не позволяет?

Чтобы закрутить альпаку нам нужно 4.5 Гб оперативы минимум для 7B модели + еще сколько нибудь для системы. Будем смотреть на любые предложения хостеров, которые предлагают виртуальные серверы в конфигурации от 6 Гб оперативки и 4+ ядра. Для простоты я возьму reg.ru лишь только потому, что них есть почасовая оплата и для наших простых экспериментов это сгодится.

Идем на https://www.reg.ru/vps/linux, тыкаем на Base-8 выбираем Ubuntu 22.04, помесячную оплату не включаем, платим 100 рублей, ждём когда у них голубиной почтой прососётся наш платёж и личный кабинет обновится. В итоге наш свежеарендованный сервер должен появится в панели "Мои ресурсы" -> "Виртуальные серверы" и иметь статус "Активен". У меня от платежа до статуса "Активен" прошло минут 10.

Ищем в своей почте письмо от reg.ru с темой "Создан сервер ...." в котором нам надо:

  • пароль для пользователя root

  • IP адрес вашего сервера Держим эту информацию под рукой.

Щёлкаем на свой свежесозданный сервер в личном кабинете, в меню справа выбираем "Открыть консоль". Если у вас откроется консоль - вводим имя пользователя - root, пароль из письма и пропускаем следующий абзац.

У меня эта консоль сразу не заработала, только на следующий день. И даже когда заработала, работала с перебоями. Поэтому мы качаем ssh клиент под названием Putty с официального сайта. Обязательно с официального, если не хотите себе вместо Путти трояна поставить.Открываем Putty, вбиваем туда IP адрес своего сервера. Жмём кнопку "Open", на все всплывающие предложения соглашаемся, вводим имя пользователя root и пароль из письма.

Ниже приведены команды. Их надо будет вводить одну за одной в окно терминала. В конце каждой жмём Enter. Строчки-комментарии, которые начинаются с символа # вводить не надо. Каждую следующую команду вводим только после того, как предыдущая закончилась и вы снова видите приглашение ввести команду, типа такого:

root@123-23-45-678:~#

Внимательно читаем, что происходит на экране после каждой команды.

Итак, команды:

# disable OOM killer
sysctl -w vm.oom_dump_tasks=0

# update, upgrade and install needed packages
apt update
apt upgrade -y
apt install build-essential python3-venv git gcc g++ make rtorrent curl wget -y

Начнём с самого простого, с установки проекта https://github.com/antimatter15/alpaca.cpp

git clone https://github.com/antimatter15/alpaca.cpp
cd alpaca.cpp
make chat
# download 7B model
wget https://huggingface.co/Sosaka/Alpaca-native-4bit-ggml/resolve/main/ggml-alpaca-7b-q4.bin
./chat
# if you want 13B model:
# wget https://gateway.estuary.tech/gw/ipfs/Qme6wyw9MzqbrUMpFNVq42rC1kSdko7MGT9CL7o1u9Cv9G
# ./chat -m ggml-alpaca-13b-q4.bin

Теперь можно початиться с Альпакой. Помним про апдейты к новости https://habr.com/ru/news/t/723638/ - ребята из Стенфорда конечно умнички, но данные, которые им нагенерировала GPT, и которыми они обучали Лламу до Альпаки, оказались с "приколами". Поэтому модель не всегда адекватна в ответах.

Начатились? Жмём CTRL+C и читаем дальше.

Можно попробовать поставить проект https://github.com/cocktailpeanut/dalai/
Сейчас мастер ветку штормит, поэтому наши шансы тут 50/50.
Если какие-то команды будут спрашивать подтверждения, вводим "y" и жмём Enter.

# install Node 18 LTS
curl -fsSL https://deb.nodesource.com/setup_lts.x | bash - 
apt install -y nodejs

# before we move any further, test versions of python3 (should be <=3.10) and node (should be >18)
python3 --version
node --version

# considering #issues/209
npx --verbose dalai@0.3.0 alpaca install 7B
rm -rf ~/dalai/
mkdir -p ~/dalai/alpaca/models
npx --verbose dalai@0.3.0 alpaca install 7B

# run the server, leave it hanging
npx --verbose dalai@0.3.0 serve

Последняя команда вернуть вам управление не должна, так и задумано.
Открываем браузер на своей машине и вводим в нём http://айпиадресвашегосервера:3000

Помним, что мы не настраивали ни TLS, ни какой-либо аутентификации и любой, кто найдёт эту вашу веб морду, будет с ней играться вволю за ваш счёт. Так же мы не настраивали автозапуск даллая и не делали из него сервиса, так что если ваш арендованый сервер перезапустится или оборвётся ваша ssh сессия, надо будет снова зайти на него и запустить последнюю команду.

В моём случае, при начальной настройке-установке, SSH соединение со скотским reg.ru постоянно зависало, будьте готовы к таким приколам и вы. Если ssh сессия оборвалась или кажется что зависла, закрываем сессию, открываем новую и продолжаем с того же места, на котором зависло. Если у кого-то что-то не получилось, дневник съела собака, выкладывайте логи в комментарии: младшеклассникам возможно помогут старшеклассники.

Продвинутым линукс пользователям я бы предложил использовать screen, особенно на этапе npx dalai llama install 7B чтобы эта долгая активность не обрывалась каждый раз, когда вы вынуженно отваливаетесь / запускать через nohup и мониторить скачивание второй сессий. Но продвинутые, думаю, и без моих советов справились уже все. Остальные просто пытайтесь снова и снова, кляните рег.ру и теребите их техподдержку за отваливающийся ssh.

Если наигрались, идём снова в личный кабинет reg.ru и останавливаем свой сервер, чтобы сэкономить копеечки, отложить их в копилочку и потом на сэкономленное купить себе железо помощнее, чтобы не относить свои кровные дяде.

Всем добра и удачи. Учите линукс и поддерживайте опенсорс - за этим будущее.

Источник: https://habr.com/ru/post/724172/


Интересные статьи

Интересные статьи

Подборки допродажи на странице товара позволяют увеличивать средний чек, а блоки cross-sell помогают клиенту найти то, что ему нужно и не уйти с сайта без покупки.В этой статье мы разберем множество и...
ДИСКЛЕЙМЕР!Внимание! Вся представленная информация предназначена для ознакомительного изучения. Автор не несет никакой ответственности за причиненный вред с использованием изложенной информации.Подоше...
В Америке начался Киберпонедельник, главный день распродажи гаджетов и прочей электроники. В том числе товаров, которые рассчитаны на подарки. Основным продавцом, как обы...
Тема статьи навеяна результатами наблюдений за методикой создания шаблонов различными разработчиками, чьи проекты попадали мне на поддержку. Порой разобраться в, казалось бы, такой простой сущности ка...