hyperspaceai/agi を読む: P2P 分散学習と PoD クラスタの実装と限界
The first distributed AGI system. Thousands of autonomous AI agents collaboratively train models, share experiments via P2P gossip, and push breakthroughs here. Fully peer-to-peer. Join from your browser or CLI.
ひと目でわかる
- これは何?
- ブラウザまたは CLI から参加できる P2P ネットワーク上で、DiLoCo 系の分散学習と Pod 単位の推論クラスタを提供するリポジトリ。README の主張と実際に確認できる仕組みの差を整理する。
- 誰に向いている?
- GPU を余らせていて、モデル学習そのものより「独立ノード間で圧縮勾配を回す運用」に関心があるチームに向く。逆に、統計的な再現性や学習済みモデルの品質を期待する用途には向かない。
- 商用利用できる?
- できます。MIT は寛容なライセンスで、著作権表示とライセンス表示を残せば、使用・改変・販売が可能です。
- 今もメンテナンスされている?
- されています。直近 1 日以内に新しいコミットがあります。
- 何の言語で書かれている?
- 主に JavaScript です(GitHub の言語統計による)。
回答はプロジェクトの GitHub データ(最終同期:2026年9月15日)と当サイトの分析に基づくもので、法的助言ではありません。
オープンソース詳細解説
このリポジトリが解こうとしている問題
README の冒頭は「The first experimental distributed AGI system. Fully peer-to-peer. Intelligence compounds continuously.」と宣言する。だが実際に読むべきはその次の一文で、このリポジトリは「a living research repository written by autonomous AI agents on the Hyperspace network」だと説明されている。つまり人間が書いたコードベースであると同時に、エージェントが実験結果を push してくる受け皿でもある。対象読者は二種類に分かれる。一つは自分のマシンの GPU や CPU を提供して研究ドメインの実験に参加したい個人。もう一つは、独立した複数ノードでモデルを学習させる仕組みそのものに関心があるエンジニアだ。後者にとっての関心は「AGI」という言葉ではなく、信頼できる中央サーバーを置かずに勾配を共有する方法にある。README は 32 ノードが 24 時間で言語モデルを共同学習したと述べ、参加ハードウェアを「Consumer laptops, small VMs, a workstation in someone's home office」と具体的に挙げている。データセンターではなく家庭と小規模 VM の集合だという点が、この設計の出発点になっている。
DiLoCo と 195 倍圧縮が意味するもの
学習の仕組みは README によれば DiLoCo を採用している。各ノードがローカルで学習し、圧縮した重み差分を P2P ネットワーク経由で共有する。この方式では通信量がそのままボトルネックになるため、圧縮の内訳が重要になる。SparseLoCo は LoRA 差分に top-k スパース化をかけ、生の差分に対して 45 倍の圧縮。Parcae gradient pooling は近接する transformer 層を 6 層ずつのブロックにまとめ、ブロック内で勾配を平均化して、SparseLoCo の上にさらに 6 倍を乗せる。合計で 195 倍、1 ラウンドあたり 5.5 MB が 28 KB になるという数値が表に示されている。ここで注意したいのは、層の平均化がモデル容量そのものを削っているわけではない点だ。勾配の通信だけを削り、各ノードのローカルモデルはそのまま学習を続ける。もう一つの設計は adaptive inner steps で、ノードごとにハードウェア速度を計測し、25 分の学習バジェットを埋めるのに最適なステップ数を計算する。速い GPU ノードは 100 ステップ以上、遅い CPU ノードは 5 から 10 ステップ。遅いノードが足を引っ張るのではなく、同じ時間枠の中でできることを変えるという発想である。
Pod は推論クラスタ、学習とは別系統
README を読むと Pod と分散学習が同じ段落に並んでいるが、実際には別の機能だ。Pod は「a small group pool their machines into one shared AI cluster」と定義され、誰かが作成し、招待リンクを配り、マシン同士がメッシュを組む。コマンドは4つ示されている。hyperspace pod create "my-lab" で作成、hyperspace pod invite で招待リンク取得、hyperspace pod members で接続メンバー確認、hyperspace pod models でクラスタ全体のモデル一覧。推論クエリは「whichever member has the best model loaded」にルーティングされる。対応モデルとして Qwen 3.5 32B、GLM-5 Turbo、任意の GGUF が挙がっている。API キーのプールも Pod の機能で、OpenRouter、Groq、Together のキーをメンバーごとの予算付きで共有できる。Pod VM は 9 プロバイダ (Oracle Free、Scaleway、Fly、Vultr、Lightsail、DO、Linode、Hetzner、Vercel) で常時稼働のエージェントデーモンを動かす。Pod Capsule は vault、providers、settings を含むポッド状態全体を .tar.gz にまとめ、AES-256-GCM で暗号化する。docker compose up によるセルフホストも可能とされている。小規模チームが遊休マシンを寄せ集めて推論基盤を作る、という用途が最も素直な使い方だろう。
インストールと実行の実際
参加経路は3つ。ブラウザからなら https://agents.hyper.space を開くと即座にエージェントが作られる。CLI からは curl -fsSL https://agents.hyper.space/api/install | bash を実行する。README はこの経路を「full GPU inference, background daemon, auto-start on boot」と説明している。学習に参加するなら hyperspace train、自分のデータでローカルに回すなら hyperspace train --solo を使う。エージェントから利用する場合は OpenAI 互換 API がローカルに立つ。Base URL は http://localhost:8080/v1、エンドポイントは /chat/completions、/models、/embeddings。スキルファイルは agents.hyper.space/skill.md に置かれている。チェーンのフルノードを動かす場合は curl -sSL https://download.hyper.space/api/install | bash の後に hyperspace start --chain-role fullnode を実行する。README によれば現在の CLI は v5.20.0 で、Parcae-inspired gradient pooling と adaptive inner steps が入っている。インストールスクリプトを curl でパイプして bash に渡す形式なので、実行前にスクリプトの中身を確認するか、ダウンロードしてから実行する判断は各自で行う必要がある。
snapshot が示す、ドメイン間の偏り
README には毎時ノードがネットワークの研究状態を snapshots/latest.json と snapshots/YYYY-MM-DD/HH.json に publish すると書かれている。サンプルとして載っている JSON は version 2、generatedBy に 12D3KooW で始まる Peer ID、summary に「660 agents, 27,247 experiments, 5 domains active」。leaderboards は machineLearning、searchEngine、finance、skills、causes の5つ。ここで experimentCounts を見ると mlTotalRuns が 1369、searchTotalRuns が 13、financeTotalRuns が 0 と記録されている。5 ドメインが active と要約されていても、実行数は機械学習に大きく偏っている。README 自身が「Raw CRDT leaderboard state. No statistical significance testing. Interpret the numbers yourself.」と disclaimer を付けている通り、この数字は統計的な裏付けのあるベンチマークではない。リーダーボードの順位は CRDT の状態であって、条件を統制した比較ではない。参加を検討するなら、まずこのファイルを取得して自分の関心ドメインにどれだけ実行があるか確認するのが現実的な第一歩になる。
Mysticeti とチェーン部分の未整理
ブロックチェーン部分は blockchain/README.md に分離され、Chain ID は 808080。Mysticeti コンセンサスは Sui の uncertified DAG を Rust FFI 経由で使うと説明されている。stateless execution は proof-carrying transactions と組み合わせ、Hyperpaper-compliant (§ V) を v1.0.0 以降で満たすとされる。payment channel は一度開いて sub-cent の金額をストリームし、オンチェーンで閉じる。エージェント間のマイクロペイメント用だ。バージョン履歴は v0.2.0-alpha から v1.5.7 までの 54 リリースと記載されている。ただし手元にあるリリース情報は chain-v1.7.8、chain-v1.7.7、chain-v1.7.6 の3件で、いずれも 2026-04-29 に公開され、内容は同じ「Mysticeti force-commit-at-frontier fix」。同日に3回、同一の修正名でリリースが切られている。README の「54 releases」という記述と、この短期間の連続リリースは整合していない。パッチを当てては戻す作業が続いていた可能性を示すが、リポジトリの外からは理由を確認できない。チェーン機能を本番で使うなら、この点は自分でリリースノートとコミット履歴を追う必要がある。
向かない用途と、比較対象としての中央集約型
このリポジトリが向かないのは、再現性のある学習結果や品質保証されたモデルを必要とする場面だ。README 自身が統計的有意性の検証をしていないと明記しており、参加ノードのハードウェアも学習データも統制されていない。同じ実験を回しても同じ結果は出ない。もう一つの限界は、参加ノードの離脱だ。adaptive inner steps は 25 分のバジェットを前提にしているが、その間にノードが落ちた場合の扱いについて README は何も述べていない。autonomous worker が exponential backoff で再試行し、CLI の再起動をまたいで生存するとは書かれているが、これはワーカープロセスの話であって学習ラウンドの整合性の話ではない。比較対象としては、単一のクラウドインスタンスで動かす通常の PyTorch DDP がある。DDP は全ノードが同一の高速インターコネクト上にあり、all-reduce で毎ステップ同期する。DiLoCo 系は同期頻度を落として通信量を削る代わりに、ノード間のモデル状態が一時的にずれることを許容する。ネットワークが遅く、ノードが地理的に散らばり、一部が落ちても回り続けてほしい場合にだけ DiLoCo 側を選ぶ理由がある。逆に、安定したインターコネクトと統制されたデータがあるなら、DDP の方が結果の解釈は単純になる。
ライセンスと維持コストの見取り図
ライセンスは MIT。法的助言ではないが、MIT は商用利用、改変、再配布を許可し、著作権表示とライセンス文の保持を求める。派生物を閉源で配布することも許容される。ただし注意点として、CLI のインストールは https://agents.hyper.space/api/install と https://download.hyper.space/api/install という外部ホストのスクリプトに依存している。リポジトリの MIT ライセンスはこの配布経路やネットワーク側のサービスには及ばない。維持コストの面では、CLI が v5.20.0、チェーンが v1.7.x と別々のバージョン系列で動いており、リリース頻度も高い。README の記述は「Day 1」という表現や、32 ノードの学習実績、54 リリースといった数字が混在していて、どの時点の状態を指しているのか判別しにくい箇所がある。追従するなら、README の記述ではなく snapshots/latest.json と実際のリリースタグを基準にした方が確実だ。Pod Capsule の AES-256-GCM が何を暗号化し、鍵を誰が保持するのかは README からは読み取れない。チームの認証情報を Pod に預ける前に、そこは自分でコードを確認する範囲になる。
編集部の結論
GPU を余らせていて、モデル学習そのものより「独立ノード間で圧縮勾配を回す運用」に関心があるチームに向く。逆に、統計的な再現性や学習済みモデルの品質を期待する用途には向かない。導入前に確認すべきは、snapshots/latest.json の experimentCounts が示すドメインごとの実行数の偏り、chain-v1.7.x が同一日に3回出ている理由、そして Pod Capsule の AES-256-GCM 暗号化で何が保護され何が保護されないかである。
コミュニティノート