IT物語

Metaの最新AI Research SuperCluster (RSC) は驚異的

Meta (Facebook) が世界最高性能のAI向けスパコンを開発中だ。2022年1月24日の発表時点で、既にフェーズ1として稼働開始済みとのことだ。(現在は1日程度のモデル学習を実行中とのこと)

この段階でも世界TOP 500にランクインできるレベルだけれども、2022年中頃に完了予定のフェーズ2で稼働開始した時には、文字通り「世界一」を目指すのだそうだ。

なんか私の周囲では、「16,000個のGPUしか使わないんでしょ。大したことないのでは?」とか、「今はエクサバイトデータで学習するなんて、当たり前じゃないの?」という人たちがいる。

しかし僕もAIの世界は素人だけれども、地道に各社の発表を読むと、たしかに現時点では世界最高性能を実現するための努力を進めていることが分かって来る。

今回は関係者たちが、何をどのように頑張っているのかを紹介してみたいと思う。

[フェーズ1]

  • A100 GPU:6080個(Ph.2で16000個)
  • NFSストレージ:10PB
  • bulkストレージ:175PB(Ph.2で1EB)
  • 用途:1日程度のNLP学習

(フェーズ2(Ph.2)の性能目標:大規模NLPワークロードを現行9週間->3週間(3倍化))

設置場所の問題

Meta (Facebook) の最新AI Research SuperCluster (RSC)システムは、シリコンバレーのMeta社内に設置されている。どこに書かれているを忘れてしまったので出典を提示できないけれども、少なくともエンジニアがMeta本社所在地のシリコンバレーで募集されているし、勘違いではないだろう。

ちなみに日本でも、この手の大規模AIスパコンシステムは東京/大阪近辺が多い。なぜなら利用目的がAIなので、ちょっとばかり特殊なスパコンとなる。そういった特別なシステムだと、お守をするのにも、特別な技術を持ったエンジニアが必要となる。

それに今回のRSCは、Penguin Computingがシステム設計や運用を担当し、Pure StorageやNVIDIAが部品提供している。NVIDIAはGPU (Graphic Processing Unit) だけではなくて、超並列用のQuantum Inifinibandネットワーク技術などを提供している。そういった面々がスパコンの運用を支えるとしたら、どうしてもシリコンバレーだとかシアトルだとか、設置場所が限定されてくる。

おまけに今回はMetaのデータセンターに存在する生データを、研究用に利用することになっている。何か処理を実行するたびに、ネットワークからRSCへデータ転送を実施する。こういったネットワーク事情からも、設置場所が限定されてしまう。

そしてのこの設置場所の制約により、二つの問題が生じて来る。電力と温度だ。

電力確保

まず最近は耳にしなくなったけれども、シリコンバレーのあるカルフォルニア州は、あまり電力事情が宜しくない。僕が住んでいた時には無かったけれども、大規模停電が発生したこともある。

もちろんRSCが設置されるようなデータセンター (DC) は、停電に対応するための自家発電設備が備わっている。ちなみに僕のこのブログが動作しているコンピュータも、かつては北海道の石狩川にあるデータセンターに設置されていて、北海道停電時には自家発電で乗り切った。(72時間ほど停電)

しかし… これから少しずつ紹介して行きたいけれども、ともかく設置されているのは、世界一を目指すAIスーパーコンピューター (HPC:High Performance Computer) だ。消費する電力量も、並みじゃない。スーパーだ。

なおAmazon AWSやMicrosoft Azure向けの大規模データセンターは、川近くに設置されていることが多い。理由はお察しの通り、「水力発電」だ。(つまり発電所の近くが多い)

ちなみに僕も自宅でAIシステムPCを構築したことがあるけれども、ともかく電力代が大変だった。10年前のGPUだけれども、一個だけで消費電力は250Wだった。二つ持っていたので、それらを同時に駆動したら、500Wの電子レンジを使っているようなものだ。

それが電子レンジのように数分でなく、下手すると数週間もAI学習処理でフル稼働する。他の方々と同様に、AIシステム用PCには、1000Wの電源装置を採用した。

そういえば某社のDCにコンピュータ(サーバーマシン)を納品した時には、当初は安定稼働してくれなくて困った。で、原因を調べたら、電圧が92Vしか無かった。どんどんとコンピュータ関連機器を増設していったので、電源設備が追い付かなくなってしまったらしい。

そんな訳で、RSCはシリコンバレーに設置せざるを得ないけれども、電力問題というのが課題として存在する訳なのだ。(首都圏にしても、最近は電力不足が問題になっている。基本的だけれども、本当に切実な問題なのだ)

温度の問題

さて壮絶に電力を消費するRSCだけれども、電力の全てが計算処理に消費される訳ではない。現在のITテクノロジーでは電力ロスが発生し、それは「熱」という形になって現れる。

