Bittensor SN1 Apex:AIアルゴリズムをコンペで競わせてTAO報酬を得る分散型プラットフォーム

タグ BittensorTAO報酬強化学習分散AIプラットフォームアルゴリズムコンペPythonRL Battleship暗号資産columnコラムlinuxLinuxGitHubオープンソースmacrocosm-osapex

Bittensor SN1 Apex:AIアルゴリズムをコンペで競わせてTAO報酬を得る分散型プラットフォーム

ひとことでいうと

Apex(SN1) は、Bittensor(ビットテンサー)というブロックチェーン(取引記録を分散管理する仕組み)の上で動く、AI アルゴリズムの競技プラットフォームです。参加者は Python(パイソン)で書いたプログラムを提出するだけで、自動的に採点され、成績に応じて TAO(タオ) という暗号資産を受け取ることができます。現在は「RL Battleship(艦隊戦ゲームを使った強化学習コンペ)」と「Iota Simulator(分散ネットワークの経路最適化コンペ)」という 2 つのコンテストが稼働中です。アルゴリズムの腕試しをしながら報酬も得られる、研究者・開発者向けの実践的な場所です。


こんな人におすすめ

1. 機械学習・強化学習を試したいエンジニアや研究者 自分で作った AI モデルやアルゴリズムを、実際の競争環境でテストしてみたい方に最適です。提出したコードはリアルタイムで採点され、スコアがそのまま TAO 報酬に反映されるため、研究成果を「実用的な数字」で見える化できます。

2. Bittensor で TAO を稼ぎたい開発者 TAO トークンを獲得する手段としてマイナー(アルゴリズム提出側)またはバリデーター(採点・報酬分配側)のノードを運用したい方に向いています。既存の Bittensor ウォレット(暗号資産を管理する財布のようなもの)があればすぐに始められます。

3. 分散コンピューティングや最適化問題を学びたい方 Iota Simulator は、ノードの離脱・参加や通信遅延など現実的な条件が組み込まれたベンチマーク環境です。教科書では扱いにくい「実運用に近い問題」を題材に、アルゴリズム開発の練習ができます。


インストール・使い方

Apex は Python 3.12uv(ユーブイ:Rust 製の高速 Python パッケージマネージャー)を推奨しています。ターミナル(文字で命令を送る画面)を開いて、以下の手順をコピー&ペーストで進めてください。


Step 1:リポジトリ(ソースコードの置き場)をダウンロードする

git clone https://github.com/macrocosm-os/apex
cd apex

git clone でプロジェクト一式をパソコンに複製し、cd apex でそのフォルダの中に移動します。


Step 2:uv をインストールして依存ライブラリをそろえる

# uv がまだ入っていない場合はインストール
curl -LsSf https://astral.sh/uv/install.sh | sh
source $HOME/.local/bin/env

# 依存ライブラリをインストール(バージョンが固定されるので環境が揃いやすい)
uv sync

# または付属のスクリプトを使う方法もある
bash install_cli.sh

uv sync を実行すると、uv.lock というファイルに記録されたバージョン情報をもとに必要なライブラリが一括でインストールされます。「どのパソコンで動かしても同じ結果になる」という再現性の高い環境が整います。


Step 3:Bittensor ウォレットを作る(マイナー・バリデーター共通)

btcli wallet new_coldkey --wallet.name my_wallet
btcli wallet new_hotkey --wallet.name my_wallet --wallet.hotkey my_hotkey

coldkey(コールドキー)は資産を管理する鍵、hotkey(ホットキー)はネットワーク上での操作に使う鍵です。それぞれ作成しておくことで、ブロックチェーンへの参加や TAO の受け取りができるようになります。


Step 4:バリデーターノードを起動する(バリデーターとして参加する場合)

python scripts/start_validator.py \
  --wallet.name my_wallet \
  --wallet.hotkey my_hotkey \
  --netuid 1

--netuid 1 はサブネット 1(Apex)を指定するオプションです。このコマンドを実行すると、マイナーのコードを自動で評価し報酬を分配するノードとして参加できます。マイナーとして参加する場合の Apex CLI の詳細な使い方は、公式ドキュメントを参照してください。


動かしてみた

Docker(ドッカー:隔離された仮想環境でアプリを動かす仕組み)コンテナ上で環境を確認したところ、Python のバージョンは以下のとおりでした。

Python 3.12.13

プロジェクトのルートフォルダには pyproject.toml(プロジェクト設定ファイル)、uv.lock(バージョン固定ファイル)、scripts/start_validator.pyinstall_cli.sh が揃っていました。uv.lock があることで依存ライブラリのバージョンが固定され、「自分の環境では動いたのに他の人の環境では動かない」という問題が起きにくくなっています。また .python-version ファイルで Python 3.12 系が明示されており、開発から運用まで一貫した環境を保てる構成です。


ブラウザで試す

RL Battleship コンペティションの戦略比較シミュレーターと解説は、ブラウザから気軽に体験できます。ランダム探索と Hunt & Target(命中後に隣接マスを優先して探す戦略)を何度か動かして、ターン数の違いを比べてみてください。実際にアルゴリズムを提出する前に、問題設定の雰囲気をつかむ入口として活用できます。


はじめの一歩:コンペティションを理解する

Apex には現在 2 つのコンペティションがあります。それぞれ異なる能力を試す設計です。参加前に問題設定を把握しておくと、アルゴリズム選びがスムーズになります。

RL Battleship(強化学習×海戦ゲーム)

