まだ電気でにゅ~らるねっとわ~くやってんの?

本記事はeeicベンドカレンダー2020(eeic (東京大学工学部電気電子・電子情報工学科) Advent Calendar 2020 - Qiita) 1日目の記事です。

 初めに

本記事は「バカ熱くなって遅い電気回路なんか捨てて,光使えば”光速”かつ”超低消費電力”かつ”光の並列性”による高効率行列演算器できんじゃね?WowWow」というハッピーな技術を紹介します.

 

みんなディープラーニング機械学習ニューラルネットワーク・AI・・・大好きですよね?

この記事を読んでくれてる方の中にも,「いっちょdeep learningやるかー」と思い立ちQiita記事を読んで,ちょっとまともなパソコンにAnaconda3を入れ,Cudaを入れ,jupyter notebookでMNISTの手書き文字判別とかやったことある人が多くいると思います.

この時,手書き文字を判別するためのいわゆる「学習」は皆さんの目の前のPCでおこなわれています.PCは電気回路で構成されており,「学習」も「電気」を使って行われています.

複数のトランジスタで構成された論理回路によって,deep learning内のたくさんの演算を「電気」的に処理しています.

 

だけど「よっしゃ研究/インターン/起業でdeep learning使ったるで!!」となると,もっと大規模な画像分類・識別やSLAMなどの3次元センシング,何万行にもわたる自然言語処理がしたくなり,目の前のPCじゃまともな時間で計算が終わらなくなるかもしれません.

 

どうしたらよいのでしょうか?

 

例えば,GPUを買い込んで,計算サーバーを立ち上げ,昼夜を問わずGPUで行列計算をぶん回すとよいかもしれません.

しかしそうなると結局,大規模な学習を個人や小規模グループ単位で行うのは難しく,お金を持っているGoogleなどの大手企業などと戦うのはとても困難になるかもしれません.

 

それに対する解決策として注目を集めているのが,ニューラルネットワーク(光深層学習機,光アクセラレータ)技術になります.

ニューラルネットワーク技術では,光を使って行列演算を行います.適切に演算のための光変調器を選択すれば,文字通り"光速"かつ"超低消費電力"かつ"光の並列性を生かした超効率演算"が実装できます.

そこで本ブログ記事では,現在盛んに研究されてる光ニューラルネットワークについて基本的なコンセプトを紹介したのち,光だからこそできる"In situ"誤差逆伝搬について解説します.最後に,2020年のhot chipsで紹介された世界初の光processorに紹介します.

 

 どうやって光ニューラルネットワークを実現するの?

簡単です.

まず,損失のない光デバイスはユニタリ変換であることを思い出す.