あなたパソコン… iPadやiPhoneのようなスマホやタブレットにしても、発熱することはあるだろう。だから僕のMicrosoft Surface Pro 4という2 in 1タブレットPCには、冷却ファンが内蔵されている。

DCの発熱問題は、深刻なのだ。冷却に川の水を利用するところもあると聞く。大昔は霧吹きのように、水を吹きかけてみるというアイディアも提案されていた。

10年くらい前だと、Googleが「Follow The Moon」というコンセプトを打ち出していた。これは日中だとクーラーを使っても冷却限界に達してしまうので、世界各地にDCを分散設置し、太陽の当たらない場所にあるDCでコンピュータ処理を実施するという構想だ。

北極に近い寒冷地に、データセンタを設置しようという検討があったとも聞く。そのくらい、DCにとって温度というのは重要な問題なのだ。

幸いシリコンバレーはアリゾナ州フェニックスといった、暑さで有名な場所ではない。それでもモスクワほどは涼しくない。RSCを設置するには、なかなかシビアな場所なのである。

溶けるデータセンタ

さて先ほど、AI大規模スーパーコンピュータは、電力の消費量がハンパでないと申し上げた。まずCPUは、ARMなどによって省電力化が進んでおり、ご存じのようにタブレットやスマホは冷却ファンなしもで利用可能だ。
(iPhone 13なども、ARMのSOC (System On Chip) を採用している)

そういえばNVIDIAはARM買収しようとして断念… それはさておき、問題はGPUとストレージだ。

GPU

GPUというのはGraphics Processing Unitの略語で、僕の相棒Macbook Pro Mid 2009には、グラフィック表示を重視するAppleの方針により、NVIDIA 9400M GPUが搭載されていた。このGPUが、最近ではAIを中心としたスパコンで利用されている。

超大雑把にいうと、高速に各画素の描画データを計算&出力するには、シリアル処理が得意なCPUは向いていない。だからパソコンには、並列処理が得意なGPUも装備されている。
(特にVR系ゲームには、高性能GPUが必要となる)

このGPUが、現在のAIブームを支える機械学習とか深層学習といった処理に役立つのだ。例えば大量枚数の猫画像データを取り込んで「学習」し、”学習済みモデル” を作り出す。そしてそのモデルを使って、一枚の画像を見せて、猫で”あるか” or “ないか”を、「推論」させるのだ。

推論処理だけならばCPUでも間にあうことが多いけれども、さすがに大量データを処理する学習にはGPUが必要となる。だからNVIDIAだけでなく、各社がGPU開発を頑張っている。

ところが大量データを処理するということは、先ほどのように電力も大量消費する。ちなみに僕が持っている消費電力250WのGPUは、初代TITAN Xという機種だ。

当然、発熱はすさまじい。と、いうか、発熱がひどいので、ノーマル状態では100%稼働させることが出来なかった。冗談ではなく、正常動作しないどころか、熱で部品が溶ける危険が生じる。

仕方がないので、簡易GPU水冷キットに換装し、ようやく100%状態で24時間使用できるようになった。TAITAN Xの後はPascal、Volta… と続き、Metaの初代RSC(2017年構築開始)では、当時の最新GPUだったV100が、22000個ほど使用された。

そして最新RSCでは、NVIDIA A100 Tensor Core GPUが、16000個も使用される予定だ。ちなみにA100の消費電力は、最大250Wとなっている。

「250Wだから、今までと変わらないんじゃないの?」と、そう思う人もいるかもしれない。ところがコレ、専門家には大変な偉業らしい。

なぜなら某アニメではないけれども、「戦いは数だよ、兄貴!」という単純な話ではなく、その戦力をどこまで有効活用するかという問題になって来るからだ。

僕の初代NVIDIA TAITAN Xは大したヤツだったけれども、その頃は1,024個のTITAN Xを、揃って空き時間なくフル駆動させるのは難しかった。だから数を増やして戦うしかなかった訳だ。ちなみにNVIDIA V100だと、20000個くらいが一般的らしい。Metaでも、既に20000個のV100システムを保有している。

ところが最新のA100は、昨今のAI大規模スパコンの動向を踏まえて、基本性能から並列処理能力まで大幅に向上されている。だから台風の「瞬間風速」ではなくて、木製の大気圏?のように、常に250Wを消費する状態に近くなっている。

つまり「たった16000個」ではなくて、Metaのブログ記事に書かれているように、「現在の我々が持つ技術力では、頑張っても16000個が上限リミット」なのだ。

ちなみにスパコン関連のニュースを調べると、Meta RSCフェーズ1のように、6000個程度のNVIDIA Tensor Core A100 GPUが多い。普通にAIスパコンを組むと、この辺りが上限になるのだろうか。

  • ORNLのSummit:V100 26136基
  • NERSC: A100 6159基
  • Tesra: A100 5760基

