May 3

Обновленный гайд по установке ноды Gensyn от 20.07

Гайд. Установка ноды Gensyn

Требования к серверу:

минимум 4 CPU 8 GB RAM

Ubuntu 22.04 и выше

Внимание у хостера PLAY2GO - появился промокод SNGDAO для подписчиков канала. Промокод дает +5% к сумме вашего пополнения🔥

Я брал сервер от play2go за 1040₽ / мес. Если хотите подешевле, смотрите в разделе LOW-COST название LC-4 или LC-5.
Если хотите можно выбрать сервер с процессором помощнее, так как у нас тут AI нода, производительность который зависит от CPU. Например DE-4 за 1 340₽

❗️Перед установкой ноды рекомендую сразу увеличить файл подкачки, чтобы в сумме было 28-32GB. Инструкция есть ниже в гайде.❗️

Установка новой ноды
Обновление ноды

Решение распространённых проблем


Установка новой ноды:

Обновляем пакеты на сервере:

apt update && apt upgrade -y

1) Устанавливаем необходимое:

apt install screen curl iptables build-essential git wget lz4 jq make gcc nano automake autoconf tmux htop nvme-cli libgbm1 pkg-config libssl-dev libleveldb-dev tar clang bsdmainutils ncdu unzip libleveldb-dev  -y

2) Ставим yarn:

curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo gpg --dearmor -o /usr/share/keyrings/yarnkey.gpg

3) Ставим питон:

apt install python3.12-venv python3-pip python3-venv python3-dev -y

4) Устанавливаем Node.js и npm:

sudo apt-get update
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
sudo apt-get install -y nodejs
node -v
sudo npm install -g yarn
yarn -v

5) Удаляем старую папку, если она есть и клонируем репозиторий:

rm -rf rl-swarm && git clone https://github.com/gensyn-ai/rl-swarm/ && cd rl-swarm

6) Создаем screen сессию с именем gensyn(надеюсь вы уже изучили гайд по команде screen):

screen -S gensyn


7) Создаем и активируем виртуальное окружение + Запускаем ноду:

python3 -m venv .venv && source .venv/bin/activate && ./run_rl_swarm.sh

8) Далее нужно открыть в браузере ссылку, которую вам покажет и там ввести пароль:

Если пишет Failed to open http://localhost:3000/. Please open it manually то делаем так:

1) Сворачиваем screen сессию через CTRL+A+D

2) Выполняем:

sudo npm install -g localtunnel

Затем

lt --port 3000

Копируем и открываем ссылку которую нам покажет, на странице вводим пароль - это IP адрес вашего сервера. После этого вернитесь обратно в скрин сессию: screen -r -d gensyn

После того, как ввели пароль и нажали на кнопку, возможно стоит подождать какое то время, пока страница откроется. Если не открывается, через 2-3 минуты ожидания, то обновляем страницу.

9) Регистрируемся по почте, вводим код, который придёт на почту.

После ввода кода вы увидите

10) Возвращаемся в терминал, и ждем следующий этап установки, когда появится такая фраза: Отвечаем на неё N

11) Далее вас попросят ввести модель, если не знаете какую вам нужно, то просто нажмите Enter .

12) В логах вы увидите подобное:

Это присвоили имя нашей ноде и рядом будет Peer ID вашей ноды. Можете скопировать или записать себе имя и ID, с помощью правой кнопки мыши.

Когда увидите подобное:

Это значит, что установка и настройка прошла успешно и нода начала работать. И можно свернуть ноду с помощью CTRL+A+D

Обязательно сохраните себе файл swarm.pem из папки с нодой(rl-swarm), в нем хранятся данные от ноды и от кошелька ноды. Так же он понадобится при следующих обновлениях.

Полезные команды:

Посмотреть логи ноды screen -d -r gensyn

