インテル研究所は、量子コンピューティング、安全なデータベース、デバッグの終焉などについて、その専門家たちを解き放つ

Table of Contents

インテル研究所は、量子コンピューティング、安全なデータベース、デバッグの終焉などについて、その専門家たちを解き放つ

インテルは木曜日、同社の研究科学者らを招き、計算処理の高速化と開発者の負担軽減を目指す技術構想について語った。

通常シリコンバレーの Chipzilla 施設で開催されるイベント、Intel Labs Day のウェブキャスト プレゼンテーションで、Intel Labs のシニア フェロー兼 VP 兼ディレクターの Rich Uhlig 氏が、統合フォトニクス、ニューロモルフィック、量子、機密コンピューティング、マシン プログラミングに関するさまざまな Intel 技術専門家とのストリーミング ビデオ インタビューを主催しました。

これらのプレゼンテーションのほとんどは、電気ではなく光を使って通信するチップを開発するインテルの取り組みや、人間の脳のアーキテクチャを模倣したり、量子力学を活用したりするチップなど、シリコン指向のプロジェクトに焦点を当てていました。

一連の機密コンピューティングに関する議論では、信頼できるフェデレーテッドラーニング(データを公開せずに分散データセットで機械学習モデルをトレーニングする)と、暗号文(暗号化されたデータ)を復号せずに分析できる完全準同型暗号化にも焦点が当てられました。

コンピューター科学者が、これを手頃な価格で高速に実現する方法を考案できれば、世界中のデータ処理組織、少なくともセキュリティとプライバシーに真剣に関心を持つ組織にとって、これは直ちに魅力的なものとなるだろう。

「データの転送と保存における従来の暗号化メカニズムでは、オーバーヘッドは比較的無視できるほど小さい」と、インテル セキュリティ ソリューション ラボの主任エンジニアであり、インテル ラボのセキュア インテリジェンス チーム マネージャーであるジェイソン・マーティン氏は説明する。「しかし、完全準同型暗号では、準同型暗号文のサイズが平文データよりも大幅に大きくなります。」

どれくらい大きくなるのか?マーティン氏は、場合によっては1,000倍から10,000倍大きくなると述べ、これは準同型暗号を使用するのに必要な計算能力の量に影響すると語った。

「このデータ爆発は、計算量の爆発につながります」とマーティン氏は述べた。「暗号文が大きくなるにつれて、処理能力は大幅に増加します。この処理オーバーヘッドは、データのサイズだけでなく、計算の複雑さによっても増大します。」

マーティン氏は、この計算オーバーヘッドが準同型暗号が広く利用されていない理由だと述べた。インテルは、ハードウェアとソフトウェアの新たなアプローチ、そしてより広範なエコシステムのサポートと標準の構築に取り組んでいる。実現にはしばらく時間がかかるかもしれない。

その間、組織は、継続的なセキュリティ パッチの適用に問題がなければ、Intel の Software Guard Extensions (SGX) などの信頼できる実行環境を使用して、フェデレーテッド ラーニングを推進できます。

人類対機械

2018年の研究論文「機械学習の3つの柱」に基づくインテルのマシンプログラミング・イニシアチブは、他のプロジェクトの中でも際立っています。機械に多くのことを実行させるのではなく、人間の作業をより少なくすることに重点を置いています。

「機械プログラミングに成功すれば、デバッグという空間そのものが存在しなくなるだろう」とインテル研究所の主任科学者であり、機械プログラミング研究部門のディレクター兼創設者であるジャスティン・ゴットシュリッヒ氏は説明する。

ゴットシュリッヒ氏は、インテルのこのプロジェクトにおける「青空」構想について、現在私たちがプログラミングと呼ぶものを実際に行う人はほとんどいないと説明する。彼によると、ほとんどの場合、人々は機械にアイデアを説明し、空白を埋めるために少しやり取りをし、AI駆動型システムが要求されたアプリケーションを生成するのを待つだけだという。

「機械プログラミングの核となる原則は、人間が機械に意図を伝えると、機械はその意図を実現するために必要なソフトウェアの作成をすべて自動的に処理するというものだ」とゴットシュリッヒ氏は語った。

機械プログラミングは、一般的に何らかの自動化を通じて、ローコードまたはノーコードツールを開発するための継続的な取り組みの一部です。これにはさまざまな理由がありますが、主に需要と供給に関係しています。

企業はコーディングの民主化について語るのが好きで、まるで公益的な利他主義を称賛されるべきだとでも言うように。しかし、コーディングする人が増えれば、プログラミングの仕事の競争が激化し、賃金を下げられるという事実については、あまり声高に語らない傾向がある。

ゴットシュリッヒ氏は、人材供給問題について、業界の傾向が人材不足を悪化させていると主張している。

「互いに相反する2つの新たなトレンドが観察されています」と彼は説明した。「まず、特定の種類のワークロードに特化するにつれて、コンピューティングリソースはますます多様化しています。そして、そのためには、ハードウェアを深く理解し、それを最大限に活用する方法を熟知した、いわゆる忍者プログラマーのような熟練プログラマーが必要になります。」

