4月17日~19日にかけて横浜で開催されたCOOL Chips 22のトップバッターは、富士通のドメインスペシフィックコンピューティングに関する丸山拓巳氏の発表であった。

  • 丸山拓巳

    COOL Chips 22においてドメインスペシフィックコンピューティングについて招待講演を行う富士通の丸山氏

良く知られているように、ムーアの法則は終わりに近づき、半導体のプロセス技術だけでは大きな性能改善は難しくなってきている。このため、ドメインスペシフィックコンピューティングに注目が集まっている。

ドメインスペシフィックコンピューティングでは、汎用性を犠牲にして、コンピュータを特定分野向けに設計することにより、高い性能を実現しようとする。次の図のように、汎用コンピューティングやスーパーコンピューティングは、分野を限定せず広い用途に使えるが、性能がそれほど高くはできない。

しかし、推論(Inference)専用のハードウェアや学習(Deep Learning)専用のハードウェアを作れば、同じトランジスタ数を使う汎用コンピュータよりも性能の高いものが作れる。また、DAと書いてあるのは、これから述べるデジタルアニーラであり、組み合わせ最適化問題専用のハードウェアである。

より、エキゾチックなのは量子コンピューティングや脳をまねるブレインコンピューティングなどがある。これらは大きな可能性があるが、実用化はまだまだ先のことであり、今回の講演の範囲外である。

  • 富士通のドメインスペシフィックコンピューティング

    ドメインスペシフィックコンピューティングは、ハードウェアを特定分野向けに最適化することにより高性能化を目指すアプローチである。富士通は組み合わせ問題専用のデジタルアニーラとディープラーニング用のDLUを開発している (このレポートの図は、COOL Chips 22における丸山氏の発表資料のコピーである)

組み合わせ最適化問題を解くデジタルアニーラ

アニーリングは焼きなましという処理で、金属を高温に熱してから徐々に冷却していく。金属の切削加工などで生じた歪みなどを取り除き、柔らかく加工しやすくすることができる。次の図のように、高温状態では熱エネルギーが大きく、それぞれの分子などがバラバラになっているが、温度が下がるとだんだんと整列してエネルギーが低い状態に落ち着いていく。

これをコンピュータの計算で行うのがシミュレーテッドアニーリングで、最低エネルギーの状態が最適解になるように問題を定式化して組み合わせ問題を解く方法として使われている。このシミュレ―テッドアニーリングを量子的に行う方法を東工大の西森教授が提案し、カナダのD-Wave社はこの原理に基づく量子アニーリングマシンを発売している。

物質のエネルギー状態は複雑で、冷却していけば最低のエネルギー状態に落ち着くとは限らず、グローバルな最低よりもエネルギーの大きなローカルミニマムで止まってしまうことも多い。量子アニーリングを使うと、ローカルミニマムに捕らえられても周囲のエネルギーの高い山を量子トンネル効果で突き抜けて移動できるので、グローバルの最低エネルギーを見付けやすくなるが、通常のシミュレーテッドアニーリングでも、やり方によってかなり良い解が得られるようである。

運転時間を最短にする荷物の配送順序を探す問題などでは、本当の最短ルートが見つからなくても、それに近いルートが分かれば良いというケースも多い。このようなケースでは厳密なエネルギー最小の解でなくても十分役に立つ。

従来の方法では、ピースを順番に入れてどれだけ詰まって低いエネルギー状態になるかを見ていたが、富士通はランダムにピースを入れ、全体をゆすって詰め込むという方法を使っている。このゆすり込みは乱数で、いったん系のエネルギーを上げてからまた冷やすことで実現している。

  • シミュレ―テッドアニーリング

    アニーリング(焼きなまし)は高温状態から徐冷することで歪みを除去する。これを組み合わせ問題の最適解を求めるために使うのがシミュレ―テッドアニーリング。従来はピースを順番に入れていって最低エネルギーの解が得られるまで繰り返していたが、富士通は、全部をいれておいてからゆすり込んで、詰め込みを図るという方法を採用している

量子アニーリングは収束性は高いが、超伝導素子を使うため、超低温にする必要がある。しかし、デジタルアニーラは、普通のCMOS回路であるので常温で使えるというメリットがある。

富士通のデジタルアニーラは、8192bitの選択肢を持ち、全対全結合になっている。そして、64bitの精度で評価関数の計算ができる。この計算は通常のコンピュータでもできるが、DAチップはこの部分をハードウェア化しているので、並列計算ができ、通常のコンピュータで計算するよりずっと高速に処理することができる。

  • 富士通のデジタルアニーラ

    富士通のデジタルアニーラは、最大8192bitの状態を持ち、最大64bitの精度でエネルギー状態の計算ができる

