ニュース

プログラマーの大敵“デバッグ”、AIで自動化へ向けてIntelが研究中

〜Intel、開発部門での研究成果発表イベント「Intel Labs Day 2020」

マシンプログラミングについて説明するIntel シニア・フェロー、副社長 兼 Intel Labs責任者 リチャード・ウーリヒ氏(左、出典:Intel)

 Intelの研究開発部門「Intel Labs」は、中長期的な技術を開発する部門として設立され、Intelの製品部門となるクライアントコンピューティング事業本部やデータセンター事業本部といった収益が重視される事業部とは切り離されて、収益を度外視した開発を行なう部門となっている。

 過去にはIntel Labsで開発された技術が製品事業部により製品化された例は多くあり、その代表例は後に「Thunderbolt」のブランド名で投入された開発コードネーム「Light Peak」だ。

 以前は年に1度行なわれていたIntel Labs Dayだが、今年はオンラインで12月3日(日本時間12月4日未明)に開催され、マシンプログラミング、統合フォトニクス、量子コンピュータなどについて説明を行なった。

「未来は既にここにあるが、あまねく提供されていない」状況を改善するのがIntel Labsの役目

 Intel シニア・フェロー、副社長 兼 Intel Labs責任者 リチャード・ウーリヒ氏は、基調講演のなかでIntel Labsの取り組みについて、「われわれのスローガンは“未来はここからはじまる”だ。このためよく未来はどうなるのかという質問を求められる。そういうときにはSF小説家のウィリアム・ギブソンの言葉である“未来はすでにここにあるが、それはあまねく提供されていない”を返している。

 たとえばDNA検査キットは、すでに簡単に買えるようになっているが、家系を調べる以外にも、病気の要因になる情報も調べられる。それを元にパーソナライズした薬を提供し、その治療法を開発することが可能になるかもしれない。そのコストを下げることにより、あまねく世界中の人に提供できるようになるわけだ。我々がやろうとしていることも同じだ」と述べ、テクノロジーを開発し、それを顧客に提供できるようなコストに下げるような開発を行ない、製品事業部に引き渡すのがIntel Labsの目指すところだと説明した。

 今回のIntel Labs Dayでは、おもに5つの内容に関して説明やデモなどが行なわれた。それがマシンプログラミング、シリコンフォトニクス、量子コンピュータ、コンフィデンシャルコンピューティング、ニューロンコンピュータになる。

ソフトウェアプログラミングの歴史、将来はマシンが自分でコードを書く時代に(出典:Intel)

 たとえばマシンプログラミングは、マシンラーニング/ディープラーニングベースのAIを利用して自動でプログラミングすることを実現する取り組み。将来的にはプログラマーはコードを書くのではなく、キャンバスに絵や文字を書くように、AIにこんなプログラムを作ってとオーダーすると、AIがプログラムコードを自動で生成し、プログラマーにとってもっともつらい作業とも言えるデバッグまでもやってくれるようになる取り組みだ。

現在の電気を利用したI/Oはパッケージ全体の電力量を超えてしまう可能性がある(出典:Intel)
統合フォトニクスにより、現在は銅線と電気によるインターコネクトが使われているボード上やパッケージ間の通信が光によるインターコネクトになる可能性がある(出典:Intel)

 統合フォトニクスというのは、光通信のインターフェースをCPUなどに統合する取り組みだ。現在のI/O、たとえばサーバーとサーバーを接続するのに使われているInfiniBandやEthernetは、銅線に電気を流して通信する仕組みだ。それに対して光通信では光を利用してデータを送信するため、消費電力などの点で有利になる。このため、将来的には銅線から光への移行が発生すると考えられているが、現状では大きなコネクタとケーブルが必要になるため、シリコンとシリコンを繋いだりという用途には使えていない。それを実現するのがシリコンフォトニクスで、銅線を利用する場合に比べて伝送速度が向上し、システム全体の消費電力が低減するというメリットがある。

 いずれも一見するとIntelのビジネスとはあまり繋がりがないように見えるが、たとえばマシンプログラミングは、Intelが現在推進しているXPU(CPU、GPU、NPU、FPGAなどのかたちが異なるプロセッサを異種混合で使っていくことの総称)のアプローチに影響するもので、そうしたXPUのどれを利用するかをプログラマーはまったく意識することなく、AIが決めていく、そんな時代につながっていく可能性がある。

 一方シリコンフォトニックスはIntelのデータセンタービジネスと完全に直結しており、それが成功すると、まさにゲームチェンジングな技術になり、データセンターの構造も変えてしまう可能性を秘めている。

 このように長期的な目でみればIntelのビジネスにつながっていくし、そして何よりもコンピューティングの形を変えていくかもしれない、そんな技術が紹介されるイベントとしてIntel Labs Dayはこれまでも活用されてきたし、今回もそうしたイベントになっていた。

