Установка ноды Gaia
В данном руководстве мы разберем установку собственной AI-модели для участия в тестнете проекта Gaia. Данная нода отличается от всех проектов, что мы разбирали ранее -- это не валидатор и не фармер, это полноценный узел нейросети. За поддержание работы узла, который постоянно обрабатывает запросы и генерирует ответы мы будем получать очки, которые превратятся в награды в mainnet. ПодготовкаОбычно AI-проекты стабильно ассоциируются с GPU и видеокартами, поэтому имеют наивысший порог входа сред...
Установка ноды Dria
В данном руководстве разбираем установку новой ИИ-ноды Dria. Схема работы ноды крайне похожа на Gaia, наша нода будет получать задания для обработки в LLM-моделях, за успешное выполнение заданий мы будем получать очки $DRIA. Разница заключается лишь в том, что нагрузку подают сами создатели проекта.ПодготовкаТребований к железу у этой ноды больше, чем у Gaia. К большому сожалению, на сервере с 4 ядрами запустить ничего не получится - данная нода просто не поддерживает такие слабые модели. Вам...

Установка ноды в Masa Bittensor Testnet
И снова с вами на связи Инвестиционная лощина. Сегодня мы будем ставить ноду в нашем любимом проекте Masa. Этот проект уже неоднократно кормил нас и ...
Установка ноды Gaia
В данном руководстве мы разберем установку собственной AI-модели для участия в тестнете проекта Gaia. Данная нода отличается от всех проектов, что мы разбирали ранее -- это не валидатор и не фармер, это полноценный узел нейросети. За поддержание работы узла, который постоянно обрабатывает запросы и генерирует ответы мы будем получать очки, которые превратятся в награды в mainnet. ПодготовкаОбычно AI-проекты стабильно ассоциируются с GPU и видеокартами, поэтому имеют наивысший порог входа сред...
Установка ноды Dria
В данном руководстве разбираем установку новой ИИ-ноды Dria. Схема работы ноды крайне похожа на Gaia, наша нода будет получать задания для обработки в LLM-моделях, за успешное выполнение заданий мы будем получать очки $DRIA. Разница заключается лишь в том, что нагрузку подают сами создатели проекта.ПодготовкаТребований к железу у этой ноды больше, чем у Gaia. К большому сожалению, на сервере с 4 ядрами запустить ничего не получится - данная нода просто не поддерживает такие слабые модели. Вам...

