Blog

Preferred Networks 計算基盤担当VPの土井です。

ちょっと最近ばたばたしていて、あまり何をやっているか紹介できていませんでした。その結果「PFNって何やってるの?」と聞かれてなかなかお答えできない。またPFNで計算機をやっているといってもピンとこない、というお話も増えてきました。先日のJANOGに行ったメンバーからも、PFNが何をしているのかイマイチ知られていないと聞いて、冷や汗を流しております。

なので、チーム的に露出に力を入れることにしました。今後blogを、あるいはネタによってはQiitaなども含めて、シリーズ的に書いていければと思います。まずは、土井が担当している計算基盤領域およびその周辺について概観する記事を書かせて頂こうと思います。

端的に言うと、PFNはあまりオンプレインフラのイメージがないかもしれませんが、上から下までかなりがっつりやっていますし、こんな場所はそうそうないと思うのでご紹介したい、面白さを伝えたい、面白いと思ったらちょっとカジュアルにでも我々の話を聞いてみて欲しい、というblogエントリになります。

現在の状況の整理

ChatGPTの衝撃から、LLMや生成モデルがブームになってもう長いですね。一般紙でもChatGPTやLLMといった文字を見ることが多くなってきました。しばらく先だと思われた自然言語にもとづく自然なやりとりが実現して、研究開発のフェーズも一つ先に進んだように思います。PFNでもLLMの開発を行っていますが、LLMの内容については土井は担当していないので別の機会にご紹介という形になると思います。

例えばLLMの学習にあたっては、パラメータ数、計算量、データセットの量をバランス良く増やしていくことが最終的な精度の向上のために必要であるとされています(スケーリング則)。それぞれ課題ですが、特に土井が担当している計算基盤領域はその中でもパラメータ数と計算量について、LLM前とLLM後でかなり異なる世界観が立ち上がってきたように思います。

さて、以下の図は、代表的な機械学習で使われてきたモデルの典型的な学習に用いられる計算量の時系列と、Top500の計算機の計算量を示したものです。データは https://openai.com/research/ai-and-compute にあるものに手を加えています。Top500とは、年に2回発表される、世界のスーパーコンピュータの計算力(1秒間に計算できる計算回数)のランキングです。例えば、執筆時点最新の2023年6月のランキングでは、トップはORNLのFrontierで、1.194 ExaFlop/s です。日本のフラッグシップである富岳は2位で 442 PFlop/s、我々のMN-Coreを搭載したMN-3は400位に入っていて2.18PFlop/sです。そして、Deep Learningの要求する計算量も、LLMの時代になってスーパーコンピュータに匹敵する量を要求する時代になってきたと言えると思います。

 

機械学習とスーパーコンピュータの発展

図: 機械学習・深層学習の発展とスーパーコンピュータの発展の比較

 

LLMも含めた生成モデル、基盤モデルといった技術の遂行には、計算機をたくさん並べて巨大なモデルの学習を並列実行する必要があります。深層学習はさまざまな工夫により計算量を減らすことが望ましいとはいえ、スケーリング則が示唆するところによると、性能向上のためにデータとモデルサイズは増え、合わせて必要投入計算量も大きくなることが予想されます。従って、それなりの量を揃えることが前提となります。

現在計画の詳細化を進めているところですが、現時点では、ABCIやクラウドGPUなどの外部基盤を活用させて頂きつつ、GPUとMN-Coreの二本立てでの計画を立てています。MN-Coreについては、現時点でMN-Core2を用いたLLM/基盤モデル向けの計算機クラスタの検討・調達を開始しているところです。具体的な話は今後別途ご説明する機会があると思います。

 

どんなことをしているのか

チームの仕事がどんどん膨らんでいるのでなかなか一言で説明しづらいですが、基本的には私の領域でやっている仕事は、「現在および未来のPFNにとって必要な計算機および計算基盤を整える」というものです。分解していくと例えば以下の図のようになります。

図 ; 計算基盤領域の業務の見取り図(概略)

