-Facebookの大メモリ学習プラットフォーム「Zion」Facebookは次世代の学習用プラットフォームであるZionについて発表を行った。Basinはメモリが小さく、リコメンデーションにはメモリ不足で、それを解消する必要があったようである。Smelyanskiy氏Facebookでのマシンラーニングのパイプラインの使用率は2018年には30%であったが、2019年には50%に増えている。マシンラーニングのデータ量は1年で3倍に増えている。この12ヵ月で、Facebookのランキングを担当するエンジニアは2倍に増え、学習を行ったワークフローは3倍、マシンラーニングの計算量も3倍に増加した。増加が著しいのはリコメンデーションとのことである。ブラウザを使っていると、過去の購入履歴や訪問したWebサイトなどの情報から、興味のありそうな広告が次々と表示されてくるのを見ても、リコメンデーションがフル稼働していることが感じられる。マシンラーニングのデータ量は1年で3倍に増加。Smelyanskiy氏の発表スライドのコピーである)次の図は、学習の各ステージが、ストレージ、ネットワーク、計算とメモリのどの部分に負荷が大きいかを示す図である。この図のように、ストレージ、ネットワーク、メモリ、コンピュートのすべての部分にストレスが掛かる。マシンラーニングのエンジニアは開発効率や開発の柔軟性が改善されることを期待している。このため、学習用プラットフォームの開発にはソフトウェアとハードウェアのコデザインが必要となる。マシンラーニングでは処理のステップによって負荷のかかり方は異なるが、全体を見ると負荷が高い。MLのエンジニアは、システムが使いやすくなることを期待しており、コデザインが必要となったFacebookでは、ランキングやリコメンデーションにAIを使っている。イメージの分類、オブジェクト識別、ビデオ理解にもAIを使っている。言語の翻訳や言語理解にもAIを使っている。Facebookではランキングやリコメンデーション、コンピュータビジョン、言語の翻訳や、理解にAIを使っている。中でもリコメンデーションモデルの実行が最も重要なものであるZionはCPUが8台、アクセラレータが8台というのが基本である。CPUの方は~100Wの消費電力であるが、アクセラレータは~200W程度を消費する。CPUメモリは大容量であるが、バンド幅の狭いDDR4が使われ、アクセラレータはメモリ量は小さいがバンド幅は大きいHBMが使われる。CPUとアクセラレータが使用するBFLOAT16のフォーマットを合わせておくことが重要である。ZionではCPU8台、アクセラレータ8台が基本。CPUはメモリ量は大きいがバンド幅は小さいDDR4を使う。Hypercubeで、キャッシュコヒーレントな通信を行う。アクセラレータファブリックは、現在は統一されておらず、アクセラレータごとにさまざまなものが使われている。All-ReduceとAll-to-All通信ができることは必須である。Fabricで相互に接続されるそして、ZionではCPUにNICを接続し、ネットワーク接続でスケールアウトすることができる。ZionではCPUにNICを付けて複数のZionを接続した大きなネットワークを作ることができるZionの物理的な形状は次の図のようになっている。CPU側は1Uのマザーボードに2ソケットサーバを搭載し、それを4枚使用して8ソケットのシステムとしている。アクセラレータ側は、3U程度の箱に8個のOCPアクセラレータモジュールを搭載している。Zionの物理的な構成。下側は4枚の2ソケットのCPUボードで、その上にアクセラレータの箱が載るという構成になっている。アクセラレータモジュールは形状が決まっており、それに合致すれば組み込める次の図はZionシステムのブロック図である。Fabricで繋がれている。2台のCPUからPCIeスイッチに接続され、1台のPCIeスイッチから2台のアクセラレータに繋がっている。それに加えて4台のPCIeスイッチはPCIe×16で結ばれている。Zionのブロック図。Moduleの形で使用される。世の中には多種のアクセラレータがあり、それらすべてを使えるようにするには大きなエンジニアリングリソースが必要である。Moduleという形で、共通のフォームファクタになるようにしている。この図には、AMD、Habana、Intel、NVIDIAの名前があがっている。ModuleはFacebookが主導して規格が決められ、それに合致したアクセラレータが使用できる。meshに決まっていたが、Zionでは各種のインタコネクトが使える。Basinでは10~100GB程度のメモリしか使えなかったが、Zionでは100GB~1000GBレベルのメモリを使うことができる。Basinでは1個のCPUであったが、ZionではマルチCPUを搭載し、いろいろな構成が可能である。Basinプラットフォームと今回のZionプラットフォームの比較。Zionは使えるメモリが増え、色々な接続トポロジが採れるようになる結論であるが、ZionはFacebookの次世代の柔軟性の高い学習用のプラットフォームである。このシステムは大量のメモリを必要とするリコメンデーションモデルの実行をターゲットにコデザインで作られたものである。OCPアクセラレータモジュールの形であれば、どこのベンダーのアクセラレータでも組み込める。このシステムはより大規模なシステムにスケールアウトすることができるビルディングブロックともなっている。ZionはFacebookの次世代の柔軟性が高い学習用のプラットフォームである。リコメンデーションモデルの実行のためにコデザインを行った。OCPアクセラレータモジュールの規格に合えば、ベンダーに拘わらず使用できる。スケールアウトができるようになっており、大きなシステムの構成部品として使える(次回は9月10日の掲載となります。)※本記事は掲載時点の情報であり、最新のものとは異なる場合があります。Corporation。