後藤弘茂のWeekly海外ニュース
Intelの深層学習チップ「Spring Crest」と「Spring Hill」の大きく異なるアーキテクチャ
2019年9月2日 12:33
IntelのNervana系列の深層学習プロセッサ
Intelは2016年にディープラーニング(深層学習)プロセッサの先駆の1社Nervana Sytemsを買収した。そして、Nervanaアーキテクチャによる第1世代のIntel Nervanaとしてトレーニング向けの「Lake Crest」がサンプル出荷された。その後、IntelはLake Crestのフィードバックをベースに、後継となる深層学習プロセッサの開発に取り組んで来た。
Intelは今年(2019年)8月の半導体チップカンファレンス「Hot Chips 31」で、トレーニング(学習)用の「NNP T(Spring Crest)」と、インファレンス(推論)用の「NNP I-1000(Spring Hill)」を発表した。Spring Crestについては、今年4月の「OCP( Open Compute Project) Summit」時にも発表されていたが、より詳細が公開された。
買収したNervanaの技術をそのまま移行させた第1世代のLake Crestは、TSMCの28nmプロセスで製造されサンプルにとどまった。学習向けプロセッサとしてLake Crestの後継となるSpring Crestは、満を持して投入されるNervana製品となる。
そして、推論向けのSpring Hillは、Intel CPUコアも内蔵、製造もIntelプロセスとなり、Intel化がさらに進んだものとなった。
Nervanaのラインは、膨大なマトリックス演算ユニットを備えた、正攻法の深層学習プロセッサだ。Intelの深層学習戦略は、多数のアプローチが平行しており、方向性がわかりにくいが、Nervanaが深層学習プロセッサの潮流にもっとも沿っている。
ハイエンドGPU並の規模の学習チップSpring Crest
Spring Crestは、もともと「NNP L」と呼ばれていたが、現在は「NNP T」ブランドに変わっている。Lはラーニングの頭文字だったが、より一般的なトレーニングのTに切り替えたと見られる。プロセスはTSMCの16nm「16FF+」で、NervanaのLake Crestの28nmよりプロセスが進んだが、Intelプロセスには載っていない。
Spring Crestは24個のテンサープロセッサを搭載し、コア動作周波数は1.1GHzで、ピーク性能では119TOPSを達成する。各プロセッサにオンダイ(On-Die)メモリを分散しており、トータルでメモリ量は60MBとなっている。メモリはHBM2を4スタック、I/Oとしては、64レーンの高速シリアルSerDesを備えており、ホストインターコネクトにPCI Express 4.0も備える。
スペック的にはハイエンドの学習プロセッサであるSpring Crestは、ダイも680平方mmとハイエンドGPU並に大きい。トランジスタ数は27B(270億)と、NVIDIAの「Volta GV100(Tesla V100)」の21.1B(211億)を越える(SRAMが多いためと見られる)。
パッケージは、シリコンインタポーザを使う2.5Dパッケージで、消費電力は150~250W。フォームファクタはPCI ExpressカードとOCPの規格の「OCP Accelerator Module (OAM)」カードの2種類。
Bfloat16のテンサーユニットを内蔵
Hot Chipsでは、プロセッサのマイクロアーキテクチャについても、より突っ込んだ説明が行なわれた。
各テンサープロセッシングクラスタ「Tensor Processing Cluster (TPC)」は、2個のテンサーユニットと2.5MBのローカルスクラッチパッドメモリを搭載する。テンサーユニットは32x32のマトリックス演算アレイとなっている。データ精度ではダイナミックレンジを広げた「Bfloat16」をサポート(加算結果はFP32)、IntelのBfloatへの傾斜を象徴するチップとなっている。
Spring Crestは各TPCをオンダイの双方向2Dメッシュネットワークで接続している。メッシュネットのクロスセクショナルの帯域は2.6TB/s。HBMメモリもシリアルインターフェイスのSerDesも、すべてメッシュに接続している。メッシュのカットスルーやブロードキャストもサポートする。
Spring CrestのメモリはHBM2の8Hi 8GBスタックが4個でトータル32GB容量。転送レートは2,400Mbpsで、4スタックでメモリ帯域は1.22TB/sピークとなる。64レーンの高速SerDesによるチップ間インターコネクト「Inter-Chip Link (ICL)」によって、Spring Crestマルチプロセッサ構成も可能だ。ICLは1ポートがx4レーンで、Spring CrestはICLを16ポート備える。
Spring Crestは、チップの規模も性能レンジも深層学習プロセッサのなかで最上位クラスで、Intelが力を入れていることがわかる。
M.2フォームファクタの推論エンジン「Spring Hill」
Intelはデータセンタ向けの深層学習プロセッサのソリューションを、学習のSpring Crestと、推論のSpring Hillの2本立てで構成している。
学習と推論の両方のソリューションを提供する点はめずらしくないが、Intelの場合は2つのソリューションのチップアーキテクチャが大きく異なることが特徴となっている。
Spring Hillは、性能/電力を徹底的に追求したアーキテクチャとなっており、また、フォームファクタも高密度サーバーに向けた小さな「M.2」での提供(カスタムフォームファクタも登場する)となっている。
Spring Hillの特徴は下のスライドに集約されている。性能/電力は最大で4.8 TOPS/W、チップ性能はスケーラブルで電力は性能とフォームファクタに合わせて10~50Wとなる。Intelの最新のIA CPUコア「Sunny Cove」を内蔵、AVX-512 SIMD(Single Instruction, Multiple Data)を使うことができる。データセンター向けにRASフィーチャもサポート。ソフトウェアスタックでは主要な深層学習フレームワークをサポートする。
Spring Hillはトランジスタ密度が高いIntelの10nm+プロセスで製造される。内部には、IntelのPC向けCPUコア「Sunny Cove」を2個搭載。さらに、推論に特化した「ICE(Inference Compute Engines)」を12個搭載する。
Sunny Coveコア1個に対して、ICEが6個セットで配置されている。ハードウェアコヒーレンシがとられた共有ラストレベルキャッシュを24MB内蔵し、コア間でのデータシェアを容易にしている。ICE2個が、リングバスに接続のように内部バスに接続されている。つまり、Intelの標準的なクライアントCPUの構成から、CPUコアを2個のICEに置き換えたような構造になっている。ICE自体も4MBのSRAMを内蔵しており、チップ全体でのSRAMは75MBとなっている。
メモリはLPDDR4Xサポートで4.2Gbpsの転送レート。4×32または2×64の合計128bitで、メモリ帯域は68GB/sに達する。I/OはPCI Express 3.0 x4/x8で、ホストとの接続に使う。電力制御では、FIVR(Fully Integrated Voltage Regulator)を統合している。これは、Ice Lakeと同様だ。
4,096個の演算コアを内蔵するICE
個々のICEコアは4K(INT8時)の積和演算ユニットを備えたマトリックス型の深層学習コンピュートグリッド(Deep Learning Compute Grid)を備える。
データ精度は16-bit浮動小数点FP16、整数8/4/2/1bit(INT8/INT4/INT2/INT1)をサポート。演算アレイの内部にSRAMを内蔵しており、低レイテンシでデータアクセスができる。現在の推論では必須となりつつある、プルーニングしたスパースウエイトに対応したコンプレッション/デコンプリッションの専用ハードウェアも備える。
ICEコアには、マトリックス演算向けのグリッドのほかに、ベクタDSPも備える。これは、Intel開発のベクタプロセッサではなく、「Tensilica Vision P6 DSP」を使っている。ただし、ニューラルネットワーク向けの拡張をしている。グリッド内蔵のSRAMのほかに、各ICEは4MBのSRAMを内蔵する。さらに、深層学習のワークロードに最適化したDMAエンジンも持つ。
DLコンピュートグリッドは、4ユニット構成となっているため、1ユニットが1,024個の演算ユニット(INT8時)を備えると見られる。インプットメモリプールと、それぞれのユニットにウエイト(重み)データのメモリを備える。
DSPエンジンは、TensilicaのIPのカスタム拡張で、VLIW(Very Long Instruction Word)命令アーキテクチャ、512bit幅ベクタ演算をサポートする。メモリはレイテンシの低いグリッド内部に1個のICEで約2MBのSRAMを内蔵し、ICEの内部に共有SRAMを持ち、さらにIA CPUコアと共有するラストレベルキャッシュが24MBある。
システムとしては、IntelのサーバーCPU XeonをホストとしてSpring Hillへと推論をオフロードする。Spring Hillは、小さいながらもきわめて高性能で、深層学習性能は48~92TOPS。8-bit整数(INT8)の数字だが性能は高く、それに対して電力は10~50Wとなっている。低電力時なら4.8 TOPS/wattの電力効率となる。
性格が大きく異なる2つの深層学習チップ
Spring Crestは、ある意味、現在の学習向け深層学習プロセッサの潮流に沿ったアーキテクチャだ。それに対して、Spring Hillは、かなり個性の強いアーキテクチャとなっている。Spring CrestとSpring Hillのアーキテクチャが大きく異なるのは、開発チーム自体が異なっている可能性が高い。
Spring Crestは、Intelが買収する前からNervanaで開発がスタートしていたチップで、Hot Chipsで発表を行なったのも、NervanaのアーキテクトだったAndrew Yang氏(Senior Principal Engineer, Machine Learning Chief Architect, Intel)だった。それに対してSpring Hillは、IntelのCPU開発センターであるハイファ(イスラエル)のOfri Wechsler氏(Intel Fellow, Artificial Intelligence Products Group, Lead Hardware Architect, Intel)が発表を行なった。
Spring Hillは、Sunny Cove CPUコアを中心としたIntelの標準的なアーキテクチャの上に、推論に特化したコアをはめ込んでいる。Intelのチップアーキテクチャの延長線で深層学習プロセッサを開発している。
また、全体では、Intel 10nmプロセスの高密度が活かされた構成となっており、SRAMセルの省スペース化で大量のSRAMを適所に配置することが可能になっている。
概観すると、Spring Crestは本来のNervanaの路線の発展形の深層学習プロセッサだが、Spring Hillは深層学習へのアプローチをIntelなりに咀嚼してIntelのアーキテクチャに取りこんだプロセッサのように見える。Intelは、スカラプロセッサとしてスタートして、ショートベクタを組み込み、それをミディアムサイズのベクタへと発展させた。次のステップとして、マトリックス演算をどう取りこむかを試行錯誤しているようにも見える。
Hot Chipsに合わせて行なわれたIntelのトークショウスタイルのイベント「Hot Wings」では、IntelのRaja Kaduri氏(Chief Architect, Senior Vice President, Intel Architecture, Graphics and Software)とJim Keller氏(Senior Vice President, General Manager, Silicon Engineering Group, Intel)が登場。Kaduri氏は今後のアーキテクチャの方向性について「スカラとベクタ、マトリックスのハードウェアをどうミックスして行くのかは非常に興味深い問題で、ハードでもある」と語った。
Intelは、Hot Chipsでは、4件の発表を単独で行なったが、それ以外にも、オプティカルI/O技術を共同で発表している。これは、I/Oセッションのまとめ記事で説明したい。