Посмотреть полные логи, используйте на случай ошибок в работе ноды: cat /root/rl-swarm/logs/*.log | tail -n 100

Дашборд gensyn с поинтами: https://dashboard.gensyn.ai/

А так же, можно проверять поинты в неофициальном ТГ боте https://t.me/gensyntrackbot с помощью команды /check ВАШ_Peer ID

Обновление ноды:

1) Перед обновлением обязательно сохраняете себе файл swarm.pem из папки с нодой(rl-swarm), а так же остановите ноду, через CTRL+C.

2) Перейдите в папку с нодой:

cd rl-swarm

3) Запустите обновление:

git pull

4) Запустить ноду:

python3 -m venv .venv && source .venv/bin/activate && ./run_rl_swarm.sh

Если после запуска у вас просит логин пот github, то нужно будет переустановить следующим образом:

1) Убедитесь что вы сохранили на свой компьютер файл swarm.pem из папки с нодой(rl-swarm)

2) Переходим в корень

cd $HOME

3) Удаляем папку с нодой:

rm -rf rl-swarm

4) Скачиваем файлы:

git clone https://github.com/gensyn-ai/rl-swarm.git

5) Переходим в папку с нодой:

cd rl-swarm 

6) Запускаем:

python3 -m venv .venv && source .venv/bin/activate && ./run_rl_swarm.sh

Решение распространённых проблем:

🟥 Ошибка Failed to open http://localhost:3000/. Please open it manually.

1) Не закрывая это окно терминала, подключаетесь снова на сервер, чтобы открылось второе.

2) Выполняете:

sudo npm install -g localtunnel

Затем:

lt --port 3000

3) Копируете ссылку, которую вам показало и переходите по ней в браузере. В поле с паролем вводите IP вашего сервера.

4) После этого появится окно с вводом почты и кода.(Окно может загружаться 1-2 минуты, если не появилось, то обновляете страницу пока не появится).

🟥 Ошибка "FutureWarning: torch.cpu.amp.autocast(args...) is deprecated. Please use torch.amp.autocast('cpu', args...) instead."

1) Останавливаем ноду через CTRL+C

2) Выполняем:

nano /root/rl-swarm/.venv/lib/python3.12/site-packages/transformers/trainer.py

Там нажимаем CTRL+W и вводим torch.cpu.amp

3) Заменяем torch.cpu.amp.autocast( на torch.amp.autocast('cpu',

4) Нажимаем CTRL+X далее Y далее enter для сохранения изменений.

5) Запускаем ноду командой:

python3 -m venv .venv && source .venv/bin/activate && ./run_rl_swarm.sh

🟥 Ошибка SyntaxError: duplicate argument 'bootstrap_timeout' in function definition.

1) Останавливаем ноду через CTRL+C

2) Выполняем

pip install hivemind==1.1.11

3) Запускаем ноду командой:

python3 -m venv .venv && source .venv/bin/activate && ./run_rl_swarm.sh

🟥 Ошибка failed to connect to bootstrap peers

Если переустановка не помогает и снова эта ошибка, то нужно попросить вашего хостера сменить IP вашего сервера. Германия точно работает.

🟥 Ошибка hivemind.p2p.p2p_daemon_bindings.utils.P2PDaemonError: Daemon failed to start in 15.0 seconds

1)Проверяем имя папки с python:

ls -1 -d /root/.venv/lib/*

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

2) Выполняем:

sed -i 's/startup_timeout: float = *15/startup_timeout: float = 120/' /root/rl-swarm/.venv/lib/ИМЯ_ПАПКИ/site-packages/hivemind/p2p/p2p_daemon.py

3) Перезапускаем:

python3 -m venv .venv && source .venv/bin/activate && ./run_rl_swarm.sh

🟥 Хочу использовать только CPU и не использовать GPU или ошибка с bf16/gpu:

1) Останавливаем ноду через CTRL+C

2) Выполняем:

pip install --force-reinstall transformers==4.51.3 trl==0.19.1
python3 -m venv .venv
source .venv/bin/activate

3) Запускаем ноду командой:

export CUDA_VISIBLE_DEVICES="" ./run_rl_swarm.sh


🟥 Что делать если не хватает памяти или нода останавливается с ошибкой ./run_rl_swarm.sh: Killed

Для того, чтобы увеличить файл подкачки, делаем следующее:

1) Проверяем какой объём сейчас у файла подкачки:

swapon --show

2) Отключаем файл для изменения:

sudo swapoff /swapfile

3) Вводим новое значения файла, вместо xx укажите сколько гигабайт хотите выделить под файл подкачки:

sudo fallocate -l xxG /swapfile

4) Подтверждаем изменение:

sudo mkswap /swapfile

5) Включаем файл подкачки:

sudo swapon /swapfile

Подписываемся на ТГ канал SNG DAO, чтобы ничего не пропустить!
Если есть вопросы или хотите обсудить заходите к нам в чат.