ディープラーニング計算を加速するDLU
富士通が開発するもう1つのドメインスペシフィック コンピュータはディープラーニングの計算に特化したDLUである。DLUはディープラーニングに特化したアーキテクチャで、ディープラーニングに最適な精度で計算を行う。これにより計算に必要なトランジスタ数を減らし、その分、並列に計算を行う演算器の数を増やして性能を上げている。整数演算で計算に必要なトランジスタ数を減らして搭載コア数を増やし、オンチップのネットワークの搭載も可能にしている。
富士通の工夫はDeep Learning Integerと言って、ディープラーニングの計算を16bitの整数、あるいは8bitの精度で計算を行う点である。次の図中の左下の図のように8bitや16bitの整数ではDeep Learningの計算に必要な精度は得られず、最低でも16bit浮動小数点を使う必要がある。しかし、富士通は赤い矢印で示したように、Deep Learning Integerと呼ぶ手法で精度を改善し、8bit、あるいは16bitの整数で学習の計算を可能にしている。
このマジックの種は、整数の部分は仮数部を表し、指数部分は内部のレジスタに格納するというやり方で実現されている。ただし、指数部は、それぞれの変数が持つのではなく、全変数に共通になっているので、記憶に必要なビット数はわずかである。
DLUはDL-INTで計算を行うDPEをリング状につないだDPUを多数並べた構造になっている。そして、DPU群はHBM2メモリに接続されている。しかし、ニューラルネットを作るためにDPU間がどのようなネットワークでつながれているのかは示されなかった。また、ReLUやプーリングなどの機能はどこで実現されるのかも不明である。
そして、DLUチップは多数のDLUチップを接続するネットワークへのインタフェースとホストCPUに接続するPCIe3.0インタフェースを持っている。
そして、DLUの応用として、血液に含まれるDNAをシーケンサで分析し、ディープラーニングを使って血液検査を行うという方法を大阪大学と共同研究を行っていることを明らかにした。従来の血液検査の1/10の時間で同程度の精度が得られるという。
ドメインスペシフィックコンピューティングはムーアの法則のスローダウンを克服するための有効な方策である。しかし、ドメインスペシフィックなコンピュータを設計するには、ドメインを深く理解する必要があり、ユーザとのコミュニケーションが重要である。
そして、どのドメインに特化するかが重要であり、正しいドメインを見つけることが重要であるという。
また、汎用のコンピュータがドメインスペシフィックなコンピュータに取って代わられることはなく、両者は共存する。
ドメインスペシフィックなプロセサは通常のコンピュータより高い性能を実現することができるが、適用範囲がターゲットにしたドメインに限定されるので、市場が小さくなる。丸山氏は、適切なドメインを選ぶことが重要と述べており、筆者には十分なサイズの市場の確保に苦戦しているように聞こえた。
今回の丸山氏の発表は、ほぼ2年前のISC17でのDLUの発表スライドの使いまわしで、新しい情報が無かった。せめてGoogleのTPUの論文くらいの内容のある発表にしてもらいたかった。あるいはディープラーニングのベンチマークであるMLPerfの測定結果などを出してくれれば、GoogleやNVIDIAと性能の比較ができたのであるが、今回の発表では、DLUというのをやってますという宣伝だけで、中身の技術の良しあしはまったく分からない。
DAも中身や性能について発表して欲しかった。今回発表の8192bitのものの性能はまだ測定できていないとしても、初代の1024bitのもののデータは取れているはずである。
企業秘密の点で出したくないというのも理解できるが、学会で発表する以上、科学の進歩に貢献する発表にしていただきたかった。