効率的なビジュアル AI システムのためのオーダーメイドのプログラミング言語の作成 | マサチューセッツ工科大学ニュース

1714779595
2024-05-03 20:10:00

1 枚の写真から、被写体や空間に対するクリエイターの興味や感情など、クリエイターの世界を垣間見ることができます。 しかし、それらの画像を実現するのに役立つテクノロジーを支えるクリエイターはどうなるのでしょうか?

マサチューセッツ工科大学電気工学・コンピューターサイエンス学科のジョナサン・ラガン=ケリー准教授もその一人で、映画の視覚効果のためのツールから、写真の編集や処理に業界で広く使われているプログラミング言語「Halide」に至るまで、あらゆるものを設計してきた。 Ragan-Kelley は、MIT-IBM Watson AI Lab および Computer Science and Artificial Intelligence Laboratory の研究者として、2D および 3D グラフィックス、ビジュアル エフェクト、コンピュテーショナル フォトグラフィーを可能にする高性能のドメイン固有プログラミング言語と機械学習を専門としています。 。

「私たちの多くの研究を通じて最大の推進力となったのは、今日のコンピューターに組み込まれている、ますます複雑化するハードウェア上で非常に効率的に動作するプログラムを簡単に作成できる新しいプログラミング言語を開発することです」と Ragan-Kelley 氏は言います。 「グラフィックスやビジュアル コンピューティングから AI に至るまで、実際のアプリケーションで実際に活用できる計算能力を向上させ続けたい場合は、プログラミングの方法を変える必要があります。」

妥協点を見つける

過去 20 年間にわたり、チップ設計者とプログラミング エンジニアは、 ムーアの法則 そして、CPU 上の汎用コンピューティングから、GPU やアクセラレータなどのより多様で特殊なコンピューティングおよび処理ユニットへの顕著な移行です。 この移行にはトレードオフが伴います。つまり、より高速で効率的なハードウェアを実現するには、CPU 上で汎用コードを実行する能力がやや遅くなり、コードをハードウェアに大幅に適応させ、カスタマイズされたプログラムとコンパイラを使用してマッピングする必要があるということです。 プログラミングが改善された新しいハードウェアは、いくつか例を挙げると、高帯域幅の携帯無線インターフェース、ストリーミング用の高圧縮ビデオのデコード、電力に制約のある携帯電話カメラでのグラフィックスやビデオ処理などのアプリケーションをより適切にサポートできるようになります。

「私たちの仕事は主に、構築できる最高のハードウェアの力を解き放ち、従来のプログラミング言語では実現できない方法で、この種のアプリケーションに可能な限り多くの計算パフォーマンスと効率を提供することです。」

これを達成するために、Ragan-Kelley は自分の研究を 2 つの方向に分割します。 まず、彼は一般性を犠牲にして特定の重要な計算問題の構造を捉え、それを利用して計算効率を向上させます。 これは、彼が共同開発し、Photoshop などのプログラムで画像編集業界の変革に貢献した画像処理言語 Halide に見ることができます。 さらに、高密度で規則的な数値配列 (テンソル) を迅速に処理できるように特別に設計されているため、ニューラル ネットワークの計算にも適しています。 2 番目の焦点は自動化、特にコンパイラがプログラムをハードウェアにマッピングする方法をターゲットとしています。 MIT-IBM Watson AI Lab とのそのようなプロジェクトの 1 つは、Ragan-Kelley のグループで開発された言語である Exo を活用しています。

研究者たちは長年にわたり、コンパイラーを使用したコーディングを自動化するために熱心に取り組んできましたが、これはブラックボックスになる可能性があります。 ただし、パフォーマンス エンジニアによる明示的な制御とチューニングの必要性は依然として大きくあります。 Ragan-Kelley と彼のグループは、効果的でリソース効率の高いプログラミングを実現するために、トレードオフのバランスをとりながら、各技術にまたがる手法を開発しています。 ビデオ ゲーム エンジンや携帯電話のカメラ処理などの多くの高性能プログラムの中核には、C、C++、アセンブリなどの低レベルで詳細な言語を使用する人間の専門家によって主に手作業で最適化された最先端のシステムがあります。 ここでエンジニアは、プログラムがハードウェア上でどのように実行されるかについて具体的な選択を行います。