組み合わせ最適化問題は、創薬の分野では条件のパターンの組み合わせ問題、投資の分野では投資ポートフォリオのリスクの最小化、運送の分野では運送順序の最適化、電力供給の分野では発、送電網の最適化など多くの問題に適用できる。

  • 組み合わせ最適化問題

    組み合わせ最適化は創薬、投資ポートフォリオ、運送、発/送電網など多くの問題に使うことができる

ディープラーニング計算を加速するDLU

富士通が開発するもう1つのドメインスペシフィック コンピュータはディープラーニングの計算に特化したDLUである。DLUはディープラーニングに特化したアーキテクチャで、ディープラーニングに最適な精度で計算を行う。これにより計算に必要なトランジスタ数を減らし、その分、並列に計算を行う演算器の数を増やして性能を上げている。整数演算で計算に必要なトランジスタ数を減らして搭載コア数を増やし、オンチップのネットワークの搭載も可能にしている。

  • DLU

    DLUは通常のコンピュータと異なり、ディープラーニングに特化したアーキテクチャとなっており、最適な精度で演算を行う。それにより、搭載コア数を増やし、オンチップのネットワークの搭載を可能にしている

富士通の工夫はDeep Learning Integerと言って、ディープラーニングの計算を16bitの整数、あるいは8bitの精度で計算を行う点である。次の図中の左下の図のように8bitや16bitの整数ではDeep Learningの計算に必要な精度は得られず、最低でも16bit浮動小数点を使う必要がある。しかし、富士通は赤い矢印で示したように、Deep Learning Integerと呼ぶ手法で精度を改善し、8bit、あるいは16bitの整数で学習の計算を可能にしている。

このマジックの種は、整数の部分は仮数部を表し、指数部分は内部のレジスタに格納するというやり方で実現されている。ただし、指数部は、それぞれの変数が持つのではなく、全変数に共通になっているので、記憶に必要なビット数はわずかである。

  • DL-INT

    富士通はDL-INTという方法で8bit、16bitの整数で学習を行うことを可能にしている

DLUはDL-INTで計算を行うDPEをリング状につないだDPUを多数並べた構造になっている。そして、DPU群はHBM2メモリに接続されている。しかし、ニューラルネットを作るためにDPU間がどのようなネットワークでつながれているのかは示されなかった。また、ReLUやプーリングなどの機能はどこで実現されるのかも不明である。

そして、DLUチップは多数のDLUチップを接続するネットワークへのインタフェースとホストCPUに接続するPCIe3.0インタフェースを持っている。

  • DLU

    DLUはDL-INTで演算するDPEをリング状に接続したDPUと呼ぶユニットを多数備え、HBM2メモリをつないでいる。しかし、DPU間の接続がどうなっているのかなどの詳細は発表されなかった

そして、DLUの応用として、血液に含まれるDNAをシーケンサで分析し、ディープラーニングを使って血液検査を行うという方法を大阪大学と共同研究を行っていることを明らかにした。従来の血液検査の1/10の時間で同程度の精度が得られるという。

  • ドメインスペシフィックコンピューティング

    ドメインスペシフィックなコンピューティングは鈍化するムーアの法則を克服する有力な手段。しかし、成功するためにはドメインを良く理解し、適切なドメインを選択することが重要

ドメインスペシフィックコンピューティングはムーアの法則のスローダウンを克服するための有効な方策である。しかし、ドメインスペシフィックなコンピュータを設計するには、ドメインを深く理解する必要があり、ユーザとのコミュニケーションが重要である。

そして、どのドメインに特化するかが重要であり、正しいドメインを見つけることが重要であるという。

また、汎用のコンピュータがドメインスペシフィックなコンピュータに取って代わられることはなく、両者は共存する。

ドメインスペシフィックなプロセサは通常のコンピュータより高い性能を実現することができるが、適用範囲がターゲットにしたドメインに限定されるので、市場が小さくなる。丸山氏は、適切なドメインを選ぶことが重要と述べており、筆者には十分なサイズの市場の確保に苦戦しているように聞こえた。

今回の丸山氏の発表は、ほぼ2年前のISC17でのDLUの発表スライドの使いまわしで、新しい情報が無かった。せめてGoogleのTPUの論文くらいの内容のある発表にしてもらいたかった。あるいはディープラーニングのベンチマークであるMLPerfの測定結果などを出してくれれば、GoogleやNVIDIAと性能の比較ができたのであるが、今回の発表では、DLUというのをやってますという宣伝だけで、中身の技術の良しあしはまったく分からない。

DAも中身や性能について発表して欲しかった。今回発表の8192bitのものの性能はまだ測定できていないとしても、初代の1024bitのもののデータは取れているはずである。

企業秘密の点で出したくないというのも理解できるが、学会で発表する以上、科学の進歩に貢献する発表にしていただきたかった。