NESA
🪓 Telegram канал UTSA 🪓 Telegram чат UTSA
Nesa была создана как альтернатива ChatGPT и другим сегодняшним платформам вывода, которые централизованы и контролируются крупными игроками. Nesa - это глобальная сеть блокчейнов, объединяющая искусственный интеллект. Платформа Nesa позволяет приложениям, протоколам и смарт-контрактам легко интегрироваться с ИИ
В данном руководстве будет описан процесс запуска майнера. Для запуска валидатора необходимо быть отобранным в вайтлист. Для этого заполните форму https://forms.gle/uhfE4P1YZcJEogW16
В последних версиях скрипта установки нет возможности выбора моделей, но это может вернуться в будущем, поэтому важно знать варианты и модели, но самый простой вариант выбрать Non-Distributed
Distributed Miner: Присоединяется к существующим swarms для совместного майнинга. Высокая степень децентрализации с большим количеством участников
Non-Distributed Miner: Работает независимо, без сотрудничества. Низкая степень децентрализации, контролируемая центральным органом власти. Подобие пула
При выборе некоторых моделей необходимо дать разрешение на сайте https://huggingface.co/meta-llama/Meta-Llama-3.1-70B-Instruct
Основные отличия distributed и non-distributed miner
distributed майнерские стимулы обычно структурированы для вознаграждения нескольких участников децентрализованной сети. Это распространено в публичных блокчейнах, таких как Bitcoin и Ethereum
Rewards: майнеры получают вознаграждения в виде криптовалюты (например, Bitcoin, Ether) за успешную проверку и добавление новых блоков в блокчейн
Transaction Fees: майнеры также получают комиссию за транзакцию, которые они добывают
Decentralization: стимулы призваны побудить к участию большое количество майнеров, гарантируя, что сеть останется децентрализованной и безопасной
Competition: майнеры соревнуются в решении криптографических головоломок, и первый, кто решит ее, получает награду. Этот процесс известен как «Доказательство работы» (PoW)
non-distributed (или централизованная) система, стимулы для майнинга управляются центральным органом или небольшой группой субъектов. Это встречается реже в контексте криптовалют, но может наблюдаться в частных или разрешенных блокчейнах
Fixed Rewards: майнеры могут получать фиксированные вознаграждения или зарплаты за свою работу, как это определено центральным органом власти
Controlled Environment: центральный орган власти может контролировать процесс майнинга, включая то, кто может участвовать и как распределяются награды
Efficiency: поскольку окружающая среда находится под контролем, система может быть более эффективной и быстрой, но при этом приходится жертвовать децентрализацией
Security: безопасность сети больше зависит от мер центрального органа власти, а не от широкой децентрализованной сети участников
- В данной тестовой сети Вы можете самостоятельно попробовать протестировать Distributed и различные модели, но легче всего будет использовать Non-Distributed с небольшой моделью. В будущем это может измениться
- При регистрации указывайте действующий email и сохраните данные кошелька
- Команда будет отслеживать раннюю регистрацию, аптайм и работу
- Для Nesa спецификации оборудования для узлов майнера и валидатора схожи, обычно требуя высокопроизводительных ЦП и достаточного объема оперативной памяти. Однако графический процессор не является обязательным для запуска узла майнера, хотя его наличие может повысить производительность для определенных задач, таких как обработка рабочих нагрузок ИИ. Так VPS 4/8/160 не всегда справляется с легкими задачами Non-Distributed и вылетает из-за нехватки памяти
- В настоящее время для правильной работы майнера нужно открыть порт 31333, так как через данный порт майнер будет получать задания. В будущем ожидается, что обязательное использование порта 31333 будет отменено
ufw allow 31333
- Если у Вас уже используется порт 8080, который также необходим для работы майнера (открывать не обязательно), то его можно изменить отредактировав
~/.nesa/docker/ipfs.yml
и изменить, к примеру 8080:8080 на 38080:38080 или любой другой порт - Если у Вас Response Count не увеличивается, то проверьте не работаете ли Вы через ipv6, которая не поддерживается. Для улучшенной работы рекомендуется отключить ipv6. Отредактируйте
$HOME/.nesa/env/base.env
и измените PUBLIC_IP=<ВАШ_IP_ipv4>. После изменения IP запустите скрипт настройки/установки повторно
Подготовка сервера
# обновляем репозитории apt update && apt upgrade -y # устанавливаем необходимые утилиты apt install curl iptables build-essential git wget jq make gcc nano tmux htop nvme-cli pkg-config libssl-dev libleveldb-dev libgmp3-dev tar clang bsdmainutils ncdu unzip llvm libudev-dev make protobuf-compiler -y
Устанавливаем docker + docker-compose
# https://www.digitalocean.com/community/tutorials/how-to-install-and-use-docker-on-ubuntu-20-04-ru apt update && \ apt install apt-transport-https ca-certificates curl software-properties-common -y && \ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - && \ add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable" && \ apt update && \ apt-cache policy docker-ce && \ sudo apt install docker-ce -y && \ docker --version
# ручная установка docker-compose https://www.digitalocean.com/community/tutorials/how-to-install-and-use-docker-compose-on-ubuntu-20-04-ru # проверяем версию https://github.com/docker/compose/releases и подставляем в команду установки curl -L "https://github.com/docker/compose/releases/download/v2.10.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose chmod +x /usr/local/bin/docker-compose ln -sf /usr/local/bin/docker-compose /usr/bin/docker-compose # проверить версию docker-compose --version
sudo apt-get install linux-headers-$(uname -r) distribution=$(. /etc/os-release;echo $ID$VERSION_ID | sed -e 's/\.//g') wget https://developer.download.nvidia.com/compute/cuda/repos/$distribution/x86_64/cuda-keyring_1.0-1_all.deb sudo dpkg -i cuda-keyring_1.0-1_all.deb sudo apt-get update sudo apt-get -y install cuda-drivers --- curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \ && curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \ sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \ sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list sed -i -e '/experimental/ s/^#//g' /etc/apt/sources.list.d/nvidia-container-toolkit.list sudo apt-get update sudo apt-get install -y nvidia-container-toolkit --- sudo nvidia-ctk runtime configure --runtime=docker sudo systemctl restart docker nvidia-smi #nvcc --version
# Create a docker group (if non-existent), adds the current user, # and applies group membership immediately in the current session sudo groupadd docker sudo usermod -aG docker $USER newgrp docker
Получение токена API Hugging Face
Для начала нам необходимо получить токен API Hugging Face
- Переходим на сайт https://huggingface.co/docs/hub/security-tokens и регистрируемся
- После регистрации подтверждаем свой email
- Переходим в настройки аккаунта и выбираем Access Tokens
- Нажимаем создать новый токен - даем права и сохраняем наш токен в надежном месте!!! Убедитесь, что Ваш API-токен Hugging Face надежно сохранен. Он понадобится Вам во время настройки
Можно использовать несколько экземпляров VPS для запуска приложений, которым требуется доступ к вашему токену API Hugging Face. Каждый VPS может использовать один и тот же токен API для выполнения запросов к Hugging Face, при условии, что они находятся в пределах ограничений использования, определенных вашим планом Hugging Face
Start Mining
# Если запускаете из под root, то вводите команду curl -sSL https://raw.githubusercontent.com/nesaorg/bootstrap/master/bootstrap.sh | sudo bash # Универсальный скрипт для запуска валидитора или майнера bash <(curl -s https://raw.githubusercontent.com/nesaorg/bootstrap/master/bootstrap.sh)
Сначала нам предлагаю выбрать Wizardy или Advanced Wizardy. Выбираем Wizardy. Нажимаем ENTER
Wizardry — это стандартный режим настройки, в котором скрипт шаг за шагом проводит Вас через процесс настройки, запрашивая ввод данных при необходимости. Он разработан, чтобы провести Вас через установку с минимальной сложностью
Далее соглашаемся с предложенным моникером или редактируем его. Не используем пробелы. Нажимаем ENTER
Далее вводим действующий email. Нажимаем ENTER
В новой версии скрипта ввели реферальную систему. Вы можете ввести мой кошелек или оставить кошелек разработчиков по умолчанию. Мой кошелек nesa1qxluyha0wqmvtkclefd0292wtp6rv8n600xv88
Далее нам необходимо вставить наш API key от Huggingface, который мы получали ранее. Нажимаем ENTER
Далее нам необходимо использовать private key, совместимый с Cosmos. Кошелек Keplr не даст Вам private key, поэтому можно скопировать Вашу seed фразу и импортировать ее в кошелек Leap, чтобы получить private key. Нажимаем ENTER
В конце нам покажется вся наша конфигурация и необходимо будет нажать Y для
Ниже правильные логи оркестратора при обработке задания
После запуска майнера мы можем просмотреть статистику нашего майнера в браузере. Для этого вводим команду, вывод которой вставляем в браузер
node_id=$(cat $HOME/.nesa/identity/peer_id.id) echo https://node.nesa.ai/nodes/$node_id
Полезные команды
# проверить логи docker logs -f -n 100 orchestrator docker logs -f -n 100 ipfs_node docker logs -f -n 100 mongodb # рестарт контейнеров docker restart orchestrator mongodb docker-watchtower-1 ipfs_node # остановить контейнеров docker stop orchestrator mongodb docker-watchtower-1 ipfs_node # удалить контейнеров docker rm orchestrator mongodb docker-watchtower-1 ipfs_node