図の上半分(青色の破線で囲んだ部分)は運用中のシステムに対する業務の分解です。上から見ていくと、社内のワークロード、研究開発っぽいものからビジネスの厳しい要件がつくものまでさまざまなものがあります。これを支えるのが Kubernetes による基盤と、Apache Ozone™ を中心とする Storage System ですが、社内ユーザの利便性を確保するため、内製のworkflow systemやbuild helper system、CIなどがKubernetes基盤上に構築されています。さらに、ストレージアクセスを最適化するために、Kubernetes上に分散キャッシュシステムも構築されています。また、社内workloadの実行を効率化するため、Kubernetes上にもGang Scheduling (多数のPodを同時にスケジューリングする技術) や SR-IOV で仮想化されたNICをPodに割り付ける、あるいは MN-Core の Device Plugin による提供などといった機能を実現するための、独自開発のコンポーネントが多数実装されています。また、これらのシステムは一部はクラウドで稼動していますが、大半は社内で管理している物理基盤の上にあり、当然物理基盤である以上自分達で導入(Installation)と運用(Operation)を行なうこととなります。

図の下半分はまだ見ぬシステムに対しての研究開発になります。左下方面にMN-Coreの開発および製造(現在はMN-Core2のシステムの製造準備や基板レベルの改版などが走っています)があり、ASICの開発、アクセラレータとしての基板・モジュールとしての開発、サーバシステムとしての開発、生産などのプロセスがあります。この長いプロセスの一つ一つのステップでパートナーの皆様に多大なご協力を頂きつつ、ようやくMN-Coreが計算基盤上で利用可能になります。あわせて、MN-Coreの実力を発揮するためにはソフトウェアが非常に重要であり、コンパイラの開発を鋭意進めています。コンパイラは現時点では社内ユーザからのフィードバックが中心ですが、社内のワークロードを円滑に実現するように開発を進めています。また、右下にはMN-Core以外のシステム (GPUやストレージ、管理ノードやネットワーク技術) の検討・検証やそれに基づく調達を示しています。こちらも、我々が必要とする計算基盤をどのように実現するか、各パートナーの皆様にご協力を頂きつつ検証を行い、システムとして成立させるべく慎重に計画した上で、最終的に物理基盤として調達・導入されます。また、当然導入するためには運用の設計も必要となり、こちらも運用パートナーの皆様にお手伝いを頂きながら進めています。

つまり、既存のインフラを維持運用しながら新しい計算機を作って、その計算機と、市場から調達できる計算機を計算基盤として運用に取り込んでいくという仕事になります。普通に運用するだけでもいろいろとやるべきことがありますが、さらに自前で開発している計算機を設計し(ここでASICと基板、基板とサーバ、さらに近い将来にはサーバとファシリティの協調設計が発生する)、これを運用に取り込んでいく、ということをやっています。絵には書いていませんが、それぞれの領域で技術検証・試作検証を含めた研究開発が必要です。

既存の発表

今までもいろいろな発表をしてきたつもりですが、相変わらず「PFNがオンプレ計算機インフラを運用している」「PFNが計算機を開発している」と言うとなかなかおどろかれることが多いです。以下、PFNの関係する発表などです。興味があればそれぞれご覧ください。

関連blog

Qiita Org

関連発表

展示会

  • Interop: 2023年は弊社CEO西川がキーノートを実施させて頂きました。他、企業ブースの出展や有料セミナーも実施しています。
  • SC 2021年からこじんまりと企業ブースを出しています。今年は何か持っていけるはず…?

個別の内容でお話しできそうな内容や、ここまでの発表については上にまとめました。今後のものについては、ものによっては個別にこちらのblogやQiita、あるいはイベントや学会などにお邪魔してお話しする機会があれば積極的に発表させて頂ければと思います(とりあえずこのblogを書くきっかけの一つはJANOGで全然知名度がなかったことなので、次回JANOGでは何か発表したいですね!)。また、現時点では人手が足りなくて十分にできていないことも、今後発表ドリブンで立ち上げていければと思います。

事業拡大に向けて

さて、さまざまな議論をここに書きましたが、ざっくりまとめると、世界に伍する深層学習向け計算機システムを自分達の手で作ろうという野心的なプロジェクトです。そのためにはやるべきことがたくさんあって、みなさんの助けが必要な状態です。計算機システムについて野心がある方、事務仕事やExcelではなくプログラミングや物理的なサーバ、ネットワーク、保守運用などリアリティのある仕事がしたい方、未来にインパクトある仕事をしたい方、よければ我々のチームに参加することを検討頂けないでしょうか。JDに書ききれてないこともたくさんございますので、まずはカジュアルに話を聞いてみたい、という方もお気軽にお問い合わせください。ご連絡お待ちしています。

  • Twitter
  • Facebook