前の画像 次の画像
一枚の写真からは、作者の世界観、つまり被写体や空間に対する興味や感情が垣間見えます。しかし、それらの画像を可能にするテクノロジーの背後にいる作者についてはどうでしょうか?
MIT 電気工学およびコンピュータサイエンス学部の准教授 Jonathan Ragan-Kelley 氏もその 1 人です。同氏は、映画の視覚効果ツールから、写真編集や処理に業界で広く使用されている Halide プログラミング言語まで、あらゆるものを設計してきました。MIT-IBM Watson AI ラボおよびコンピュータサイエンスおよび人工知能研究所の研究者として、Ragan-Kelley 氏は、2D および 3D グラフィックス、視覚効果、計算写真を実現する高性能なドメイン固有のプログラミング言語と機械学習を専門としています。
「私たちの研究の最大の推進力は、今日のコンピューターに搭載されているますます複雑化するハードウェア上で非常に効率的に動作するプログラムを簡単に作成できる新しいプログラミング言語を開発することです」とラガン・ケリーは言います。「グラフィックスやビジュアルコンピューティングから AI まで、実際のアプリケーションで実際に活用できる計算能力を継続的に向上させたいのであれば、プログラミング方法を変える必要があります。」
過去 20 年間、チップ設計者とプログラミング エンジニアは、ムーアの法則の減速と、CPU での汎用コンピューティングから GPU やアクセラレータなどのより多様で特殊なコンピューティングおよび処理ユニットへの顕著な移行を目の当たりにしてきました。この移行にはトレードオフが伴います。CPU で汎用コードを実行する能力はいくぶん遅くなりますが、それよりも高速で効率的なハードウェアでは、コードをハードウェアに大幅に適応させ、カスタマイズされたプログラムとコンパイラでハードウェアにマッピングする必要があります。プログラミングが改善された新しいハードウェアは、高帯域幅のセルラー無線インターフェイス、ストリーミング用の高圧縮ビデオのデコード、電力が制限された携帯電話カメラでのグラフィックスおよびビデオ処理などのアプリケーションをより適切にサポートできます。
「私たちの仕事は主に、従来のプログラミング言語では実現できない方法で、こうした種類のアプリケーションに可能な限り高い計算性能と効率を提供するために、構築できる最高のハードウェアのパワーを解き放つことです。」
これを実現するために、ラガン=ケリーは研究を 2 つの方向に分けています。まず、一般性を犠牲にして特定の重要な計算問題の構造を捉え、それを利用して計算効率を高めています。これは、彼が共同開発した画像処理言語 Halide に見ることができます。この言語は Photoshop などのプログラムで画像編集業界を変革するのに役立っています。さらに、この言語は高密度で規則的な数値配列 (テンソル) を迅速に処理できるように特別に設計されているため、ニューラル ネットワークの計算にも適しています。2 つ目の焦点は自動化、具体的にはコンパイラがプログラムをハードウェアにマッピングする方法です。MIT-IBM Watson AI Lab とのそのようなプロジェクトの 1 つは、ラガン=ケリーのグループで開発された言語 Exo を活用しています。
研究者たちは長年にわたり、ブラック ボックスになり得るコンパイラーによるコーディングの自動化に懸命に取り組んできましたが、パフォーマンス エンジニアによる明示的な制御と調整の必要性は依然として大きいです。Ragan-Kelley 氏と彼のグループは、各手法をまたいでトレードオフのバランスを取り、効果的でリソース効率の高いプログラミングを実現する方法を開発しています。ビデオ ゲーム エンジンや携帯電話のカメラ処理などの多くの高性能プログラムの中核には、C、C++、アセンブリーなどの低レベルの詳細な言語で人間の専門家が主に手作業で最適化した最先端のシステムがあります。ここで、エンジニアはハードウェア上でプログラムを実行する方法について具体的な選択を行います。
ラガン=ケリー氏は、プログラマーはバグを生じさせる可能性のある「非常に手間のかかる、非常に非生産的で、非常に危険な低レベル コード」か、プログラムの実行方法についてコンパイラーで微調整する能力がなく、通常はパフォーマンスが低い「より安全で、より生産的で、より高レベルのプログラミング インターフェイス」のいずれかを選択できると指摘しています。そのため、彼のチームは妥協点を見つけようとしています。「私たちは、人間のパフォーマンス エンジニアが制御できるようにしたい重要な問題を制御する方法を見つけようとしています」とラガン=ケリー氏は言います。「そのため、コンパイラーの動作を制御したり、プログラムを最適化する方法を制御したりするための、より安全で高レベルのハンドルを提供する、ユーザー スケジュール可能な言語と呼ばれる新しいクラスの言語を構築しようとしています。」
ハードウェアのロック解除: 高度な方法と十分に活用されていない方法
ラガン=ケリーと彼の研究グループは、2 つの研究ラインを通じてこの問題に取り組んでいます。1 つは機械学習と最新の AI 技術を適用して、最適化されたスケジュール (コンパイラへのインターフェイス) を自動的に生成し、コンパイラのパフォーマンスを向上させることです。もう 1 つは、彼が研究室で取り組んでいる「エクソコンパイル」を使用することです。彼はこの方法を、人間によるガイダンスとカスタマイズのためのコントロールを備えたコンパイラのスケルトンを使用して「コンパイラを徹底的に変える」方法であると説明しています。さらに、彼のチームはカスタム スケジューラを追加できるため、IBM リサーチの機械学習アクセラレータなどの特殊なハードウェアをターゲットにすることができます。この研究の用途は、コンピューター ビジョン、オブジェクト認識、音声合成、画像合成、音声認識、テキスト生成 (大規模言語モデル) など、多岐にわたります。
彼が研究室と共同で取り組んでいる大局的なプロジェクトでは、これをさらに一歩進め、システムの視点から研究にアプローチしています。彼の指導を受ける研究室のインターンであるウィリアム ブランドンが率いる研究室では、研究室の研究科学者であるラメスワール パンダと共同で、ラガン ケリーのチームは大規模言語モデル (LLM) を再考し、計算とモデルのプログラミング アーキテクチャをわずかに変更する方法を見つけ、トランスフォーマー ベースのモデルが AI ハードウェア上で精度を犠牲にすることなくより効率的に実行できるようにします。ラガン ケリーによると、彼らの研究は標準的な考え方から大幅に逸脱しており、コストの削減、機能の向上、LLM を縮小してメモリを少なくしてより小さなコンピューターで実行できるなど、大きなメリットが得られる可能性があるとのことです。
計算効率とハードウェアに関して言えば、このより先進的な考え方こそが、ラガン=ケリーが得意としており、特に長期的には価値を見出している。「追求する必要があるものの、十分に確立されているか、明白であるか、常識として十分に理解されているため、すでに多くの人が追求しているか、今後追求することになる分野(研究)があると思います」と彼は言う。「私たちは、世界に実際に影響を与える大きな影響力を持つと同時に、必ずしも実現しない、またはコミュニティの他の人々によってその可能性に比べて十分に活用されていないと思われるアイデアを見つけようとしています。」
彼が現在教えているコース 6.106 (ソフトウェア パフォーマンス エンジニアリング) は、このことをよく表しています。約 15 年前、デバイス内のプロセッサが単一から複数へと移行し、多くの学術プログラムで並列処理が教えられるようになりました。しかし、Ragan-Kelley 氏の説明によると、MIT は、学生が並列処理だけでなく、メモリの最適化や、可能な限り最高のパフォーマンスを達成するための専用ハードウェアの使用についても理解することの重要性を認識したそうです。
「プログラミング方法を変えることで、新しいマシンの計算能力を解き放ち、ますます複雑で難しいハードウェアを活用できる新しいアプリケーションや新しいアイデアを人々が迅速に開発し続けることが可能になります。」
前の項目 次の項目
全文を読む→
全文を読む→
全文を読む→
全文を読む→
全文を読む→
全文を読む→
このウェブサイトは、MIT のコミュニケーション オフィスの一部である MIT ニュース オフィスによって管理されています。
マサチューセッツ工科大学77 Massachusetts Avenue, Cambridge, MA, USA