マシンプログラミング、統合フォトニックス、量子コンピュータ向けの新しい研究成果を発表

ControlFlagの仕組み(出典:Intel)

 マシンプログラミングに関しては新しいツールとして「ControlFlag」というツールを開発してことを明らかにした。

 Intelはマシンプログラミングの領域ではパフォーマンスの低下を認識してプログラマーに通知する「AutoPerf」、さらにはコードの自動開発を実現する「MISIM」(Machine Inferred Code SIMilarity、ミシム)という成果を論文のかたちなどで発表している。

 今回発表されたControlFlagはそれに次ぐもので、ソフトウェア開発者がソフトウェアのバグを発見することを助けるツールになるという。

 これまでのデバッグツールは人間が開発して、人間がミスしやすいところをあらかじめ設定されているツールだ。言ってみればデバッグが得意な人のノウハウをそのまま詰め込んだようなものだと言い換えてもいい。

プログラマーの時間の50%を時間泥棒しているのがデバッグ(出典:Intel)

 しかし、その場合には人間というバイアスによって指定されたバグは見つかるものの、まだ誰も気がついていないようなバグを見つけるのは難しいということになる。そこで、ControlFlagではAIがコードを学習することで、見つかっていないバグをAIが見つけて指摘するというものになる。

 Intel Labs主任科学者 兼 マシンプログラミング担当部長 ジャスティン・ゴットシュリック氏は「デバッグはプログラマにとってソフトウェア開発の50%を占める時間泥棒(タイムコンシューミング)な作業だ。ControlFlagを活用することで、そうしたデバッグにかかる時間を大幅に削減することが可能になるだろう」と述べ、た。Intelによれば、ControlFlagは現在Intel社内で実際にソフトウェア開発に検証に回されているとのことだ。

統合フォトニクス向けに開発された新しい技術(出典:Intel)

 統合フォトニクスの分野では、新たにシリコンフォトニクスをCMOSシリコンに統合する新しい技術の開発を紹介した。Micro-ring modulators、All-silicon photodetector、Integrated semiconductor optical amplifier、Integrated multi-wavelength lasersなどがそれで、それらを利用することで、たとえばCPUのダイなどのCMOSシリコンにシリコンフォトニクスを統合することが可能になる。これにより、たとえば、Xeonプロセッサ同士の接続に光通信を使ったりが可能になる。

 Intelは量子コンピュータに関しても新しい発表を行なっている。量子コンピュータに関しては説明する必要もないほど業界で注目されている取り組みだが、量子ビット(QuBit)の特性を利用して演算を行なう仕組みで、量子ビットの数に対して指数関数的に演算能力を上げることが可能になっているため、現在一般的なコンピュータでは演算できないような複雑な問題(たとえばパスファインディングやゲノム解析、製薬)を解決するのにより適したコンピュータになるとして、現在IT業界を挙げて開発に取り組んでいる段階だ。

Horse Ridge IIを利用した量子コンピュータの極低温コントローラ(出典:Intel)

 今回Intelが発表したのはそうした量子コンピュータのシステムをコントロールする極低温コントローラチップとなる「Horse Ridge II」だ。量子コンピュータで安定して演算するには、量子ビットのきめ細かい制御が重要になる。Intelは2019年に初代の「Horse Ridge」を開発し、同社の量子コンピュータのシステムに採用してきた。

 量子コンピュータでは量子ビットの制御のために多くのケーブルが使われており、大規模なシステムにしていくのが難しかった。そこで初代のHorse Ridgeでは小さな基板とケーブルに置き換えることで小型化や消費電力の削減を実現した。Horse Ridge IIはその第2世代で、Horse Ridgeと同じ22nm FinFET Low Power(22FFL)を利用して製造され、量子ビットの制御をより効率よく行なうことができるようになる。

 このほかにもコンフィデンシャルコンピューティグというデモでは、Intel SGX(Software Guard Extensions)を利用した暗号化されたままのデータを利用してディープラーニングの学習を行なう様子が公開された、ニューロモルフィックコンピューティングではすでに発表されているLoihiなどに関しての説明が行なわれた。

