Marsの電力はどこで消費されるのか?
重みはMZIに近い場所に電荷として蓄えられており、記憶のための消費電力はほぼゼロである。また、64×64のフォトニック乗算器の消費電力もほぼゼロである。
重みのアップデートのためのダイナミックな電力消費は必要であるが、この電力は電子的な回路の場合と同程度の消費電力である。電子回路と同様に、入力を纏めて処理するバッチ化を行えば重みのアップデートの電力は少なくて済むようになる。
したがって、Marsの場合の電力消費の大部分はデータ変換に伴うものであり、Marsは計算のためには電力を使っていない。
次の図はMarsの電力消費の内訳を示すものである。そして、 ResNet-50で99%の精度を実現したケースで、Marsの全体の消費電力はレーザー光源の電力を含めて3W以下で、その大部分がデータ移動のための電力である。
電力消費の内訳は、48.7%がデジタル部のデータ移動などのダイナミックな消費電力、ベクタのDACが11.3%、重みのDACが10.3%、レーザーが8.8%、ADCが12.7%といったところが大口の電力消費者である。
そして、Marsチップは、次の写真のように、90nmプロセスで作られたフォトニックチップの上に、14nmプロセスのASICチップを搭載した構造になっている。フォトニックチップの電力が小さいので、チップを重ねても放熱の問題は生じない。そして、チップのスタッキングでデータ移動の距離が減り、エネルギーも減るという効果が出ている。
MarsアクセラレータはPCI Expressカードの形態で作られており、ホストCPUに接続される。マシンラーニングのフレームワークやコンパイラはホストCPUで実行される。
フレームワークとしては、PyTorch、TensorFlowとONNXをサポートしている。Lightmatterのソフトウェア環境で、モデルのシミュレーションを行い、コンパイルや実行を行うことができる。そして、実行中のモデルの内部状態をモニタできるデバッガなども提供している。また、実行中のプロファイルを取り、チューニングを行えるツールも提供している。
Marsはフォトニクスを使ってAI計算を行う推論アクセラレータである。このアクセラレータは、推論に関しては汎用のアクセラレータである。
Marsは実用的な技術となるのか?
結論であるが、オプティカルなAI計算が現実的なものとなった。LightmatterのMarsボードはマシンラーニングの中心となるマトリクス×ベクトルの計算をフォトニクスで実行し、アクティベーションやI/Oなどは電子回路で実行している。
オプティカルチップの上に電子回路のチップを搭載するスタック構造を取っており、アクティベーションとコンピュートの間の距離が短くなっている。オプティカルチップの消費電力は小さく、より大きなマトリクス演算器を搭載したり、より多くのSRAMを搭載することが可能である。
計算にはほとんど電力を消費せず、そして、計算速度も電子回路に比べて10倍速いという夢のような技術である。しかし、ニューラルネットの計算とは言え、アナログ計算でどの程度の規模まで実用的な計算ができるのかは気になるところである。
デジタル技術で補正してアナログ回路の計算精度を上げることは可能であろうが、動作速度の低下や消費電力の増加が起こることも考えられ、実用的な技術に育つのかどうかは注意深く見ていく必要があろう。