inference-labs-inc/subnet-2
Verifiable inference on Bittensor
Subnet 2 (τ, β) – Bittensor 的推理证明
它是什么 – Subnet 2 是一个基于 Rust 的实现,为 Bittensor 去中心化 AI 网络添加了 推理证明 层。它允许矿工运行编译为零知识(zk-ML)电路的 AI 模型,生成预测,并产生一个简洁的 zk 证明,证明输出确实来自该模型。验证者接收数据,检查证明,并根据证明大小、延迟和其他指标对矿工进行评分。奖励与证明的质量相关,而不仅仅是原始输出。
主要特性
- 零知识验证 – AI 模型预测被转换为加密“指纹”(zk-ML 电路)。验证者可以在不查看模型本身的情况下确认预测的来源。
- 原生 Rust 二进制文件 – 独立的
sn2-miner和sn2-validator可执行文件,使用 Rust 构建,以保证性能和安全。 - 双传输 – 通过 HTTP(使用 axum)和 QUIC(使用 btlightning)进行通信,提供低延迟的点对点消息传递。
- 自动更新二进制文件 – 发布的二进制文件每 5 分钟轮询 GitHub 并原子替换自身;与 PM2 进程管理器兼容。
- Docker 优先部署 – 官方 Docker 镜像(
ghcr.io/inference-labs-inc/subnet-2),附带现成的 compose 文件和用于自动镜像更新的 Watchtower 边车。 - 奖励机制 – 根据证明大小、生成时间和加密完整性对矿工进行评分,鼓励高效的 zk-ML 电路设计。
- 与 Bittensor 集成 – 使用
btcli处理钱包,通过 subxt 进行 Substrate RPC,并遵循 Opentensor 子网标准。
快速入门指南
先决条件
| 工具 | 为什么需要 |
|---|---|
| Rust (rustup) | 如果不使用预构建二进制文件,则从源代码构建 |
| PM2 | 用于持续运行二进制文件的进程管理器 |
| btcli | 用于创建钱包和子网注册的 Bittensor CLI |
| Docker (可选) | 无需安装 Rust 即可运行矿工/验证者 |
安装二进制文件(一行命令)
curl -fsSL https://raw.githubusercontent.com/inference-labs-inc/subnet-2/main/install.sh | bash
在脚本后添加 sn2-miner 或 sn2-validator 以仅安装该组件。
在网络上注册
btcli subnet register \
--subtensor.network finney \
--netuid 2 \
--wallet.name YOUR_COLDKEY \
--wallet.hotkey YOUR_HOTKEY
运行矿工(Docker compose – 推荐)
services:
subnet-2-miner:
image: ghcr.io/inference-labs-inc/subnet-2:latest
restart: unless-stopped
ports: ["8091:8091"]
volumes:
- /path/to/.bittensor:/home/subnet2/.bittensor
environment:
- PUID=1000
- HOME=/home/subnet2
command: >
sn2-miner \
--wallet-name YOUR_MINER_KEY \
--wallet-hotkey YOUR_MINER_HOTKEY \
--netuid 2
添加一个 Watchtower 容器(在 README 中显示)以自动更新镜像。
运行验证者(Docker compose)
services:
subnet-2-validator:
image: ghcr.io/inference-labs-inc/subnet-2:latest
restart: unless-stopped
ports: ["8443:8443", "9090:9090"]
volumes:
- /path/to/.bittensor:/home/subnet2/.bittensor
environment:
- PUID=1000
- HOME=/home/subnet2
command: >
sn2-validator \
--wallet-name YOUR_VALIDATOR_KEY \
--wallet-hotkey YOUR_VALIDATOR_HOTKEY \
--netuid 2
您也可以直接使用 PM2 运行二进制文件,或通过 make pm2-miner / make pm2-validator 运行,如 README 中所述。
架构概述
该仓库是一个 Rust 工作区,包含多个 crate:
| Crate | 作用 |
|---|---|
sn2-types |
矿工和验证者共享的常量、数据结构和协议定义 |
sn2-chain |
处理钱包交互、元图查询、子网注册、权重更新和自动更新逻辑 |
sn2-verify |
使用 Expander 后端(独立仓库)实现 zk 证明验证 |
sn2-validator |
验证者二进制文件 – 接收输入、发出挑战、检查 zk 证明并对矿工进行评分 |
sn2-miner |
矿工二进制文件 – 获取挑战、运行本地存储的 zk-ML 模型、返回预测和证明 |
通信层:
- HTTP 通过 axum 用于简单的 REST 风格请求。
- QUIC 通过 btlightning 用于更快、无连接的通信。
- Substrate RPC 通过 subxt 用于链上操作(权重、奖励、注册)。
硬件建议
矿工(最低要求)
- CPU: 8 核 @ 3.2 GHz
- 内存: 32 GB
- 网络: 400 Mbps 上行/下行
- 存储: 1 TB NVMe SSD
矿工(推荐)
- CPU: 8 核 @ 3.6 GHz+
- 内存: 64 GB+
- 网络: 1 Gbps 上行/下行
- 存储: 2 TB NVMe SSD
验证者(最低要求)
- CPU: 8 核 @ 3.2 GHz
- 内存: 16 GB
- 网络: 400 Mbps 上行/下行
- 存储: 1 TB SSD
验证者(推荐)
- CPU: 8 核 @ 3.4 GHz+
- 内存: 32 GB
- 网络: 1 Gbps+
- 存储: 2 TB SSD
更高的规格通常意味着更好的证明生成速度,从而获得更高的奖励。
了解更多
- 文档: https://sn2-docs.inferencelabs.com/
- 实时统计: https://sn2-stats.inferencelabs.com/
- 仪表板 (WandB): https://wandb.ai/inferencelabs/subnet-2
- Discord 社区: https://discord.gg/bittensor
- Twitter/X: https://x.com/inference_labs
Subnet 2 已更名为 Dani Labs (https://danilabs.ai/),但代码和部署说明对当前的 Bittensor 子网仍然有效。
相关
- 项目
- 项目
- Dispatch
- 项目
- Dispatch