コドゥリ

インテルは、すべてが計画通りに進んでいるかのように、10nm Tiger Lakeラップトップ向けシステムオンチップを宣伝している。

続きを読む

「しかし同時に、ソフトウェア開発者は生産性向上のため、より抽象度の高い言語を好む傾向が強まっており、その結果、ハードウェア本来の性能を引き出すことが難しくなっています」と彼は付け加えた。「そして、このギャップは拡大しつつあります。」

言い換えれば、Python に対する人々の情熱が、テクノロジー企業が GPU、FPGA、およびその他の技術的な専門知識を持つ C++ の専門家を十分に見つけられない理由です。

ゴットシュリッヒ氏は、世界の人口78億人のうち、プログラミングができるのはわずか1%だと指摘した。「私たちの機械プログラミング研究は、その1%を100%にすることを目指しています」と彼は述べた。

しかし、彼が人々が行うと期待している種類のプログラミングは、現在人々が行っているものとは異なります。

ゴットシュリッヒ氏は、画家が実際に芸術作品を制作する前に、まず筆、キャンバス、イーゼル、額縁、そして絵の具そのものを作らなければならないことを想像してみてください、と提案した。「現実的に、これらすべてをこなせる画家は一体何人いるでしょうか?」と彼は問いかけた。

「その数はごくわずかからゼロの間くらいだと私は思います。しかし、この例えは、今日の多くのソフトウェア開発に求められているものと似ています。」

同時に、問題は人にあります。人はミスを犯し、それが生産性の低下を招きます。ゴットシュリッヒ氏は、2013年にケンブリッジ大学が行った調査を引用し、米国のプログラマーは平均して勤務時間の半分をデバッグに費やしているという結果を示しました。

「デバッグはプログラマーの作業を遅らせています」とゴットシュリッヒ氏は述べた。「生産性の低下を招きます。そして、デバッグとは本質的に、ソフトウェアの品質が許容できないことを意味します。そうでなければ、デバッグを行うべきではありません。ですから、ある意味、まさにこれを改善したいのです。」

虫を叩き落とす

デバッグはほとんどの場合、プログラマーとマシンの間のコミュニケーション不足が原因である、とゴットシュリッヒ氏は述べた。マシンプログラミングは、その意図を理解することに重点を置き、これを修正することを目指している。「もし人間の意図がマシンによって完璧に捉えられると仮定すると、理論上、デバッグは実質的に消滅してしまう。プシュー、消えてしまうのだ。」

その代わりに、生産性とソフトウェアの品質が向上します。ゴットシュリッヒ氏は、インテルが12種類のマシンプログラミングシステムを開発しており、そのうち3つについて説明しました。

彼によると、1つ目はパフォーマンスバグを自動検出できる。自動テストを独自に作成し、様々なハードウェアアーキテクチャに適応させることができる。AutoPerfと呼ばれるこのシステムは、NeurIPSで発表された論文「ソフトウェアパフォーマンス回帰の診断のためのゼロポジティブ学習アプローチ」で説明されている。

2つ目は、機械推論によるコード類似性(MISIM)と呼ばれます。これは、コードの各部分が異なる方法で実行されていても、同じ機能を実行しているかどうかを識別しようとします。

Intel Labs 2020のControlFlagに関するスライド

クリックして拡大

3つ目は、来週のNeurIPS 2020で論文発表される「ControlFlag」と呼ばれる別のバグ検出システムです。このシステムは、ルールベースのコンパイラでは検出されない論理的なバグや非効率性を検出できます。これは、自己学習するパターンベースの異常検出に基づいています。

たとえば、この脆弱性は、一般的なデータ転送ライブラリである cURL のソース コードに適用され、ブール値 (true/false) の代わりに整数が使用されている、キャッチされていない比較を発見しました。

ControlFlagは、人間が生成したラベルなしでコードを学習します。「その代わりに、システムを外部に送り出し、コードを学習させるのです」とゴットシュリッヒ氏は言います。

「戻ってくると、驚くべきことをいくつも学習しています。その後、コードリポジトリ、それも製品版品質で何十年も使われているコードでさえも対象にしました。すると、非常に複雑で微妙なバグを見つける傾向があることがわかりました。中には、開発者が10年以上も見落としていたものもありました。」

ゴットシュリッヒ氏から、自動プログラミングというこの「青天井のビジョン」が実現するまでにどれくらいの時間がかかるのかと尋ねられたマサチューセッツ工科大学(MIT)のアルマンド・ソラー・レザマ教授(ゴットシュリッヒ氏と2018年に発表した「機械学習の3本の柱」論文の共著者)は、人間が完全に学習ループから排除される日が来るかどうか疑問を呈した。

「『これで終わりだ。プログラミングは機械がやるものだ。我々は田舎で音楽を演奏したり果物を食べたりして時間を過ごす』と言えるような終着点があるとは思えない」と同氏は語った。

「私が実際に見ているのは、自動化における大きな変化、そしてプログラミングの意味についての人々の期待、そしてプログラミングツールに委任できるものの種類の変化です。」®

Discover More