人工知能
研究者がGPUの代替を開発

ライス大学のコンピューターサイエンティストと、インテルのコラボレーターは、GPUのよりコスト効率の良い代替を開発しました。新しいアルゴリズムは、「部分線形深層学習エンジン」(SLIDE)と呼ばれ、特殊なアクセラレーションハードウェアのない一般的な中央処理装置(CPU)を使用します。
結果は、Austin Convention Centerで開催されたマシンラーニングシステムズ会議(MLSys)で発表されました。
人工知能(AI)の中で最大の課題の1つは、グラフィックス処理装置(GPU)などの特殊なアクセラレーションハードウェアです。新しい開発以前は、深層学習技術を高速化するには、この特殊なアクセラレーションハードウェアの使用が必要であると考えられていました。
多くの企業は、デジタルアシスタント、顔認識、製品推奨システムなどのテクノロジーを担当する深層学習のためのGPUや特殊ハードウェアへの投資に大きな重要性を置いてきました。そんな企業の1つがNvidiaで、Tesla V100 Tensor Core GPUを作成しています。Nvidiaは、昨年の同期比で4分期の収益が41%増加したと最近報告しました。
SLIDEの開発は、まったく新しい可能性を解き放ちます。
Anshumali Shrivastavaは、ライスのブラウン工学部の助教授で、大学院生のBeidi ChenとTharun MediniとともにSLIDEを発明しました。
「私たちのテストでは、SLIDEは、業界規模の推奨データセットと大きな完全に接続されたアーキテクチャに対して、GPUハードウェアアクセラレーションを上回ることができる、CPU上の深層学習の最初のスマートアルゴリズム実装であることを示しています」とShrivastavaは述べました。
SLIDEは、深層学習に対するまったく異なるアプローチを取ることで、GPUの課題を克服します。現在、深層ニューラルネットワークの標準的なトレーニング手法は「バックプロパゲーション」であり、行列乗算を必要とします。このワークロードにはGPUの使用が必要ですが、研究者はニューラルネットワークのトレーニングを変更し、ハッシュテーブルで解決できるようにしました。
この新しいアプローチにより、SLIDEの計算オーバーヘッドが大幅に削減されます。AmazonやGoogleのような企業がクラウドベースの深層学習に使用する現在のベストGPUプラットフォームには、8つのTesla V100が搭載されており、価格は約100,000ドルです。
「私たちには研究所に1つあり、テストケースでは、V100に適したワークロードを取りました。100万を超えるパラメータを持つ大きな完全に接続されたネットワークがあり、GPUメモリに収まるものでした。私たちは、GoogleのTensorFlowというベストな(ソフトウェア)パッケージでトレーニングを行い、3時間半かかりました」とShrivastavaは述べました。
「私たちは、44コアのXeonクラスのCPUで、1時間でトレーニングを行うことができることを示しました。GPUではなく、CPUで行ったのです」と彼は続けました。
ハッシュは、1990年代にインターネット検索のために発明されたデータインデクシング方法の一種です。数値方法を使用して、大量の情報を数字の文字列としてエンコードし、ハッシュと呼ばれます。ハッシュは、迅速に検索できるテーブルを作成するためにリスト化されます。
「TensorFlowまたはPyTorchに私たちのアルゴリズムを実装することは意味がありませんでした。なぜなら、最初に何をしているかに関係なく、行列乗算問題に変換することになるからです。それが私たちが避けようとしていたことです。そこで、ゼロからC++コードを書きました」とChenは述べました。
Shrivastavaによると、SLIDEの最大の利点は、データ並列性にあるということです。
「データ並列という意味では、猫の画像とバス画像の2つのデータインスタンスをトレーニングしたいとします。どちらも異なるニューロンを活性化するため、SLIDEはそれらを独立してトレーニングまたは更新できます。これは、CPUの並列性の利用がはるかに優れています」と彼は述べました。
「GPUと比較した反面、私たちには大きなメモリが必要です。メインメモリにはキャッシュ階層があり、注意しないとキャッシュミスが多くなり、キャッシュスラッシングと呼ばれる問題が発生します」と彼は述べました。
SLIDEは、深層学習を実装する新しい方法の扉を開きました。Shrivastavaは、これがただの始まりであると考えています。
「私たちは表面を少ししか触れていないに過ぎません。まだ最適化できることはたくさんあります。ベクトル化や、CPUのビルトインアクセラレータであるIntel Deep Learning Boostを使用していません。まだ使えるテクニックはたくさんあります」と彼は述べました。