「力が欲しいか?」と問われれば、遠慮なくMetaのAIチームは「欲しい!」と言うだろう。実際、Metaのブログ記事には、将来的には、さらに拡大できると嬉しいというコメントが書き込まれている。

ただし結局はMeta DCのようにコンピュータを自作せず、NVIDIAのAI向けDGXコンピュータを採用したとのことなので、GPU発熱問題に関しては、それほどは大した課題ではないらしい。

余談になるが、Gigazine誌のジャック・ドンガラ教授への2018年インタビューによると、1、3、5位の深層学習能力の合計値が、TOP500の他497スパコン合計値と同じになるのだそうだ。テニスではないけれども、上位ランカーの実力は恐ろしいようだ。

ストレージ

さてあなたがAI方面の人だったら、Pure Storageというのは初耳かもしれない。僕にしても、自分のAIシステムが500GBのSSDで大丈夫だったので、今まで深刻にストレージを考えたことは無かった。

正直言って、「皆で共用で使うスパコンだから、データ共用できるストレージ装置があれば嬉しいだろうな」程度の認識だった。パソコンで使用されるようなHDDでは遅くて我慢できないけれども、SSDならば全く問題ないだろうと思い込んでいた。

それに今までの人生経験では、数百TBの分析用データを収納するストレージ要件の話を聞いたことがあるけれども、そこはAll Flash型ストレージを使えば大丈夫だった。

ちなみに某案件がHDD型ストレージでは不十分だったのは、「元データのあるDCからデータ転送できるのは休日夜間だけだったけれども、HDDではデータ書き込み速度が遅くて、時間的に間に合わない」という理由だった。

ところがRSCの場合は、そんなに単純な話では済まなかった。

シリコンバレーというのはサンフランシスコから高速道路で一時間も走って到着する田舎だけれども、世界を代表するハイテク企業が集まっている。したがって米国なのに、「土地面積」の問題が存在する。

平たく言えば、MetaとしてはRSC予算は大した問題ではないけれども、ともかくエクサバイト規模のストレージ装置を置く場所が無いのだ。おまけに既に紹介したように、電力事情の問題もある。

それから初代Macbook Airユーザーならばご存じかもしれないけれども、SSDでも発熱する。だから冷蔵庫のようなラック筐体に収納可能なSSD量は限られている。

Pure Sotrage CTOが業績報告会で証券アナリストに質問された時には、「発熱と設置面積の問題により、Pure StorageのFlashArray//Cストレージが採用された」と回答していた。驚く人がいるかもしれないけれども、QLC型ストレージFrashArray//Cが採用されたとのことだ。

AI関係者だったら、「QLCって何? 食べたら美味しいもの?」という人もいるかもしれない。これはパソコン自作野郎にはお馴染みの、QLC (Quad Level Cell) だ。

このQLCにはNVIDIAのGPUと似たようなアイディアが採用されており、「1区画(セル)を複数に分けて使いましょう」という方式になっている。

ちなみに初代Macbook Airで採用されていたのは、正統的なSLC (Single Level Cell)のSSD だ。一組の0/1を識別できれば良い。ただしチップの面積は有限だから、ストレージ容量が限られてしまう。

そこで同じ場所を二つに分けて、それぞれが一組の0/1を識別できれば良いMLC (Multi Level Cell) が採用された。僕が自宅で利用するようなコンシューマー向けSSDだと、TLC (Triple Level Cell) に続いて、先ほどのQLC型SSDも実用化されている。

まあ大邸宅をアパートのようにしたものだから、どうしても無理が生じる。特に顕著なのが、一区画への読み書きが増えるということであって、それによる耐用年数と性能低下が悩ましい。

ただし半面、ストレージ容量は増大する。お中元の箱のようなストレージ装置に、QLC型であれば、従来上のデータを収納できる。だから従来ならばDCに収まりきらない “お中元箱” の数を減らして、無事に収納できるようになる。もちろん装置数が減れば、電力消費量も少なくて済む。

僕の素人聞き齧りだと、そもそもSLC型SSDでも放置すると書き込みデータが消えて行くけれども、QLCだと書き込み電力が小さいので、さらに消滅期間が短くなってしまうらしい。ただし逆にいうと、QLC型ストレージ装置では容量アップにも関わらず、従来型ストレージ装置と同じ電源装置などが使えるとのことだ。

そんな訳で、Pure StorageのFlashArray//CというQLC型ストレージは、都会のネズミ… ではなくて、RSCを構築したMetaには欠かせない構成要素とのことだ。

