Как стать автором
Обновить

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

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров39K

После публикации 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@0.3.0 alpaca install 7B чтобы эта долгая активность не обрывалась каждый раз, когда вы вынуженно отваливаетесь / запускать через nohup и мониторить скачивание второй сессией. Но продвинутые, думаю, и без моих советов справились уже все. Остальные просто пытайтесь снова и снова, кляните рег.ру и теребите их техподдержку за отваливающийся ssh.

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

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

P.S. Dalai не самый лучший веб интерфейс, и писали его явно товарищи из Индии, судя по определенным особенностям его работы. Если вас заинтересовала эта тема веб чатов, инвестируте своё время, чтобы поставить что-то более продвинутое типа https://github.com/oobabooga/text-generation-webui или https://github.com/spv420/chatgpt-clone

Апдейт от 23.03.2023
Если кто-то хочет, можно еще закрутить alpaca.cpp (или llama.cpp, что почти то же самое) на своём Android мобильном телефоне. Инструкции есть и на сайте и @alexander222 ниже в комментариях показал как. Учитывайте, оперативной памяти на мобильном должно быть прилично, у некоторых на 6 Гб не запустилось.

Апдейт от 24.03.2023
Без установки с 7B моделькой можно поиграть здесь - https://huggingface.co/spaces/tloen/alpaca-lora (см. детали в проекте https://github.com/tloen/alpaca-lora). Но как и всё бесплатное, возможно придётся постоять в очереди. После нажатия на Submit обращаем внимание на queue X/Y в правом верхнем углу окна с результатамм. Х - это наша позиция в очереди, Y - ее длина


Теги:
Хабы:
+29
Комментарии43

Публикации

Изменить настройки темы

Истории

Ближайшие события

Weekend Offer в AliExpress
Дата20 – 21 апреля
Время10:00 – 20:00
Место
Онлайн
Конференция «Я.Железо»
Дата18 мая
Время14:00 – 23:59
Место
МоскваОнлайн