MN-2が動き出しました

土井 裕介

2019-06-26 18:11:02

先日リリースさせて頂いたとおり,MN-2の構築を行っています.MN-2は最新世代の,1024基のNVIDIA(R) V100 GPUが計算力の主力となります.現在利用しているMN-1およびMN-1bにおいて1024基のP100と512基のV100を稼動させていますが,MN-2の追加によりGPU数換算で合計2560基となり,保有計算力を大幅に強化しました.とはいえ,現時点ではKubernetesをはじめとしたソフトウェアサービススタックのセットアップ中であり,GPUは主にベンチマークを実施して状態確認を行っている段階です.

PFNでリサーチャをやっている,土井裕介です.最近はリサーチ業務はあまりやっておらず,社内インフラ関係の全体の世話役のような業務が主担当になっています.今回,物理構築が一段落したのでBlogにてMN-2の概要やポイントを紹介させて頂きます.

構築途中のMN-2

構築中のMN-2

なぜMN-2を作るのか?

よく,「なぜPFNは自前インフラを持つのか?」というご質問を頂きます.自前インフラを持つ理由にはいろいろな側面があって一言では説明できないのですが,土井としては一つ,ハードウェアの全コントロールを握りたいから,という理由があります.例えば,計算のパフォーマンスが出ないという時に,どこをどう改善すればいいか,改善するとしてどのようなアプローチが存在するかを考えます.このとき,実際のハードウェアが上から下まできちんと見えるか,それともクラウドのむこうにあるのかで,取ることができるアプローチの幅にかなりの差が生まれます.特に今回はネットワークも含めて全て自前となっているため,見ることができる計測点が増えており,深層学習に向けたインフラサイドの研究開発の基盤としても活用できると期待しています.

さらに,今後 MN-Coreを使った計算機クラスタ(MN-3)も予定しています.MN-Coreは少なくとも当面はクラウドには置けないので,これを活用するためには自前のインフラを持つ必要があります.電源・冷却・ネットワーク・ストレージを含めて共用する前提で,GPUクラスタ (MN-2) を事前に作ることで,MN-3の構築に必要な経験をPFN社内で貯めている,という側面もあります.

MN-2の設計のポイント

MN-2の設計にあたり,いろいろなことを考えました.考えたことの大半は実現性との兼ね合いや時間との戦いの中で没になりましたが,一部実現したポイントもあるので,かいつまんでご紹介させてください.

ラック設計・電源・冷却

今回採用したGPUサーバは,8GPUを1台に搭載しており,定格で1台あたり3.5kWの消費電力です.床の耐荷重や電源供給・排熱等の問題,またMN-3の先行モデルとしての役割もあり,1ラックあたりの搭載数は4ノードとしています.1ラックあたり4ノード32GPUで定格14kWという計算になります.今となってはこの熱密度は高い方ではありませんが,純粋な空冷設備としてはそれなりに高い部類に入ると思っています.MN-2ではこのGPU計算ラックを連続で16ラック並べたものを背面を対向として2列置いています.合計32ラック128ノードになります.

MN-2クラスタを置かせて頂いているJAMSTEC横浜研究所シミュレータ棟は,冷気が床下から吹き出して天井側から熱気を回収する構造になっています.MN-2のGPUの排熱が他のGPUや地球シミュレータに与える影響を最小限とするため,背面(熱風が出る側)を対向させ,ラックの両端にドアを設置して,熱気が横方向に流れないように閉じ込めています.上方は空けてあるので,下から来る冷気の勢いと対流効果で熱の大半は天井側に送られるデザインです.さらに,ラック背面にフィンを設置して熱風が対向のラックに回りこみにくいようにしています.

稼動中のMN-2 背面

GPUの排熱を上方に逸らす整流板をつけた状態

実際に全GPUに対して模擬的な負荷をかけて稼動させてみましたが,hot側の温度は高くなったものの,cold側の温度はほぼ影響なく,想定通りの結果となりました.

高負荷試験時の温度変化

高負荷試験時の温度変化 (下段: 吸気/COLD側 上段: 排気/HOT側)

ネットワークとインターコネクト

HPCにおいては,計算機を相互接続するインターコネクトは重要です.深層学習においても同じことが言えますが,例えばさまざまな種類の巨大なシミュレーションを連続的に分散実行するようなスーパーコンピュータのワークロードと,学習途中のパラメータを適時同期する深層学習のワークロードにおいては、求められる性質は異なります.深層学習において支配的なデータ通信は,主にデータセットのロードとパラメータ交換であり,パケットサイズがおおきくなり,バンド幅が重要になりがちな傾向があります.

PFNでは技術吟味の結果,ファイルシステムはいわゆるHPC向けのファイルシステムではなく,Hadoopなどで使われているHDFSをメインに利用して,ローカルのデータキャッシュを活用する方向で検討しています.このことから,データセットの読み込みはEthernetが中心となります。従来多く使われてきた(MN-1でも利用している)InfinibandとEthernetの両方で広帯域の確保はPCIeのレーン数の制約から難しい場合があります.また,InfinibandとEthernetの両方に投資することは機能的には二重投資となることもあり,MN-2では冒険的に,インターコネクトの役割も全面的にEthernetとして,RoCEv2(RDMA over Converged Ethernet)を採用しました.パフォーマンスは,一部のInfinibandが得意としているshort packetの領域を除き,Infinibandと遜色ないことを確認しています.

