Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру 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 и останавливаем свой сервер, чтобы сэкономить копеечки, отложить их в копилочку и потом на сэкономленное купить себе железо помощнее, чтобы не относить свои кровные дяде.
Всем добра и удачи. Учите линукс и поддерживайте опенсорс - за этим будущее.