(思い出さなくてはならない 例えば:OSA | All linear optical devices are mode converters

次に,ニューラルネットワーク内の隠れ層にはたくさんの線形演算が含まれることを思い出します.

そして線形演算は特異値分解すれば,ユニタリ行列と特異値の並ぶ対角行列に分解できることに気づきます.(さいきょーなので気づく)

 

ア、じゃあ,「任意なユニタリ変換を実現する光デバイス」があれば光ニューラルネットワークは構成できるね!!!!

 

というのがこちらのNature Photonics の記事です

www.nature.com

簡単ですね?使ってるのは大学1年の線形代数知識だけです.

この論文は大変注目を集めており,最近の光ニューラルネットワークブームを作り出しました.

しかしあくまでハードの話かと思われるかもしれません.

そんな中,ソフト・アルゴリズム的にとても注目を集める技術が発表されました.それが"光誤差逆伝搬"です.

 

光誤差逆伝搬

誤差逆伝搬は有名なんで知ってる人も多いと思います.

chian rule使って,各ノードの重みに対するコスト関数の勾配をじゃんじゃか求めていくやつですね.

1986年に,スタンフォードのラメル・ハート教授によって提唱(Learning representations by back-propagating errors | Nature)されて以来,よく知られたアルゴリズムです.

 

この誤差逆伝搬について「光のニューラルネットワークならめちゃくちゃ簡単にできるぜ?文字通り,光を"逆"から入れるんだよ.」

と言い出したのが,スタンフォード大学のDr. Tyler W hughesです.

www.osapublishing.org

やってることはとっても単純で,まず光を普通に伝搬させます.これは現重み状態における行列計算をやったことに相当します.

次に,出力側から弱い(微小変動の)光を入れます.この時,入力側に現れる光の電磁界と各ノードでの光強度を記録しておきます.

最後に,もとの光+記録した光の電磁界の複素共役を同時に送ることで,全ノードでの勾配を計算できます.

 

なんでこれでいいのー?っていうと,光の複素共役をとるということは伝搬を反転させることに相当するからですね.微小変動を与えたことになる入力状態を,実際に逆から光を入れることで求めて,光速かつ同時的に勾配を計算するということになります.

この時,chaine ruleは光段で実現されていることになります(たぶん)

 

 

このようにアルゴリズムサイドでも光ニューラルネットワークは注目をあちゅめています.ただ,「研究としてやるにはとってもいいけど実用性は・・・?」といった風潮が最初の発表以来ずっとありました.

  

その状況に一石を投じたのが,2020年夏に開催された最先端プロセッサチップ発表の場である「hot chips」にてMIT初のベンチャー「Light matter」が行った発表です.

 

 Lightmatter,64×64光行列プロセッサを発表

 Lightmatter(About Lightmatter)は光ニューラルネットワークを最初に実現したnature photonicsの論文の1st authorであるNick Harrisがぶちたてたベンチャー企業です.

f:id:workwahuman:20201201232849j:plain

上の写真は光回路と電気回路を共にオンボードにした光行列プロセッサです.(

https://www.eetimes.com/optical-compute-promises-game-changing-ai-performance/#

)

周りの回路はGlobal foundariesによって作製され,中の光回路はシリコンフォトニクスとMEMS技術の混合で実現されているようです.

hot chipsでの発表によるとレーザーの消費電力はわずか50 mW, 光の伝達はわずか200ピコ秒(1ピコは10^-12)で伝達させます.

Nich harrisによると「AI向けデータセンターでは、エネルギー消費を20分の1に削減し、物理的な面積を5分の1に縮小することができる。これは、当社が開発している第1世代のチップを使用した場合の成果であり、今後のロードマップでさらなる改善が期待できる」とのことです. (ほんまかいな)

また「このデモ機は実際の用途において、NVIDIAの次世代ハイエンドGPUである『Ampere A100』に勝る性能を発揮する」と断言していて,AmpereA100の20倍の消費電力効率と少なくとも5倍のスループットを達成したらしいです.すごい.

 

最後に

めっちゃ面白くなくなりました.本当すいません.

だけど,私はEEICの学生ならぜひ,「ソフトだけでなくハードまで知っている」という強みを持っていると思います.そんなeeicの学生にとってこの内容は興味深いかなーとおもって書き始めましたが,なぜか忙しく適当な文章になってしまいました.

 

今回取り扱った光ニューラルネットワークは間違いなく,光の回路をやってる人間たちの間でとてもhotなトピックです.しかし,それらを簡単にふんわり解説した記事があまり日本語ではなかったので,今回その1例にするため,本ブログを投稿させていただきました.

最後に示したLightmatterによる光チップのように,数々の企業とそれの何倍もの研究者がこの内容に注目を集めています.もちろんLightmatterの発表だけではまだまだ本当に光行列計算チップに意味があるかはわかりません.しかし,実際に商用化に向けた光行列計算チップが報告されだしたことは,光速で計算する夢のチップが我々のもとに届く日が着実に近づいているように思います.

 

あとで書き直しますがいったんこれで許してください.

 

参考

推論を加速する光コンピューティングプロセッサ - EE Times Japan

Lightmatter - A Giant Leap