Ragan-Kelley 氏は、プログラマーは、バグを引き起こす可能性がある「非常に骨が折れる、非常に非生産的で、非常に安全でない低レベル コード」を選択することもできるし、「より安全で、より生産性が高く、より高レベルのプログラミング インターフェイス」を選択することもできると述べています。プログラムの実行方法についてコンパイラで微調整を行うため、通常はパフォーマンスが低下します。 そこで、彼のチームは妥協点を見つけようとしている。 「私たちは、ヒューマン パフォーマンス エンジニアが制御できるようにしたい重要な問題を制御する方法を見つけようとしています」と Ragan-Kelley 氏は言います。ユーザーがスケジュール可能な言語で、コンパイラーの動作を制御したり、プログラムの最適化方法を制御したりするための、より安全で高レベルのハンドルを提供します。」

ハードウェアのロックを解除する: 高レベルで十分なサービスが提供されていない方法

Ragan-Kelley と彼の研究グループは、2 つの作業を通じてこの問題に取り組んでいます。1 つは機械学習と最新の AI 技術を適用し、最適化されたスケジュール、コンパイラへのインターフェイスを自動的に生成し、コンパイラのパフォーマンスを向上させることです。 もう 1 つは、彼が研究室と協力して取り組んでいる「エクソコンパイル」を使用しています。 彼はこの方法を、人間によるガイダンスとカスタマイズのための制御を備えたコンパイラのスケルトンを備えた「コンパイラを裏返しにする」方法であると説明しています。 さらに、彼のチームは特注のスケジューラーを最上位に追加でき、IBM Research の機械学習アクセラレーターなどの特殊なハードウェアをターゲットにするのに役立ちます。 この作業のアプリケーションは、コンピュータ ビジョン、オブジェクト認識、音声合成、画像合成、音声認識、テキスト生成 (大規模言語モデル) など、多岐にわたります。

研究室との彼の大規模なプロジェクトは、これをさらに一歩進め、システムのレンズを通して研究にアプローチします。 ラガン=ケリー氏のチームは、彼の顧問で研究室インターンのウィリアム・ブランドン氏が主導し、研究所の研究者であるラメスワール・パンダ氏と協力して大規模言語モデル(LLM)を再考し、計算とモデルのプログラミング・アーキテクチャをわずかに変更する方法を見つけて、変換器がベースのモデルは、精度を犠牲にすることなく AI ハードウェア上でより効率的に実行できます。 Ragan-Kelley 氏によると、彼らの研究は、標準的な考え方から大きく逸脱しており、コストの削減、機能の向上、および/または必要なメモリを減らして小型のコンピュータで実行できるように LLM を縮小することで大きな利益が得られる可能性があります。

Ragan-Kelley が優れており、特に長期的に価値を見出しているのは、計算効率とハードウェアに関するこのより前衛的な考え方です。 「領域はあると思うよ [of research] それは追求する必要があるが、十分に確立されている、あるいは明白であるか、あるいは多くの人がすでに追求しているか、あるいは追求するであろう十分な通念である」と彼は言う。 「私たちは、実際に世界に影響を与える大きな影響力を持っていると同時に、必ずしも実現するとは限らないアイデア、あるいはコミュニティの他のメンバーがその潜在力に比べて十分に配慮していないアイデアを見つけようとしています。 」

彼が現在教えているコース 6.106 (ソフトウェア パフォーマンス エンジニアリング) は、これを例示するものです。 約 15 年前、デバイス内のプロセッサが単一プロセッサから複数プロセッサに移行し、多くの学術プログラムで並列処理の指導が開始されました。 しかし、Ragan-Kelley 氏が説明するように、MIT は学生が並列処理だけでなく、メモリの最適化や特殊なハードウェアを使用して可能な限り最高のパフォーマンスを達成することを理解することの重要性を認識しました。

「プログラムの方法を変えることで、新しいマシンの計算能力を解放し、ますます複雑で挑戦的なハードウェアを活用できる新しいアプリケーションや新しいアイデアを迅速に開発し続けることが可能になります。」

#効率的なビジュアル #システムのためのオーダーメイドのプログラミング言語の作成 #マサチューセッツ工科大学ニュース

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Recent News

Editor's Pick