Установка ноды в Masa Bittensor Testnet
И снова с вами на связи Инвестиционная лощина. Сегодня мы будем ставить ноду в нашем любимом проекте Masa. Этот проект уже неоднократно кормил нас и ...
Share Dialog
Share Dialog
Subscribe to Investment Hollow
Subscribe to Investment Hollow
<100 subscribers
<100 subscribers
Продолжаем наш марафон ИИ-нод с новым проектом Gensyn. Наши вычислительные ресурсы здесь будут использоваться для распределенного обучения ИИ-моделей, а все узлы в сети объединятся в "разум улья", пока мы фармим очки за каждый пройденный раунд обучения.
В этот раз нам потребуется сервер не менее 8 ядер и 16 Гб RAM. А также (внезапно) аккаунт Alchemy.com. Ставим мешок зависимостей, чтобы поставить nodejs и yarn:apt install -y python3 python3-venv python3-pip curl screen git yarn
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
apt update && sudo apt install -y yarn
apt-get update
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
sudo apt-get install -y nodejs
sudo npm install -g yarn
Проверяем, что node.js и yarn корректно установились.node -v
yarn -v
Копируем репозиторий проекта
git clone https://github.com/gensyn-ai/rl-swarm/ && cd rl-swarm
Запускаем screen-сессию
screen -S gensyn
Нужно сперва подредактировать конфигурацию ноды, чтобы она нормально работала на 8 ядрах. Для этого открываем файл конфига (из папки с репозиторием)
nano ./hivemind_exp/configs/mac/grpo-qwen-2.5-0.5b-deepseek-r1.yaml
Все содержимое удаляем, заменяем следующим:
# Model arguments
model_revision: main
torch_dtype: float32
bf16: false
tf32: false
# Dataset arguments
dataset_id_or_path: 'openai/gsm8k'
# Training arguments
max_steps: 10
gradient_accumulation_steps: 4
gradient_checkpointing: false
learning_rate: 5.0e-7
lr_scheduler_type: cosine
warmup_ratio: 0.03
# GRPO arguments
use_vllm: false
num_generations: 2
per_device_train_batch_size: 1
beta: 0.001
max_prompt_length: 256
max_completion_length: 1024
# Logging arguments
logging_strategy: steps
logging_steps: 2
report_to:
- tensorboard
save_strategy: "steps"
save_steps: 25
seed: 42
# Script arguments
max_rounds: 10000
# Model-specific arguments
model_name_or_path: unsloth/Qwen2.5-0.5B-Instruct
output_dir: runs/gsm8k/multinode/Qwen2.5-0.5B-Instruct-Gensyn-SwarmCохраняем. Погнали запускать! (из папки с репозиторием естественно)
python3 -m venv .venv && source .venv/bin/activate && ./run_rl_swarm.sh
Скрипт интерактивный, задает всякие вопросы. Сперва жмем Y на вопрос хотим ли мы участвовать в этом балагане, затем выбираем вариант А (это выбор пула, А для машин послабее, для счастливых обладателей видеокарт - b). Вводим число параметров - для 8 ядер выбираем 0.5B, если у вас более жирный проц - выбирайте больше.
Затем произойдет сборка, после чего нода напишет
Failed to open http://localhost:3000. Please open it manually
Waiting for modal userData.json to be created...
И вывод в терминале загадочно остановится.... На ошибку внимания не обращайте, нода вас действительно ожидает. Сейчас нужно будет исполнить лихой трюк.
Открываем PuTTY (в примере показан он, если сидите через другой ssh-клиент все примерно аналогично), задаем как обычно IP нашего сервера, но перед тем как открыть подключение переходим в меню слева в раздел Connection -> SSH -> Tunnels и заполняем поля Source Port и Destination как указано на примере, затем нажимаем кнопку Add и раздел Forwarded ports оказывается заполненным. Нажимаем Open , открываем соединение, авторизуемся, оставляем терминал пустым (или пишем ping 127.0.0.1 чтобы он не заскучал)

Примечание: если на данном этапе у вас возник вопрос "а че тут вообще происходит" -- этот момент стоит объяснить. Протокол SSH через который вы подключаетесь к вашим серверам это не только протокол удаленного доступа. Это вообще один из самых замечательных протоколов и его возможности огромны. В частности, соединение по протоколу SSH между вашей машиной и удаленной машиной может внутри себя передавать вообще любой трафик. Такие штуки называются сетевыми туннелями. Так как соединение по SSH зашифровано - шифровать трафик внутри него уже не нужно, можно передавать данные в открытом виде, при чем по любым другим протоколам. В нашем примере мы настраиваем так называемый "проброс портов", или port forward. Соединение SSH открыто с параметром перенаправления трафика на нашей машине, идущего на порт 3000, в сетевой туннель, а далее - на порт 3000 но уже на удаленной машине. Когда нода стартует, она поднимает процесс который слушает порт 3000 у себя локально. Мы заходим на порт 3000 на своей машине (то есть localhost) и попадаем на этот запущенный удаленный процесс.
Идем в браузер, открываем http://localhost:3000 (не перепутайте, не https а http!)
Нажимаем кнопку Log In, далее нужно авторизоваться через алхимию. После успешной авторизации видим что мы Successfully авторизовались.