10×10 のグリッド上に配置された艦船を、できるだけ少ないターン数で全滅させることを目指すコンペです。マイナーはモデルを訓練して提出し、ゲーム環境の中でスコアが計算されます。試せるアプローチとして、ランダム探索・確率的推論・Hunt & Target 戦略・DQN や PPO などの強化学習(RL)エージェントなどがあります。

  • まずはランダム探索の実装からはじめて、ターン数の基準値をつかむ
  • 次に Hunt & Target を実装してランダムとのターン数差を比べる
  • RL エージェントへの拡張は、小さな改善を積み重ねる形で進めると取り組みやすい

Iota Simulator(分散ネットワークの経路最適化)

異なる種類のノードが混在するネットワーク上で、深層学習の順伝播・逆伝播に使う活性化データを効率よく転送するルーティングアルゴリズムを競うコンペです。ノードの離脱・参加(チャーン)、可変遅延、帯域幅制約といった現実に近い条件下でスコアリングが行われます。

  • まずシンプルな最短経路ルーティングを実装して動作を確認する
  • チャーンへの耐性を高めるフォールバック(予備経路)を段階的に追加していく
  • 帯域幅制約を意識した優先度付きキューの導入で大きくスコアが変わることが多い

活用アイデア

  • 強化学習アルゴリズムの A/B テスト: RL Battleship を舞台に、DQN・PPO・モンテカルロ木探索など複数の手法を並べて性能比較できます。スコアが TAO 報酬に直結するためモチベーションが続きやすく、研究のアウトプット場としても機能します。
  • 分散システム研究のベンチマーク環境: Iota Simulator を使い、パイプライン並列学習における通信ボトルネックを解消するアルゴリズムを開発・評価できます。ノードチャーンや帯域幅制約など教科書に出ない現実的な条件でテストできる点が特徴です。
  • TAO 報酬を得るバリデーター運用: マイナーのコードを評価するバリデーターノードを安定稼働させることで、継続的に TAO を獲得できます。インフラ運用の実務経験を積みながら収益化できるため、個人開発者のサイドプロジェクトとしても向いています。
  • 学生・社会人の腕試しプラットフォーム: アルゴリズムコンテストに近い感覚で参加でき、スコアと報酬という 2 軸でフィードバックが得られます。ポートフォリオ(実績集)にも「実際のブロックチェーン上で稼働したアルゴリズム」として記載できます。
  • チーム開発の実験場: 複数人でアルゴリズムを分担して開発し、スコアで比較する「社内コンペ」として活用することもできます。TAO 報酬が共通の目標になるため、チームの方向性を合わせやすくなります。

用語とポイント解説

Bittensor(ビットテンサー) 機械学習モデルの分散ネットワークで、参加者に TAO トークンで報酬を分配するブロックチェーンです。かんたんに言うと、「AI の仕事をすると暗号資産がもらえる分散型の仕組み」です。ネットワーク全体に参加者が分散しているため、単一の運営者に依存しない点が特徴です。

サブネット(SN1) Bittensor 上の特定タスクに特化したサブネットワークのことです。かんたんに言うと、「Bittensor という大きなネットワークの中にある、特定のお題専用の部屋」です。Apex はサブネット 1(SN1)として稼働しており、AI アルゴリズムのコンペを専門に扱っています。

マイナー アルゴリズムを提出して評価を受け、報酬を獲得する参加者のことです。かんたんに言うと、「コンテストに作品を出す側」です。Python で書いたコードを Apex CLI で提出するだけで参加でき、バリデーターによる採点が自動で行われます。

バリデーター マイナーのコードを評価し、スコアに基づいて報酬を分配するノード(ネットワーク上の一つの端末)を運営する役割です。かんたんに言うと、「コンテストの審査員兼賞金配布係」です。評価処理は自動化されており、ノードを起動しておくことで継続的に機能します。

TAO(タオ) Bittensor のネイティブトークン(その仕組み専用の暗号資産)で、評価スコアに応じて報酬として分配されます。かんたんに言うと、「Bittensor 上での仕事に対して支払われる独自のポイント兼暗号資産」です。スコアが高いほど受け取れる TAO が増える設計になっています。

uv(ユーブイ) Rust(ラスト)というプログラミング言語で作られた、高速な Python パッケージ・プロジェクトマネージャーです。かんたんに言うと、「必要なライブラリをまとめて素早くインストールしてくれる道具」です。uv.lock ファイルによってバージョンが固定されるため、異なる環境でも同じ状態を再現できます。

コンペティション 特定の問題設定に対してマイナーが競う、複数ラウンドからなる評価イベントです。かんたんに言うと、「アルゴリズムを使ったオンライン競技会」です。現在は RL Battleship と Iota Simulator の 2 種類が稼働しており、それぞれ異なる能力が問われます。

チャーン(Churn) ノードがネットワークに頻繁に参加したり離脱したりする現象のことです。かんたんに言うと、「メンバーが入れ替わり立ち替わり変わる不安定な状態」です。Iota Simulator ではこのチャーンが評価条件の一つとして組み込まれており、不安定な環境でも正しく動くアルゴリズムが高いスコアを得られます。

強化学習(RL:Reinforcement Learning) エージェント(行動主体)が環境と試行錯誤しながら報酬を最大化する方向に学習する機械学習の手法です。かんたんに言うと、「失敗と成功を繰り返しながら最善手を学ぶ AI の訓練方法」です。RL Battleship ではこの手法を使って艦船を効率よく撃沈する戦略を学ばせることができます。


Apex は、AI アルゴリズムの開発・研究・学習を「競技」と「報酬」という形で実践に結びつけるユニークなプラットフォームです。コードを書いてすぐに結果が数字で返ってくる環境は、モチベーションの維持にも大きく役立ちます。ぜひ強化学習モデルの実力試しや、分散ネットワーク最適化の研究テーマの検証などに活用してみてはいかがでしょうか。