- ラズベリーパイ Compute Blade 10台 とCM5モジュールを使って約 3,000ドル規模のAIクラスター を構築したが、性能とコストパフォーマンスの面で期待に届かなかった
- HPCベンチマークでは単一のPiと比べて 10倍の性能向上(325 Gflops) を得たものの、Frameworkデスクトップクラスターより4倍遅い結果 だった
- AIテストではGPUアクセラレーションがサポートされず、CPUベースの推論 に依存し、Llama 70Bモデル実行時のトークン生成速度は0.85 t/s程度 と非常に低かった
- ただし、低消費電力・低騒音・高密度 という利点により、CI作業、セキュリティが重要なエッジ配備、Torリレーノードのような特殊用途では意味があるかもしれない
- 全体としては 学習・実験目的 には面白いが、一般的なAI/HPC用途には適していないことを強調しており、ブレードサーバーの限界を示した事例である
序論とクラスター概要
- 2年前の2023年4月に 10台のCompute Blade を注文し、最近ようやくすべて到着してクラスターを完成させた
- その間にRaspberry Piが CM4からCM5へアップグレード されたため、16GB CM5 Liteモジュールを10個追加注文し、合計 160GBのメモリー 構成を完成させた
- 総 費用は3,000ドル(送料込み) で、個人が作った最大級のPiクラスターだった
- Piベースのブレードコンピューターとしては Xerxes Pi もあるが、発売や配送の遅延可能性が高く、それについても好奇心から支援した
- Piクラスターは今なお価値があるのか が気になり、性能・密度・効率をFrameworkデスクトップクラスターと比較しながら、投資価値があるかを検証しようとした
クラスター構築と繰り返しの作業
- 複数回の SSD互換性問題 と発熱問題により、クラスターを3回も再組み立てした
- 1回目の再組み立て: さまざまなNVMe SSDを使ったが、互換性と信頼性 の問題が発生し、Patriot P300 SSDに全面交換した後に安定性が改善した
- 2回目の再組み立て: 発熱によるスロットリング が発生し、ヒートシンクを しっかり固定 することで熱管理の問題を解決した
HPC(High Performance Computing)ベンチマーク結果
- High Performance Linpack(Top500)ベンチマーク でスーパーコンピューター性能を測定
- ヒートシンク装着前は 275 Gflops の性能、その後は最大 325 Gflops まで向上
- この数値は内蔵8GB CM5単一ノード比で 10倍の性能 で、消費電力は130W
- しかし 8,000ドルのFramework Desktop 4ノードクラスター と比較すると、Piクラスターは4倍遅い
- エネルギー効率(Gflops/W)ではわずかに優位だが、価格対性能ではFrameworkクラスターに及ばない
- 大規模HPCに適したソリューションではない
AI活用テストと限界
- 160GBのメモリーで AIクラスター を期待したが、Pi 5のiGPUではVulkanによるアクセラレーションが使えない
- AI推論は CPUに限定 され、Arm Cortex A76の限界により処理性能が大きく低下する
- Llama 3.2:3B モデルでは、1ノードで毎秒6トークンしか処理できなかった(相対的に遅い)
- ノード全体を使って大規模モデル(Llama 3.3:70B)を分散処理しても 0.28〜0.85トークン/秒 にとどまった(Frameworkクラスターより少なくとも5〜25倍遅い)
- Exo、distributed-llamaのような他の分散AIツールも、実運用には不安定だったり性能不足だったりする
- 全体としてAIワークロードには不向き
結論と現実的な用途の提案
- Piブレードクラスターは性能/コストパフォーマンスの面で競争力に欠ける選択肢 であり、学習・実験・趣味 目的以外では勧めにくい
- 一方で、管理のしやすさ、低騒音、コンパクトさ、ノード密度と分離性 では利点がある
- 実際には CI(継続的インテグレーション)作業 や 高セキュリティ・エッジコンピューティングのように隔離環境 を必要とする場面で、限定的に検討できる
- Unredacted Labsでは Tor exit relay などの大量ノード環境 で効率性とノード密度を最大化するために使用している
- しかし一般的な大半のユーザーにとっては、同程度のコストで より高い性能と効率を持つ別の代替手段 が存在する
- メーカーのGateworksも 産業用GBlade をかつて販売していたが、市場で成功せず販売終了となった
- 保守管理と実用性の面では大規模クラスター運用より単純だが、特別な理由がない限り勧めにくい環境 である
使用部品一覧
- (筆者は別途使用した部品リストを紹介しているが、同様の構成をそのまま複製することは勧めないと述べている)
5件のコメント
Vulkan について正確に言うと、「Pi 5 の iGPU がサポートする Vulkan API は、llama.cpp ではまだサポートされていない」が正しいですね。これがサポートされていたら、どれくらいの性能が出たのか気になりますね。
Hacker Newsの意見
分散システムに関心がある人には、最新の16コアAMD CPUを載せた単一マシン上で8つの仮想マシンを動かしてみることを強く勧める。各VMに4つのハイパースレッドと全RAMの1/8ずつを割り当て、Proxmoxのような仮想化ソフトウェア内で仮想ネットワークを作れば、クラスタの体験ができる。実際、VMを1台ずつワンクリックで停止させながら耐障害性テストもできる。こうした方法はPiクラスタよりもPerf/Wと利便性の面でずっと優れている。部品組み立てのストレスもなく、CPU、マザーボード、m.2 SSD、RAMを2枚用意すればよい。もちろん高コアマシンで仮想化なしに直接動かせば最も高いPerf/Wが出るが、ベンチマークで見落とされがちなのはアイドル時のW消費だ。クラスタを常時起動してたまにしか使わないなら、この点も非常に重要になる
CPU性能はそこまで高くなくてもよいと思う。古いクアッドコアでも十分可能だ
関連する話として、昔のMPIプログラムをAMDのマルチチップ・ワークステーションのような環境で動かすのがもっと広がると思っていたが、そうならなかったのは意外だった
実際のところ、ここまでのCPUパワーが必要なのか疑問だ。分散システムの実習なら、古いLinuxマシンやRaspberry Pi 1台にErlangを入れるだけでも、いくつかノードを構成して十分実験できる
数年前のRaspberry Pi騒動のとき、人々がこのおもちゃクラスタを作るために必死に入手しようとしていたのは残念だった。Piは本来教育目的だったのに、実際には無駄に使われることが多いと思う。私はxcp-ngでK8sの「クラスタ」を1つ動かしているが、実際にはもっと単純にもできる。Docker Machineでも1行で複数ホストを立ち上げられた。今はプロジェクトが終了したようだが、Docker Swarmならハイパーバイザなしでも簡単にサービスのスケール調整ができる
私はこの方法でPostgresのhot standbyやread replicaを実習した。HadoopやCassandraクラスタもこの方法で学んだ。こうしたシステムの設定や復旧シミュレーション経験を語れたおかげで、年収が2倍、3倍になった新しい仕事も得られた。ある程度実務力のある開発者なら、ぜひこうした実習をやってみることを強く勧める。キャリアのレベルアップに非常に役立つ
NormConfのセッション「Just use one big machine for model training and inference.」を思い出した。関連動画もおすすめ。そして古い名論文「Scalability! But at what COST?」(リンク)も本当に興味深い。結論だけ要約すると、並列処理のパフォーマンスにはAmdahl's Law以外にも気にすべき要素が本当に多い。スケールアウト型システムには、単一ノードにはない追加作業が山ほど必要だ。実際、マルチスレッドでも逐次コードにはない作業が多くなる。本当の性能の秘密は「実行しない演算が最も速い」という点にある
私が最初に回したベンチはtop500 High Performance Linpackクラスタベンチだった。伝統的なスーパーコンピュータの性能測定法なので愛着がある。熱問題を解決すると130Wほど使って325 Gflops出た。top500サイトのリストは1993年からあるので、70年代のとんでもない歴史の中にPiクラスタが入れるかと期待していたが、かなり最近だった。1993年(1位 131 Gflop/s、10位 15.24Gflop/s)〜1997年(1位 1,830,40、10位 326.4)で、2002〜2003年にはtop500から外れるようだ。Rpeak基準なのでRmaxで並べ替えないと正確ではないが、全部調べるのは難しいので省略する。こういうおもちゃクラスタにしてはかなり健闘したと思う。昔の「Apple Watchがアポロ計算機より速い」系の冗談に慣れていたので、もっと昔までさかのぼれると思っていた
RPIは常にCPU性能がひどかった。そもそも安価なBroadcomチップを活用して「教育用」という名目で作られたのがPiの趣旨だった。子どもたちがRaspberry PiでLEDを点滅させながら回路を学ぶためのものだ。Piクラスタで高性能計算をしようという発想は最初から無理がある
記事の内容をあまり額面通りに受け取るべきではない。筆者は成功したテックインフルエンサーで、高価な機材を買って自慢したあと、その価格が割に合わないとぶつぶつ言いながらお金を稼いでいる。彼の金銭感覚が私の金銭感覚と同じである必要はない
それは当然の話だが、本当のポイントは、今何かをやろうとするなら答えがRaspberry Piではない可能性が高いという点だ。価格に対するスペックがまったく見合っておらず、市場も停滞している
Jeffの動画はそれでも新鮮だと思う。他のYouTuberたちは繰り返し「YouTube動画向けのレンダリング時間、色精度、カメラ画質、音声クオリティ」ばかり比較するコンテンツに陥っているが、彼は違う
Dan Luuがこういうコンテンツ路線に転向してくれたらいいのにと思う
ものを作れる人なら、GPU1台で計算性能が10倍跳ね上がることはみんな知っている
見出しは少し刺激的に感じたが、筆者は実験そのものと機材の組み立てを本当に楽しんでいたように思える。だが「2023年4月にCompute Blades 10枚セットを注文したが、今回届いた」という冒頭の一文はかなり残念だ
Piクラスタが本当に性能あたりのコストで競争力があったなら、データセンターはすでにPiで埋め尽くされていただろう
これは経済学者の冗談「地面に落ちている20ドル札を誰も拾わない理由」に少し似ている。完全な市場効率性は長期的には働いても、短期的には慣れた習慣や経験的直感が大半を占める
PlayStationの話でもまったく同じことが言われていたのを忘れてはいけない
Piクラスタは……どんな用途でも本当に価格競争力がないように思える
Mythic Beastsという企業がrpiサーバーのレンタルサービスをしている(リンク)。ごく小規模な市場では、確かに使い道はある
この10年間、スーパーコンピュータがGPUを使っているのには理由がある。GPUのほうがずっと効率的だからだ。32bit並列処理が必要ならコンシューマ向けGPUを、64bitが必要ならRTX 6000 Proのようなプロシューマ向けGPUを買って挿せば終わりだ。今ではもう誰もCPUクラスタを作らない
残念ながらRTX 6000 Proも倍精度性能は2 TFLOPSで、単精度より64倍遅い。EPYC 9755は約10 TFLOPSで、しかも消費電力も少なくて済む。A100も同様だ。趣味レベルでHPC向けのDP演算をしたいなら、古いAMDカードのほうがむしろよい。今ではAMDもNVIDIAも、科学計算の顧客が高精度性能に大きな対価を払うことを理解している
El CapitanスーパーコンピュータもAMD CPU(内蔵GPUあり)を使っていて、最近のランキング上位にいる。Frontierも似た構成でそれに続く。GPUがそれぞれ独立したデータバスとメモリを持つ形が必ずしも最適とは限らない
Piクラスタは実際には高性能を狙うものではなく、楽しい趣味用の「変わり種」機材だ。そもそもコスト効率の高い方法だと期待している人はほとんどいない。YouTube風の刺激的な見出しがブログに流れ込んだ現象のようだ。実際にLinuxクラスタの実習が目的なら、デスクトップCPUにハイパーバイザを入れてVMを作るほうがずっと経済的だ。何本もケーブルを挿して雰囲気を楽しみたいのでなければ、結局システム資源の活用度と柔軟性の面でこちらのほうがはるかに効率的だ
本当にコスト効率よく実習したいなら、クラウドを使えばよい。たいてい実習が終わるとすぐ興味を失うので、デスクトップ機器の代金より先にクラウド課金のほうが終わる可能性が高い
計算してみたが、Mac Studioに最新のMx Ultraプロセッサと最大容量メモリを載せるのが、100B超のパラメータモデルを試す最もコスト効率の高い方法だ
従来型コンピューティングでは場所を取るだけで、電力・コスト面では勝っている。だがAIではGPUを使えず、llama.cppのクラスタリングソフトウェアも未成熟なので、有意義な結論を出すのは難しい。ソフトウェアが良くなれば変わるかもしれない
こうした議論では技術的背景がなくても結論は明確に出せると思う。みんながAIでGPUを使っている現実と、NVIDIA株の急騰を見れば答えはある。本当に投稿者が、世の中がRaspberry Piを挿すだけで済むことに気づいていなかったと思っていたのか疑問だ
一部のRaspberry Pi製品は赤字販売なので、その点だけでも「価格競争力があるかもしれない」という誤解が生じうる
「ブログに来たということは動画より文章のほうが好きだろうから、すぐ本題に入る」という筆者の一言には感謝した
ものすごく楽しく遊んでおいて後悔するなんてw プレイ時間が1000時間を超えているのに面白くないと言うのと何が違うんだ
たとえが絶妙ですね(笑)
wwwwwwwwwww