Возвращаемся в исходную Screen сессию в самом первом терминале (второй с проброшенным портом кстати уже не нужен). Пойдет опять установка-сборка. Вам зададут еще один вопрос про интеграцию с платформой HuggingFace, нажимаем N. После окончания сборки нода запустится, проверит уникальность вашей личности (1 акк алхимии = 1 нода) и присоединится к разуму улья. Обратите внимание, в самом начале она вас "поприветствует" в сети, и выдаст peer ID и имя (три рандомных слова типа "Wooly Bald Badger"). Сохраните их из вывода терминала себе в файлик, по ним будете отслеживать себя в дашбордах. Если пропустили - не страшно, в логах каждое сообщение с вашего имени начинается в любом случае.
Начнется долгий процесс обучения. Логи идут очень неспешно это нормально, учится и людям сложно, а нейросетям и подавно.
Вывод будет примерно следующим:

В дашборд сразу идти нет смысла, подождите пару тройку часов пока пройдет несколько шагов обучения, после чего заходим сюда: https://dashboard.gensyn.ai/
Вводим в поиске полностью три слова имени нашей ноды, следим за накоплением очков и за апдейтами по проекту.
ОБЯЗАТЕЛЬНО сделать резервную копию файла swarm.pem в директории с проектом, он создается после прохождения авторизации через алхимию. Мы же кошелек к ноде не привязали! Нода только по этому файлу нас и опознает. Будете переустанавливать -- подставляйте его из резервной копии чтобы сохранять прогресс. Хотите плодить больше нод - запасайтесь акками алхимии.
На этом всё! Следите за обновлениями в нашем канале по данному проекту (и вашей нодой!), там же вы можете задать вопросы по установке и настройке. Желаем успехов, и до встречи в нейробудущем!
Продолжаем наш марафон ИИ-нод с новым проектом Gensyn. Наши вычислительные ресурсы здесь будут использоваться для распределенного обучения ИИ-моделей, а все узлы в сети объединятся в "разум улья", пока мы фармим очки за каждый пройденный раунд обучения.
В этот раз нам потребуется сервер не менее 8 ядер и 16 Гб RAM. А также (внезапно) аккаунт Alchemy.com. Ставим мешок зависимостей, чтобы поставить nodejs и yarn:apt install -y python3 python3-venv python3-pip curl screen git yarn
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
apt update && sudo apt install -y yarn
apt-get update
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
sudo apt-get install -y nodejs
sudo npm install -g yarn
Проверяем, что node.js и yarn корректно установились.node -v
yarn -v
Копируем репозиторий проекта
git clone https://github.com/gensyn-ai/rl-swarm/ && cd rl-swarm
Запускаем screen-сессию
screen -S gensyn
Нужно сперва подредактировать конфигурацию ноды, чтобы она нормально работала на 8 ядрах. Для этого открываем файл конфига (из папки с репозиторием)
nano ./hivemind_exp/configs/mac/grpo-qwen-2.5-0.5b-deepseek-r1.yaml
Все содержимое удаляем, заменяем следующим:
# Model arguments
model_revision: main
torch_dtype: float32
bf16: false
tf32: false
# Dataset arguments
dataset_id_or_path: 'openai/gsm8k'
# Training arguments
max_steps: 10
gradient_accumulation_steps: 4
gradient_checkpointing: false
learning_rate: 5.0e-7
lr_scheduler_type: cosine
warmup_ratio: 0.03
# GRPO arguments
use_vllm: false
num_generations: 2
per_device_train_batch_size: 1
beta: 0.001
max_prompt_length: 256
max_completion_length: 1024
# Logging arguments
logging_strategy: steps
logging_steps: 2
report_to:
- tensorboard
save_strategy: "steps"
save_steps: 25
seed: 42
# Script arguments
max_rounds: 10000
# Model-specific arguments
model_name_or_path: unsloth/Qwen2.5-0.5B-Instruct
output_dir: runs/gsm8k/multinode/Qwen2.5-0.5B-Instruct-Gensyn-SwarmCохраняем. Погнали запускать! (из папки с репозиторием естественно)
python3 -m venv .venv && source .venv/bin/activate && ./run_rl_swarm.sh
Скрипт интерактивный, задает всякие вопросы. Сперва жмем Y на вопрос хотим ли мы участвовать в этом балагане, затем выбираем вариант А (это выбор пула, А для машин послабее, для счастливых обладателей видеокарт - b). Вводим число параметров - для 8 ядер выбираем 0.5B, если у вас более жирный проц - выбирайте больше.
Затем произойдет сборка, после чего нода напишет
Failed to open http://localhost:3000. Please open it manually
Waiting for modal userData.json to be created...
И вывод в терминале загадочно остановится.... На ошибку внимания не обращайте, нода вас действительно ожидает. Сейчас нужно будет исполнить лихой трюк.
Открываем PuTTY (в примере показан он, если сидите через другой ssh-клиент все примерно аналогично), задаем как обычно IP нашего сервера, но перед тем как открыть подключение переходим в меню слева в раздел Connection -> SSH -> Tunnels и заполняем поля Source Port и Destination как указано на примере, затем нажимаем кнопку Add и раздел Forwarded ports оказывается заполненным. Нажимаем Open , открываем соединение, авторизуемся, оставляем терминал пустым (или пишем ping 127.0.0.1 чтобы он не заскучал)