量子コンピュータは現行のコンピュータの発展で言えばまだ1950〜1960年代の段階、今後10年以上をかけて取り組む課題

 イベント後にはIntel シニア・フェロー、副社長 兼 Intel Labs責任者 リチャード・ウーリヒ氏とのインタビューが行なわれた。ウーリヒ氏は1996年にIntelに入社して以来、一貫して研究開発のポジションを歴任しており、現在はIntel Labsの責任者として、Intel Labsの方向性を決めたり、開発者のとりまとめを担当している。今回はそのウーリヒ氏に、Intel Labsの役割などについて伺ってきた

Q:Intel Labsの役割は?

ウーリヒ氏:Intel LabsはIntelという企業の中で研究開発を行なう部署になり、Intelの未来を探すのが仕事になる。そこには3つの異なる方法論がある。1つは政府機関や大学といった教育機関と一緒に行なう開発。2つめは自社内だけで行なう開発で、そこにはCPUやGPUといったプロセッサの開発も含まれる。3つめはそれらの中間で、それらの取り組みから学んだ内容から新しい方向性を探していく。いずれにせよ仕事は我々のCEOを始めとする経営者の目や耳としての役割を果たすことだ。

Q:Intel Labsが開発した技術でお気に入りの技術は何か?

ウーリヒ氏:仮想化技術だ。実際に製品化されてからすでに15年が経過しており、多くの製品に採用されている。データセンター向けの製品でも、クライアント向けの製品でも素晴らしい製品だ。

Q:確かにVTはデータセンターを変えたといってよい技術だ。これはどのようにして開発されたのか?

ウーリヒ氏:すべての技術にはそれぞれ異なったストーリーがある。テクノロジーのイノベーションというのは、体験領域が交互に交わるところで発見されることが多い。そしてそういうアイディアこそが革命的な影響を業界に与える。私が1990年代にこのプロジェクトをはじめたときには、このアイディアそのものはすでにあって、1970年代にはIBMが汎用機などに使っていた。しかし、それはIntelプラットフォームにはまだないことにある日に気がついた。じゃあそれを新しい形でIntelプラットフォームに実装したらどうかと思いついたのだ。それでVTのプロジェクトをスタートした。

 最初はクライアントの中にセキュアな領域を作ることを考えて開発した。だが、作って見たらクラウドのデータセンターに最適じゃないかということになった。温故知新とでもいうべき、かつてあった技術を今の環境に投入してみることは重要で、VTが成功した大きな理由の1つである。

Q:今回のイベントでも量子コンピュータの技術が紹介されている。ノイマン型コンピュータは1940〜1950年代にENIAC、1970年代に4004や8008を利用したコンピュータが、1980年代にはIBM PCが……というように発展してきたが、現在の量子コンピュータはどのあたりの段階にいると考えられるか?

ウーリヒ氏:まだ1950年代〜1960年代あたりというところではないか(筆者注:Intelが設立されたのは1969年なので、まだそれより前の段階ということになる)。本日我々が発表した量子コンピュータの基板を見てもまだまだ初期の基板というのが正直なところだ。今後徐々に開発が進んでいき発展するだろう。量子コンピュータの開発というのは今後数年で結果が出るというプロジェクトではなく、これから10年ないしはそれ以上の時間をかけて徐々に発展させていくもの、そう考えている。

Q:研究開発部門にはコストや製造の容易さなどを考える必要はないが、製品事業部はそれを考慮する必要がある。常にそこにギャップがあると思うが、それを埋めるためにIntel Labsがやっていることは?

ウーリヒ氏:すべての企業の研究開発部門にとって頭がいたい課題だ。1つには製品部門との円滑なコミュニケーションが重要だ。製品部門にも特定技術のエキスパートがいる。研究者はそのエキスパートと密にやりとりをすること、それをIntel Labsでは心がけている。

 大事なことは、お客様が、そしてそのお客様に製品を提供する製品部門が困っている何かを見つけてそれを解決していくこと。研究開発部門としてはそれがとても大事なことだ。かつ、それと同時にお客様に提供できるようなコストにしていくことも大事だ。