Гайд по установке Gensyn ноды без GPU.
RL Swarm - это фреймворк с открытым исходным кодом, разработанный компанией GensynAI, вычисления для моделей глубокого обучения.
Ничего не понятно, но очень интересно)
https://github.com/gensyn-ai/rl-swarm?tab=readme-ov-file - оф github команды
https://cryptorank.io/ico/gensyn - сборы $ 50.6M
Требования:
Нужен сервер с минимум 16 ram.
Установка:
sudo apt-get update && sudo apt-get upgrade -y
Устанавливаем общие утилиты и инструменты:
sudo apt install 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
Устанавливаем Python, если не было:
sudo apt-get install python3 python3-pip
Клонируем репозиторий с Github:
git clone https://github.com/gensyn-ai/rl-swarm/ cd rl-swarm
Создаём docker-compose.yaml.
В этом файле определяются службы: RL Swarm node, сборщик телеметрии и веб-интерфейс.
Переименовываем и перезаписываем старый файл:
mv docker-compose.yaml docker-compose.yaml.old
nano docker-compose.yaml
Вставьте следующую конфигурацию:
Ps По умолчанию порт 8080, он может быть у вас уже занят. Меняйте при желании в соответствующей строке ports.
version: '3'
services:
otel-collector:
image: otel/opentelemetry-collector-contrib:0.120.0
ports:
- "4317:4317" # OTLP gRPC
- "4318:4318" # OTLP HTTP
- "55679:55679" # Prometheus metrics (optional)
environment:
- OTEL_LOG_LEVEL=DEBUG
swarm_node:
image: europe-docker.pkg.dev/gensyn-public-b7d9/public/rl-swarm:v0.0.1
command: ./run_hivemind_PU is available
environment:
- OTEL_EXPORTER_OTLP_ENDPOINT=http://otel-collector:4317
- PEER_MULTI_ADDRS=/ip4/38.101.215.13/tcp/30002/p2p/QmQ2gEXoPJg6iMBSUFWGzAabS2VhnzuS782Y637hGjfsRJ
- HOST_MULTI_ADDRS=/ip4/0.0.0.0/tcp/38331
ports:
- "38331:38331" # Exposes the swarm node's P2P port
depends_on:
- otel-collector
fastapi:
build:
context: .
dockerfile: Dockerfile.webserver
environment:
- OTEL_SERVICE_NAME=rlswarm-fastapi
- OTEL_EXPORTER_OTLP_ENDPOINT=http://otel-collector:4317
- INITIAL_PEERS=/ip4/38.101.215.13/tcp/30002/p2p/QmQ2gEXoPJg6iMBSUFWGzAabS2VhnzuS782Y637hGjfsRJ
ports:
- "8080:8000" # Maps port 8080 on the host to 8000 in the container
depends_on:
- otel-collector
- swarm_node
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8000/api/healthz"]
interval: 30s
retries: 3Запускаем:
docker compose up --build -d
Логи:
Команда чтобы проверить логи ноды:
docker-compose logs -f swarm_node
Команда чтобы проверить логи веб интерфейса:
docker-compose logs -f fastapi
Команда чтобы проверить логи сборщика телеметрии:
docker-compose logs -f otel-collector
Дашборд
Чтобы подключиться, в браузере вводим:
http://<ip твоего сервера>:8080
Ps Если меняли порт на другой, то соответственно:
http://<ip твоего сервера>:<ваш порт>
Node id
Выглядеть node id будет в таком формате:
[F-7878f291-edg6-4747-947a-a61e01a38bfd]
docker-compose logs -f swarm_node
Ctrl+C