インテルから消えたNervanaと入れ替わったHabana Labs AIプロセッサーの昨今
また2週ほど空いてしまったが、AIプロセッサーの話に戻ろう。2019年のHotChips 31で一番会場を沸かせたのが連載572回で紹介したCerebras SystemsのWSE(Wafer-Scale Engine)だった、という話はすでに説明した通り。
ちなみに同社、今年のHotChips 32では“The Second Generation Cerebras Wafer Scale Engine”という講演を予定している。まさか7nmに微細化だったらすごいのだが。
さてそのHotChip 31でそのCerebras Systemsの講演を挟んで行なわれた講演が、インテルのSpring Crest(Nervana NNP-T)と、Habana LabsのGOYA/GAUDIであった。講演の際はWSEにやられたという感じでそれほど話題にならなかったが、年末になっていろいろ騒がれ始めたこの両社の製品を、今回は取り上げたい。
インテルがNervana Systemsというスタートアップを買収
欲しかったのはNVIDIAに対抗できるAI向けプロセッサー
2016年8月、インテルはNervana Systemsを買収した。買収金額そのものは未公開だが、近い筋からはおおよそ4億800万ドル程度とされた。
Nervana Systemsは2014年創業のスタートアップで、従業員も48人しかいなかったことを考えると、かなりの大盤振る舞いという気もする。もともと2016年の時点で同社が提供していたのは、Nervana Cloudという機械学習に特化したクラウドサービス、および機械学習に向いたNEONというフレームワーク「だけ」であった。
ただNervanaは“Nervana Engine”と呼ばれるASICを開発中であり、これを利用することでGPU(言うまでもなくNVIDIAのGPUのことだ)よりも高速に推論が可能という話になっていた。
このNervana Engineこそが、インテルの欲しいものであった。まだ2016年当時はAIのブームが始まったばかりという状況であり、NVIDIAを含めて専用チップはほとんど存在していない状況だったので、そうなると数値演算能力の高さでNVIDIAのGPUが特に学習マーケットで大きなシェアを取ったのは半ば必然であった。
ただインテルはそれを指をくわえてみているわけにはいかなかった。もちろんインテルはKnights Hillという、NVIDIAのGPUに十分伍する性能を持つアクセラレーターを開発中ではあったが、ここにはKnights Millとして2017年に投入されたAVX512のDL拡張機能は含まれない予定だった。
となるとKnights Hillが予定通り出ても、単にNVIDIAのGPUと互角という話であって、マーケットシェアをひっくり返すには十分ではない。それもあって、Nervana Engineが魅力的に映ったのだろう。
そしてそのKnights Hillが2017年にキャンセルされる事態になって、いよいよNervana Engineの投入が急がれたわけだ。
ちなみに最初のNervana EngineはLake Crestの名前で2017年前半に投入され、次にXeonとこのNervana Engineを組み合わせた形のKnights Crestが2018年に投入予定、というのが2016年におけるインテルのロードマップだった。
さて最初のLake Crestであるが、これは12個のTensor Processing Coreに32GBのHBM2、それと12chのICL(Inter-Chip Link)から構成されるものだった。
さらにICLをつかい、3次元トーラス構造で接続数を増やすことで性能をスケーラブルに増強できるとしていた。
ただこのLake CrestはTSMCの28nmプロセスで製造されたもので、それもあってTensor Processing Coreの数は十分とは言えないし、コアの動作周波数もそれほど高くはなかったようだ。
またこの頃には、先に少し触れたKnights Hillがおそらくキャンセルになることが見えていたようで、それもあって(Knights Hillをベースとする予定だった)Knights Crestはキャンセル。Lake Crestは開発用プラットフォームとして配布するにとどめ、商用向けにはTSMCの16nmで作り直したLake Crestの後継となるSpring Crestを提供することを2018年に発表した。HotChipsでの発表は、まさしくこの商用向けのSpring Crestのお披露目だったわけだ。
Lake Crestの後継となる
深層学習用プロセッサーSpring Crest
さてそのSpring CrestことNNP-Tは、2つのTensor Coreを組み合わせたTensor Core Cluster(TPC)を24個搭載。PCI ExpressもGen4としたほか、メモリーを2.5MBに増やしている。製造プロセスはTSMCの16FF+を利用、ダイサイズは680mm2とされる。
下の画像はTPCの内部構造で、2つのTensor Processorとローカルメモリー、Convolution Engineなどを共有する構造になっている。
個々のTensor ProcessorはBFloat16の演算ユニットを32×32個アレイ状に配した構成で、1サイクルあたり2048演算(乗算+加算)が可能である。
1TPCあたりなら1サイクルあたり4096演算。これが24個で、1.1GHz駆動ということで 1.1GHz×24×4096=108.1344TOPsとなる。
さらに、TPCの共有部にはConvolution Engineが専用に搭載されており、これは上の画像のCompute Unitとは並行して稼働するようなので、これの処理分も含めると119TOpsという数字になるのだと思われる。
なおそれぞれのTPCは2Dメッシュ構成での接続になっており、すべての周辺機器やI/Oに均一にアクセス可能になっている。
またスケーラビリティーにも配慮されており、最大1024ノードまでの接続が可能とされる。ちなみに性能の一端も公開された。
AI推論向けプロセッサーを強化すべく
インテルがHabana Labsを買収
インテルはこのHotChipsの別セッションでは、AI推論向けのプロセッサーであるSpring HillことNNP-Iも発表している。
Spring Hillはおいておくとして、この時点(2019年8月20~21日)では少なくともSpring Crest/Spring Hillを実際に販売するつもりであった。というか、同年11月12日には正式に製品発表までしている。
ところがその1ヵ月後の2019年12月19日、インテルはHabana Labsの買収を発表する。Habana LabsはやはりAIの学習と推論向けにGOYAおよびGAUDIという製品をリリースしており、Nervanaの製品とどう棲み分けるつもりなのかと話題になったのだが、予想通り今年2月に入ってから、Spring Crestの開発中止を非公式に発表した。
Spring Hillの方は顧客のデマンドに従う、という話であったが基本打ち切られた製品ラインを好き好んで使う顧客などいないわけで、こちらも事実上の打ち切りである。
もともとAI推論向けに関して言えば、やはりインテルが2016年に買収したMovidiusというAIプロセッサーのメーカーがあり、ここの推論向けのMyriad 2あるいはその後継のMyriad X VPU(Vision Processing Unit)は広範に利用されている。
なので、Spring Hillがないと代わりがない、という状況にはならないわけで、それもあってあっという間に市場は関心を失った感じだ。
ではHanaba LabはHotChipsでなにを発表したかというと、推論向けのGOYAと学習向けのGAUDIという2種類のチップである。
まずGOYAの方は推論向けのチップであるが、内部は汎用数値演算のGEMM、AI処理用のTPC(Tensor Processor Core)、それとDMAエンジン/共有メモリーから構成される。
特筆すべきは性能で、Resnet-50を利用した推論性能は、単一のGOYA(HL 1000D)で、NVIDIA T4比で3倍強の処理性能と、25倍ほどの低いレイテンシーが実現できたとする。
またBERTの自然言語解析の処理性能も、NVIDIA T4比でほぼ2倍の処理性能と半分以下のレイテンシーが実現されるとする。
NVIDIA V100の14%増しの学習性能を誇る
GAUDIことHL 2000
一方のメインとなるのがGAUDIことHL 2000である。こちらも詳細は明らかになっていないが、ぱっと見GOYAによく似た構成である。
大きく異なるのはHBM2と、あと目立たないがRoCE対応の10×100Gイーサネットポートである。
肝心の性能はHotChipsの時点では一切未公開であったが、MicroProcessor Reportに記事を寄せる形で学習性能はNVIDIA V100の14%増し、性能/消費電力比はT4の2倍、V100の2.5倍といった数字を出している。
また、チップの個数を並べた場合の実効性能が落ちにくいのも特徴であり、結果として多数のプロセッサーを利用した場合の性能はV100比で4倍近くなるとされる。
この性能については後述するとして、もう1つ大きな特徴がRoCEへの対応である。RoCEとはRDMA over Converged Ethernetの略であり、そのRDMAというのはRemote DMAの意味である。
もともとInfiniBandという「インテルが2度も捨てた」ネットワーク規格があり(というか今もある)、現在はNVIDIA傘下にあるイスラエルのMellanox Technologiesが主要なベンダーであるが、そのInfiniBand向けにRDMAというプロトコルが規定された。
これはネットワーク経由のデータ転送を、一切CPUを介さずにネットワークアダプターだけで済ませてしまうというもので、CPUから見るとネットワークに対して転送命令を出すだけでいつの間にかメモリーに結果が入ってる、というわけでRemote DMAと称したわけだ。
このRDMAそのものはInfiniBand向けのものだが、これをTCP/IPの世界に持ち込んだのがRoCEである。ちなみに、他にiWARP:Internet Wide Area RDMA Protocolと呼ばれているよく似た別の規格もある。
プロトロルの話はおいておくとして、このRoCEはやはりMellanoxからアダプターが出ているのだが、GAUDIではこれを全部オンチップに搭載してしまい、しかも100GbE×10も搭載されている。
同じことを通常のイーサネットカードでやることは不可能である。なぜならI/Fの帯域が足りないためだ。100Gイーサネット(=100Gbpsの双方向)をサポートするためには、PCIe Gen3×16、ないしPCIe Gen4×8のI/Fが必要である。
これを10個ということは、チップにPCIe Gen3×160、あるいはPCIe Gen4×80のレーンが要求される。もちろんこんなI/Fは搭載できないので、スピードを落とすかイーサネットの数を減らすことになるが、そうなると特にスケーラビリティーの点で見劣りすることになる。
またPCI Expressを挟むとそれだけでLatencyが増えることになる。Photo22でV100が、数が増えると急速に性能が劣化する理由はこのネットワークにあり、この点でGAUDIにはかなりのアドバンテージがある。
さて、先の3枚の画像はあくまでもシミュレーションを使った推定であるが、その後実機を使ってMLPerfが非公開で実施され、ここでGAUDIはNVIDIAのT4やV100だけでなく、Spring Crestをもぶっちぎる性能だったらしい。
加えて言えば、GAUDIの100G×10 RoCEはインテルにとって福音であった。インテルは2019年7月、OmniPath Fabricという独自のクラスター向けインターコネクトの開発から撤退した。
OmniPath Fabcicは2016年に、まず100Gbpsのものが実用化され出荷もなされていたが、この後継である200Gbpsの製品の開発がうまくいかなかったらしい。
この直前の2019年6月、インテルはBarefoot Networkというイーサネット・スイッチの会社を買収しており、今後はイーサネットベースでクラスターを構築する方向に舵を切ったわけだが、このBarefootのスイッチとGAUDIの100G RoCEは非常に相性が良い。
Spring Crestの場合はPCIe経由で外部にイーサネット・アダプターを取り付けることになるが、構成から言って100Gイーサネット×2が精一杯であり、スケーラビリティーはずっと劣ることになる。
この2つの理由からインテルは4億ドルを捨てて、改めてHanaba Labsの製品を同社のAI戦略の主軸に置いたわけだ。ちなみにHabana Labsの買収金額はおおよそ20億ドルである。
Hotchipsでの発表からわずか半年で、見事に明暗が分かれた2つのチップというか、アーキテクチャーだったわけだ。
ちなみに同社、今年のHotChips 32では“The Second Generation Cerebras Wafer Scale Engine”という講演を予定している。まさか7nmに微細化だったらすごいのだが。
さてそのHotChip 31でそのCerebras Systemsの講演を挟んで行なわれた講演が、インテルのSpring Crest(Nervana NNP-T)と、Habana LabsのGOYA/GAUDIであった。講演の際はWSEにやられたという感じでそれほど話題にならなかったが、年末になっていろいろ騒がれ始めたこの両社の製品を、今回は取り上げたい。
インテルがNervana Systemsというスタートアップを買収
欲しかったのはNVIDIAに対抗できるAI向けプロセッサー
2016年8月、インテルはNervana Systemsを買収した。買収金額そのものは未公開だが、近い筋からはおおよそ4億800万ドル程度とされた。
Nervana Systemsは2014年創業のスタートアップで、従業員も48人しかいなかったことを考えると、かなりの大盤振る舞いという気もする。もともと2016年の時点で同社が提供していたのは、Nervana Cloudという機械学習に特化したクラウドサービス、および機械学習に向いたNEONというフレームワーク「だけ」であった。
ただNervanaは“Nervana Engine”と呼ばれるASICを開発中であり、これを利用することでGPU(言うまでもなくNVIDIAのGPUのことだ)よりも高速に推論が可能という話になっていた。
このNervana Engineこそが、インテルの欲しいものであった。まだ2016年当時はAIのブームが始まったばかりという状況であり、NVIDIAを含めて専用チップはほとんど存在していない状況だったので、そうなると数値演算能力の高さでNVIDIAのGPUが特に学習マーケットで大きなシェアを取ったのは半ば必然であった。
ただインテルはそれを指をくわえてみているわけにはいかなかった。もちろんインテルはKnights Hillという、NVIDIAのGPUに十分伍する性能を持つアクセラレーターを開発中ではあったが、ここにはKnights Millとして2017年に投入されたAVX512のDL拡張機能は含まれない予定だった。
となるとKnights Hillが予定通り出ても、単にNVIDIAのGPUと互角という話であって、マーケットシェアをひっくり返すには十分ではない。それもあって、Nervana Engineが魅力的に映ったのだろう。
そしてそのKnights Hillが2017年にキャンセルされる事態になって、いよいよNervana Engineの投入が急がれたわけだ。
ちなみに最初のNervana EngineはLake Crestの名前で2017年前半に投入され、次にXeonとこのNervana Engineを組み合わせた形のKnights Crestが2018年に投入予定、というのが2016年におけるインテルのロードマップだった。
さて最初のLake Crestであるが、これは12個のTensor Processing Coreに32GBのHBM2、それと12chのICL(Inter-Chip Link)から構成されるものだった。
さらにICLをつかい、3次元トーラス構造で接続数を増やすことで性能をスケーラブルに増強できるとしていた。
ただこのLake CrestはTSMCの28nmプロセスで製造されたもので、それもあってTensor Processing Coreの数は十分とは言えないし、コアの動作周波数もそれほど高くはなかったようだ。
またこの頃には、先に少し触れたKnights Hillがおそらくキャンセルになることが見えていたようで、それもあって(Knights Hillをベースとする予定だった)Knights Crestはキャンセル。Lake Crestは開発用プラットフォームとして配布するにとどめ、商用向けにはTSMCの16nmで作り直したLake Crestの後継となるSpring Crestを提供することを2018年に発表した。HotChipsでの発表は、まさしくこの商用向けのSpring Crestのお披露目だったわけだ。
Lake Crestの後継となる
深層学習用プロセッサーSpring Crest
さてそのSpring CrestことNNP-Tは、2つのTensor Coreを組み合わせたTensor Core Cluster(TPC)を24個搭載。PCI ExpressもGen4としたほか、メモリーを2.5MBに増やしている。製造プロセスはTSMCの16FF+を利用、ダイサイズは680mm2とされる。
下の画像はTPCの内部構造で、2つのTensor Processorとローカルメモリー、Convolution Engineなどを共有する構造になっている。
個々のTensor ProcessorはBFloat16の演算ユニットを32×32個アレイ状に配した構成で、1サイクルあたり2048演算(乗算+加算)が可能である。
1TPCあたりなら1サイクルあたり4096演算。これが24個で、1.1GHz駆動ということで 1.1GHz×24×4096=108.1344TOPsとなる。
さらに、TPCの共有部にはConvolution Engineが専用に搭載されており、これは上の画像のCompute Unitとは並行して稼働するようなので、これの処理分も含めると119TOpsという数字になるのだと思われる。
なおそれぞれのTPCは2Dメッシュ構成での接続になっており、すべての周辺機器やI/Oに均一にアクセス可能になっている。
またスケーラビリティーにも配慮されており、最大1024ノードまでの接続が可能とされる。ちなみに性能の一端も公開された。
AI推論向けプロセッサーを強化すべく
インテルがHabana Labsを買収
インテルはこのHotChipsの別セッションでは、AI推論向けのプロセッサーであるSpring HillことNNP-Iも発表している。
Spring Hillはおいておくとして、この時点(2019年8月20~21日)では少なくともSpring Crest/Spring Hillを実際に販売するつもりであった。というか、同年11月12日には正式に製品発表までしている。
ところがその1ヵ月後の2019年12月19日、インテルはHabana Labsの買収を発表する。Habana LabsはやはりAIの学習と推論向けにGOYAおよびGAUDIという製品をリリースしており、Nervanaの製品とどう棲み分けるつもりなのかと話題になったのだが、予想通り今年2月に入ってから、Spring Crestの開発中止を非公式に発表した。
Spring Hillの方は顧客のデマンドに従う、という話であったが基本打ち切られた製品ラインを好き好んで使う顧客などいないわけで、こちらも事実上の打ち切りである。
もともとAI推論向けに関して言えば、やはりインテルが2016年に買収したMovidiusというAIプロセッサーのメーカーがあり、ここの推論向けのMyriad 2あるいはその後継のMyriad X VPU(Vision Processing Unit)は広範に利用されている。
なので、Spring Hillがないと代わりがない、という状況にはならないわけで、それもあってあっという間に市場は関心を失った感じだ。
ではHanaba LabはHotChipsでなにを発表したかというと、推論向けのGOYAと学習向けのGAUDIという2種類のチップである。
まずGOYAの方は推論向けのチップであるが、内部は汎用数値演算のGEMM、AI処理用のTPC(Tensor Processor Core)、それとDMAエンジン/共有メモリーから構成される。
特筆すべきは性能で、Resnet-50を利用した推論性能は、単一のGOYA(HL 1000D)で、NVIDIA T4比で3倍強の処理性能と、25倍ほどの低いレイテンシーが実現できたとする。
またBERTの自然言語解析の処理性能も、NVIDIA T4比でほぼ2倍の処理性能と半分以下のレイテンシーが実現されるとする。
NVIDIA V100の14%増しの学習性能を誇る
GAUDIことHL 2000
一方のメインとなるのがGAUDIことHL 2000である。こちらも詳細は明らかになっていないが、ぱっと見GOYAによく似た構成である。
大きく異なるのはHBM2と、あと目立たないがRoCE対応の10×100Gイーサネットポートである。
肝心の性能はHotChipsの時点では一切未公開であったが、MicroProcessor Reportに記事を寄せる形で学習性能はNVIDIA V100の14%増し、性能/消費電力比はT4の2倍、V100の2.5倍といった数字を出している。
また、チップの個数を並べた場合の実効性能が落ちにくいのも特徴であり、結果として多数のプロセッサーを利用した場合の性能はV100比で4倍近くなるとされる。
この性能については後述するとして、もう1つ大きな特徴がRoCEへの対応である。RoCEとはRDMA over Converged Ethernetの略であり、そのRDMAというのはRemote DMAの意味である。
もともとInfiniBandという「インテルが2度も捨てた」ネットワーク規格があり(というか今もある)、現在はNVIDIA傘下にあるイスラエルのMellanox Technologiesが主要なベンダーであるが、そのInfiniBand向けにRDMAというプロトコルが規定された。
これはネットワーク経由のデータ転送を、一切CPUを介さずにネットワークアダプターだけで済ませてしまうというもので、CPUから見るとネットワークに対して転送命令を出すだけでいつの間にかメモリーに結果が入ってる、というわけでRemote DMAと称したわけだ。
このRDMAそのものはInfiniBand向けのものだが、これをTCP/IPの世界に持ち込んだのがRoCEである。ちなみに、他にiWARP:Internet Wide Area RDMA Protocolと呼ばれているよく似た別の規格もある。
プロトロルの話はおいておくとして、このRoCEはやはりMellanoxからアダプターが出ているのだが、GAUDIではこれを全部オンチップに搭載してしまい、しかも100GbE×10も搭載されている。
同じことを通常のイーサネットカードでやることは不可能である。なぜならI/Fの帯域が足りないためだ。100Gイーサネット(=100Gbpsの双方向)をサポートするためには、PCIe Gen3×16、ないしPCIe Gen4×8のI/Fが必要である。
これを10個ということは、チップにPCIe Gen3×160、あるいはPCIe Gen4×80のレーンが要求される。もちろんこんなI/Fは搭載できないので、スピードを落とすかイーサネットの数を減らすことになるが、そうなると特にスケーラビリティーの点で見劣りすることになる。
またPCI Expressを挟むとそれだけでLatencyが増えることになる。Photo22でV100が、数が増えると急速に性能が劣化する理由はこのネットワークにあり、この点でGAUDIにはかなりのアドバンテージがある。
さて、先の3枚の画像はあくまでもシミュレーションを使った推定であるが、その後実機を使ってMLPerfが非公開で実施され、ここでGAUDIはNVIDIAのT4やV100だけでなく、Spring Crestをもぶっちぎる性能だったらしい。
加えて言えば、GAUDIの100G×10 RoCEはインテルにとって福音であった。インテルは2019年7月、OmniPath Fabricという独自のクラスター向けインターコネクトの開発から撤退した。
OmniPath Fabcicは2016年に、まず100Gbpsのものが実用化され出荷もなされていたが、この後継である200Gbpsの製品の開発がうまくいかなかったらしい。
この直前の2019年6月、インテルはBarefoot Networkというイーサネット・スイッチの会社を買収しており、今後はイーサネットベースでクラスターを構築する方向に舵を切ったわけだが、このBarefootのスイッチとGAUDIの100G RoCEは非常に相性が良い。
Spring Crestの場合はPCIe経由で外部にイーサネット・アダプターを取り付けることになるが、構成から言って100Gイーサネット×2が精一杯であり、スケーラビリティーはずっと劣ることになる。
この2つの理由からインテルは4億ドルを捨てて、改めてHanaba Labsの製品を同社のAI戦略の主軸に置いたわけだ。ちなみにHabana Labsの買収金額はおおよそ20億ドルである。
Hotchipsでの発表からわずか半年で、見事に明暗が分かれた2つのチップというか、アーキテクチャーだったわけだ。
コメント
コメントを投稿