なかなか実用化されない
光コンピューター
昔から、計算性能を引き上げるためにどんな素子が利用できるかに関してはさまざまな研究がなされてきていた。大昔で言えばジョセフソン素子が一時期注目されたことがある。
これはジョセフソン効果(Josephson effect:英国のBrian David Josephson博士によって発見されたことでこの名前がある)を利用したもので、通常のCMOSなどに比べると数桁高速なスイッチング速度を実現できるということで、将来のコンピューターに採用されると一時期もてはやされたものだが、あいにくとジョセフソン効果は超電導環境下でないと発生せず、このため液体ヘリウムなどを利用した超低温環境を用意する必要があり、いまだに研究段階に留まっている。
今だと量子コンピューターがその最右翼に入るのだろうが、こちらもなかなか常温で動作するレベルではない(やはり液体ヘリウムでの冷却が必要)こともあってまだ普及は遠そうである。
同じように以前から話題になりつつ、なかなか普及しない技術の1つに光コンピューターがある。通信経路としての光素子はもうわりと広範に普及している(なにせ自宅とインターネットの接続がだいたい光ファイバーになりつつあるのが今の日本である)が、ただ計算そのものを光でやっているか? というとそれは別の話である。
基本的な論理回路を光ベースで実現する、ということそのものはだいぶ昔に実現しているが、それを量産可能な大規模回路として構築するのはまた別の話である。ただ最近になってこの分野へのチャレンジが少しづつ増えてきた。
例えば2020年にニューヨーク大のMingxin He博士らによって発表された“Colloidal diamond”という論文は、自己組織化するフォトニック結晶を、生物のDNAを利用して光回路に構築する方法を論じたもので、これで複雑な光回路の構築の目途が立ったと話題になっている。
これとは別に、2017年にマサチューセッツ工科大学のYichen Shen博士とNicholas C. Harris博士らが発表した“Deep Learning with Coherent Nanophotonic Circuits”という論文の中で、56個のプログラミング可能な干渉計を利用し、非常に簡単なAI処理(母音の弁別)を75%の正答率で行なうことが示された。この正答率そのものはそう高いわけではないのだが、それを光コンピューターで実装したことが大きく評価された。
余談ながら、この論文の元になった最初の論文は、1978年に出された“Multilayer optical learning networks”で、この時はまだ原始的な光回路を使ってニューラルネットワークを構築するもので、実用性には乏しいレベル(というか、コンセプト)であったが、いろいろ興味深い。
ちなみに論文での演算回路(OIU:Optical Interference Unit)のダイ写真とその模式図が下の画像だ。構造は2層の完全結合型ニューラルネットワークである。
内部は56個のMZI(Mach-Zehnder interferometers:マッハツェンダー干渉計)と213個の位相シフト素子(Phase Shifter)から構成されており、入力は光の位相で表現される。MZIは名前の通り2つの入射光の位相の差を検出するものだが、これを利用して位相と振幅の変調を行なうことも可能で、ネットワークの世界ではレーザー発振器に利用されていたりする。
このOIUではMZIを利用して重みの計算をして、最後に総和を取る形で結果を出力する仕組みである。このデバイスは、おそらく2012年にA*STAR(シンガポール科学技術研究庁)のIME(Institute of Microelectronics:A*STARの先端的半導体研究機関)とワシントン大が共同で始めたSilicon Photonics Integration Platformを利用して製造されたものと思われる。
この論文を最後にShen博士とHarris博士は別々の道をたどる。Shen博士は他のメンバーと一緒に、光コンピューターを利用したAIプロセッサーを構築する目的でLightelligenceという企業を2017年9月に立ち上げる。
一方Harris博士は? というと2018年1月までマサチューセッツ工科大学にフェローとして在籍したあとで、Lightmatterという企業を立ち上げている。今回紹介するのは、このLightmatterである。
実はLightmatterの記事は、今年1月に掲載しているのだが、同社はLightelligenceより先に製品を世の中に出荷することに成功している。そのあたりもあって、今回はLightmatterをご紹介したい。
MZIを格子状に並べた
Lightmatter
そのLightmatterの考え方は以下の通りである。下の画像の左側は、従来型の2次元マトリックス構造のニューラルプロセッサーである。
例として挙げられているのはGoogle TPUであるが、要するにMACユニットを格子状に並べている。この際に、計算に利用する重みはMACユニット内のメモリー(≒SRAM)に格納しておくことで、外部メモリーのアクセス頻度を減らし、計算効率を高めるというものだ。
一方右側が、Lightmatterの考える仕組みだ。Lightmatterでは、MACユニットの代わりにMZIを並べている。1つのMZIでは2行2列のベクトル積の演算が可能であり、これをメッシュ状に並べることでM行N列の大規模なマトリックス演算が可能になるというものだ。
一つのMZIが処理できる演算量は、MACユニットに比べるとはるかに少ないのだが、MZIを利用した場合以下のメリットがあるとする。ちなみに同社はこれをPNP(Programmable Nanophotonic Processor)と称している。
・MZIを利用したメッシュ(つまり右側にあるM行N列のメッシュ全体)を光が通り過ぎるのに要する時間は100ps程度である。
これは10GHz駆動のプロセッサーの1サイクル分に等しい。左側のものは、例えばすべてのMACユニットが1サイクルで演算を行なえたとしても、メッシュ全体の処理が終わるまでには数サイクル~数十サイクルを要するのが普通で、常識的に1GHz駆動とすると所要時間は数ns~数十nsなので、MZIを使った光コンピューターは数十~数百倍高速ということになる。
これだけ性能差があれば、MZIの1個あたりの演算量の少なさはもはや問題にならない。ちなみにMZIの理論的な演算速度のピークは200THzほど(もちろんこれは理論上のピークで、ここまで高速にMZIを駆動するのは現時点では不可能)で、まだまだ性能を上げられる余地がある。
・MZIの駆動に要するエネルギー量は、MACユニットとは比較にならない少なさ(数桁違う)である。したがって、MACユニットに匹敵する計算量を実現するためにMZIを多数集積しても、必要となるエネルギー量は遥かに少ない。
からの記事と詳細 ( かつては夢物語だった光コンピューターを実現したLightmatter AIプロセッサーの昨今 (1/3) - ASCII.jp )
https://ift.tt/pJifdW7
No comments:
Post a Comment