@Vengineerの戯言 : Twitter
SystemVerilogの世界へようこそ、すべては、SystemC v0.9公開から始まった
このブログでも、昨年の11月と今年の3月に取り上げた、SambaNova Systems がINTERNATIONAL WORKSHOP ON MACHINE LEARNING HARDWARE (IWMLH), CO-LOCATED WITH ISC2020にて講演したビデオとSlideが公開されています。
今回の発表で SambaNova Systems のチップおよび商品がちょこっとわかりました。
Software 2.0 については、NIPS 2018の講演資料に説明があります。
今回の資料では、Software 2.0のことはサクッと書いていますが、NIPS 2018の講演資料にはかなり詳しく載っています。
8頁のNext gen Software 2.0 systems need spport for
- Hierarchical parallel pattern Data flow
- Terabyte sized models
- Sparsity
- Flexible mapping
- Data processing
とあって、NIPS 2018の資料では、Next-Gen ML Accelerators : Native Support for
- Hierachiccal patalle pattern dataflow
- Dynamic precision
- Sparsity
- Data Processing
とあるので、多少は変わってきているんですね。Dynamic precision はBfloat16とかでているのでこれでいいのでもう当たり前と見ると、
- Terabyte sized models
- Flexible mapping
の2つが追加されたんですね。特に、Terabyte sized models は 19頁のグラフを見ると2019年後半から急激に要求が上がってきた感じですね。
チップ
- チップ名:SN10 RDU
- TSMC 7nm
- 40B transistors
- 50 km of wire
- 100s of TFLOPs
- 100s MB on chip
- Direct interfaces to TBs off chip (TBってなんだ。。。)
商品
- DataScale SN10-8 ( Single 8-socket DataScale system)
- DataScale SN10-8R Full Rack (4 x 8-socket DataScale systems)
- (SN10-8Rは、SN10-8を4セット、Rackに収めたものっぽい)
写真を見ると、5台のブレードサーバーで1セットになっていて、中途半端だなと思っていましたが、8 - socket Data Sccale ということなので、1台には2個のRDUが入っていて、4台で8 RDU 、残りの1台はホストとになり、ホストから4台にPCIe で接続。8個のRDUは何らかのチップ間で接続。。。NVIDIAのDGXのように4Uではなく、1Uに入れちゃっている。これって、Graphcoreの1UベースのRackScalue IPU-Podと同じですよね。
そうなると、1台の中に、RDUx2だけじゃなくて、Arm系のSoCも載っているのかしら。。。Chipのところに、「Direct interfaces to TBs off chip」とあり、TBが何の略かが気になる。。。ビデオを再度見たら、言ってました。。。TeraBytes Memory と。ということはチップにはTeraByte Memory用インターフェースが載っていて、各1UサーバーにはTeraByteメモリが載っているんだ。。。これで2個のRDUで1Uサーバーが必要なのが分かったーーーー。Xeon だと、12枚のDDR4が接続できるので、64GBx12枚で768GB。2チップで、1536GB、そう、TeraByte Memory になる。DDR4が8枚で、2xRDUで1TBか。。DDR4コントローラ1個に対して、2Slotサポートできそうなので、8枚だとDDR4 x4 コントローラで512GBか。
ソフトウエア
なんで、SQLなのか、始めは分からなかったのですが、自分の過去のブログを読み返してみてわかりました。NIPS 2018の資料では、Spark SQLとあるですよね。
GV(アルファベットの投資会社)がSambaNova Systemsに投資しています。株主の課題を解決できると嬉しいので、GoogleのCloud Dataflow SQLにも対応できればと。この Cloud Dataflow SQL って、vCPU (Compute Engine) で動いているようなので、GPUやTPUじゃ実行できない。なので、RDUで実行できればいいんじゃないと。。。
後半に出てきますが、このシステムは、
Enabling New Capabilities
ということで、
- Trillion parameter NLP models
- High Resolution Deep Learning (50k x 50k)
- Recommendation models with huge 100GB embedding tables
ということです。
つまり、バカでっかいデータおよびモデルに対応するということ。。。
スライドの20頁目に、NVIDIAのDGX-2 x64台で動かしたモデルでも、 1台のDataScale System(8 RDUの方)で賄えると。
それから、Training と Inference の環境を同じにできると。
現在のMLでは、Training は GPU で、Inference は CPU が多い。なので、TrainingのGPUからInferenceのCPUに持っていくときに互換性が無いことがある。。。
何故、InferenceでCPUを使うのかというと、Batch Size = 1 では、GPUよりCPUの方が速いため(GPUの場合は、Batch Size を1でもある程度大きくても同じ。何故なら、ある程度のBatch Size で処理しているため)
SambaNova SystemsのRDUなら、TrainingもInferenceもRDUでできるだけでなく、Inference時のデータを使ってインクリメンタルなTrainingやReal-TIme Trainingができちゃうということ。そのTrainingによってModelの最適化もできちゃうと。
(本当にそんな簡単にできちゃうのかは、わかりませんが)
RDUは、Batch Size = 1 で、CPU・GPUより2倍以上速いし、スループットはGPUの16倍になるんだと。
これ、Graphcore が言っているのと同じね。。。
結構分かってきて、何となく、嬉しいですよ。*1
過去ブログ
*1:笑