今後

MN-2としての本格稼動は7月を予定していますが,先行して現状のクラスタの概要を紹介しました.
今後MN-3の構築がはじまる見込みで,それにあわせてPFNではインフラ人材も募集中です.特に運用・改善の領域において,Kubernetes上で動作する深層学習のワークロードと,MN-Coreを含めた先端ハードウェアとを両方睨んで最適化を行う,というアツい仕事が待ってます.我こそは! という方は,是非弊社ホームページにある採用の欄からご連絡いただくか,個人的にご存知のPFN社員なり,土井 (doi@preferred.jp) までご連絡ください.

小学生向けディープラーニング体験教室で「ものまね算」のワークショップをしました。

Yuki Nishizawa
エンジニア

2019-06-26 13:33:18

Preferred Networks エンジニアの西澤です。

Preferred Networksでは2019年の6/8(土)に小学校高学年向けのディープラーニング体験教室を行いました。

この体験教室は3部に分かれており、第2部のロボットカーの授業については弊社の丸山史郎よりブログ記事として公開しました。今回は第1部の「ものまね算」の講義について書こうと思います。

 

「ものまね算」

今回、子どもたちに機械学習の概念を説明する時に使用した言葉が「ものまね算」です。機械学習ではたくさんの訓練データを用意し、入力と出力の関係性を学習していきますが、これを機械が「ものまね」していると表現することによって、子どもたちにとってよりイメージの沸きやすい講義ができたのではないかと思います。

 

 

火星語の数字を認識してみよう

ものまね算の講義の後には機械学習の例として「数字認識」を挙げ、実際に機械学習がどのように実社会に応用されるのかを考えてもらった後、「火星語の数字を認識する」というテーマでワークショップを実施しました。

これは、その場で子どもたちに考えてもらった架空の「火星語の数字」についてデータセットを作ってもらい、実際にその場で認識器を訓練し、手描き数字を認識させてみるというものです。みんなで一文字ずつ考えた10個の数字をワークシートに書き、タブレット端末で撮影することによりデータセットとして取り込んで学習します。

 

子どもたちが一体どのような文字を書いてくるのか少し心配していましたが、無事に認識され歓声を上げる子どもたちを見てほっとしました。中にはデータセットにない文字を書いてみる子や複数の字を並べて書いてみる子、点線で書いてみる子などもいて、子どもの柔軟な発想にはこちらも驚かされました。休み時間の間もずっと遊んでくれていたりと、機械学習の技術に興味を持ってくれた子がたくさんいたようでとても嬉しく思います。

 

またPreferred Networksは、2019年9月に文部科学省により実施される「未来の学びプログラミング推進月間」へプログラミング教材「自動化の進展とそれに伴う自分たちの生活の変化を考えよう」を提供予定です。ご興味のある方はぜひこちらも合わせてご覧ください。

https://mirapro.miraino-manabi.jp/lp_pfn.html

2019年 PFN夏季インターンシップのコーディング課題公開

楠本充
エンジニア

2019-06-25 15:27:28

Preferred Networks 2019 夏季インターンシップの選考で用いたコーディング課題を github 上で公開しました。

https://github.com/pfnet/intern-coding-tasks

PFN 楠本です。PFN では毎年8月9月の夏季休暇に約2ヶ月間の長期インターンシップを行っています。コーディング課題はその選考で応募者のプログラミング能力や問題解決能力を見るために出題させて頂いているものです。今年は「機械学習・数理」「バックエンド」「フロントエンド」「チップ」「性能最適化」「コンピュータービジョン(Chainer)」の6種類のコーディング課題を用意し、応募者の希望テーマに応じてこのうちのいずれかを解いていただく形にしていました。

今年のインターンシップでは去年をさらに上回る数の応募を頂きました。PFN では来年以降もインターンシップを開催する予定ですので、これらの課題を見て PFN に興味を持っていただけた方はぜひ応募を検討ください。また、フルタイムの採用も通年で行っております。こちらもご検討いただければ幸いです。

小学生向けディープラーニング体験教室でロボットカーの授業をしました。

maruyama
リサーチャー

2019-06-11 13:05:34

こんにちは。丸山史郎です。

Preferred Networksでは2019年の6/8(土)に小学校高学年向けのディープラーニング体験教室を行いました。
体験教室の内容は大きく3つに分かれており、その中の30分くらいの時間でレゴ® マインドストーム®を使ったロボットカーの体験教室を行いました。この直前に「ものまね」算という形で小学生向けのディープラーニング(機械学習)の解説があり、ここではディープラーニングをロボットに使うとどのようなことができるのかということを実際に体験してもらうことを目的としました。

また、弊社としては小学生向けの体験教室は初めてのことでしたので、ロボットの準備やロボット体験の内容へのアドバイス、当日の運営などを株式会社アフレル様にご協力いただきました。

続きを読む »