Примечание: если на данном этапе у вас возник вопрос "а че тут вообще происходит" -- этот момент стоит объяснить. Протокол SSH через который вы подключаетесь к вашим серверам это не только протокол удаленного доступа. Это вообще один из самых замечательных протоколов и его возможности огромны. В частности, соединение по протоколу SSH между вашей машиной и удаленной машиной может внутри себя передавать вообще любой трафик. Такие штуки называются сетевыми туннелями. Так как соединение по SSH зашифровано - шифровать трафик внутри него уже не нужно, можно передавать данные в открытом виде, при чем по любым другим протоколам. В нашем примере мы настраиваем так называемый "проброс портов", или port forward. Соединение SSH открыто с параметром перенаправления трафика на нашей машине, идущего на порт 3000, в сетевой туннель, а далее - на порт 3000 но уже на удаленной машине. Когда нода стартует, она поднимает процесс который слушает порт 3000 у себя локально. Мы заходим на порт 3000 на своей машине (то есть localhost) и попадаем на этот запущенный удаленный процесс.
Идем в браузер, открываем http://localhost:3000 (не перепутайте, не https а http!)
Нажимаем кнопку Log In, далее нужно авторизоваться через алхимию. После успешной авторизации видим что мы Successfully авторизовались.

Возвращаемся в исходную Screen сессию в самом первом терминале (второй с проброшенным портом кстати уже не нужен). Пойдет опять установка-сборка. Вам зададут еще один вопрос про интеграцию с платформой HuggingFace, нажимаем N. После окончания сборки нода запустится, проверит уникальность вашей личности (1 акк алхимии = 1 нода) и присоединится к разуму улья. Обратите внимание, в самом начале она вас "поприветствует" в сети, и выдаст peer ID и имя (три рандомных слова типа "Wooly Bald Badger"). Сохраните их из вывода терминала себе в файлик, по ним будете отслеживать себя в дашбордах. Если пропустили - не страшно, в логах каждое сообщение с вашего имени начинается в любом случае.
Начнется долгий процесс обучения. Логи идут очень неспешно это нормально, учится и людям сложно, а нейросетям и подавно.
Вывод будет примерно следующим:

В дашборд сразу идти нет смысла, подождите пару тройку часов пока пройдет несколько шагов обучения, после чего заходим сюда: https://dashboard.gensyn.ai/
Вводим в поиске полностью три слова имени нашей ноды, следим за накоплением очков и за апдейтами по проекту.
ОБЯЗАТЕЛЬНО сделать резервную копию файла swarm.pem в директории с проектом, он создается после прохождения авторизации через алхимию. Мы же кошелек к ноде не привязали! Нода только по этому файлу нас и опознает. Будете переустанавливать -- подставляйте его из резервной копии чтобы сохранять прогресс. Хотите плодить больше нод - запасайтесь акками алхимии.
На этом всё! Следите за обновлениями в нашем канале по данному проекту (и вашей нодой!), там же вы можете задать вопросы по установке и настройке. Желаем успехов, и до встречи в нейробудущем!
No activity yet