(2022.03.21追記)プレスリリースに書かれたCTOコメント
“FlashArray//C is a high-capacity, enterprise-ready platform that delivers hyper-consolidation, proven six-nines of availability, and consistent single-millisecond latency for the most demanding environments. Its unique QLC-based architecture allows the array to fulfill the strict performance, power, density, and space requirements of the RSC environment.”

超高速データ転送

さて最後に紹介したい課題が、超高速データ転送の問題だ。何しろ最新GPUとQLC型ストレージを目いっぱい詰め込んでいるから、標準的なInfiniBandでは不十分なのだそうだ。

そしてMetaのブログ記事によると、今回は世界一の性能を叩き出すために、データ準備の処理にも手を加えているとのことだ。ちなみにAIの学習ソフトウェア向けには、動画データやテキストデータといった “非構造型データ” を加工して “学習用データセット” を作成する必要がある。

データサイエンティストではなく、データエンジニアの領分らしい。データサイエンティストは、分析方法や出力結果を解釈するのがお仕事だ。

ここら辺は、AI関係者が詳しいだろう。なんでもMetaでは超大規模システムなので、AIRStoreというデータ処理層とやらを開発したのだそうだ。

“To optimize for AI models, AIRStore utilizes a new data preparation phase that preprocesses the data set to be used for training. Once the preparation is performed one time, the prepared data set can be used for multiple training runs until it expires. AIRStore also optimizes data transfers so that cross-region traffic on Meta’s inter-datacenter backbone is minimized.”

素人の山勘になってしまうけれども、どうもこれが、Penguin Computingキャッシュストレージに収納されるデータの正体みたいだ。なおCRN誌のインタビューに応じたPenguin Computing CEOによると、今回はQLC型ストレージFlashArray//Cと、Penguin Computingキャッシュストレージ間でデータ転送が実行されるとのことだ。

Penguin Computingの公式発表(プレスリリース)によると、NVIDIAのQuantum Infinibandネットワークと、NVIDIA NCCL (NVIDIA Collective Communications Library) for the clusterソフトウェアを採用しているとのことだ。AI学習ソフトとGPU処理を取り持つCUDAも、NCCL向けが採用されているらしい。

なおQuantumというと某ロボットアニメを連想するが、日本語だと “量子” と翻訳できる。Quantum phisicsは量子力学で、Quantum Computingは量子コンピューティングだ。

ともかく超高性能な最新GPUが、16000個も連携して動作する。とりあつかうデータはエクサバイト規模であり、壮絶な超高速&超複雑なネットワークが必要になるだろう。
(16TB/s)

「ともかく大変なのよ」とのことだけれども、Metaのブログ記事を読んでいるだけで、こちらも押しつぶされそうな気持になって来たほどだ。

(そういえばNCCLはAmazon AWSでも利用できるとのこと。お金さえあれば、猿真似くらいは出来るのだろうか?)

まとめ

以上の通りで、聞いてみれば当たり前なことの積み重ねだけれども、AIシステム設計者、GPU提供者、ストレージ提供者、Meta AIリサーチセンタ関係者が、世界一を目指して超大規模化に取り組んでいる。

発熱、消費電力、セキュリティ、超並列型高速ネットワーク… 一つ一つは常識的なことだけれども、世界一を目指す超大規模になって来ると、運用開始に持っていくまで、幾多の試行錯誤の積み重ねが必要となっている。

そうそう、設置場所がシリコンバレーということもあり、砂漠に要塞を作るような訳にはいかない。物理的、コンピュータ的なセキュリティも欠かすことが出来ない。

(15年前のデータセンターであっても、事前の静脈認証とか、いろいろとセキュリティ対策があった。やっぱりシリコンバレーだと大変だ)

あとMetaも最近はいろいろあって、株価が大幅下落するようなトラブルにも遭遇している。もしかすると、そういうこともあって、最新RSC発表ということになったのかもしれない。

(それに研究成果を発表しようとすると、どうしてもオープンにせざるをえない面もある… かもしれない)

ともかくフェーズ1は無事完了したとのことなので、ぜひフェーズ2も予定通りに完了し、世界一を実現して欲しいものだ。Metaのビジネスモデルに思うところはあるけれども、研究者たちは、良心を持って頑張っている。

それでは今回は、この辺で。ではまた。

(2022年3月21日注記)
FY22Q2(5-7月)決算説明会でのCFOコメントによると、どうやら場所/発熱/電力問題により、初代RSCではHDDが使用されていたらしい。つまりPure Storageは、先代RSCまではFlashBladeしか納品していなかったということになる。
(これを信じると、Meta DCとの通信量や書き込み速度が問題ではなく、Penguin ComputingキャッシュストレージがFrashArray//Cからデータを読み込むスピードが問題になると帰結される。CRN誌インタビューの通り、大量高速データ転送が必要になるのだろう)

—————————————
記事作成:小野谷静(自称:科学ライター)

[参考資料]