ディープラーニングと機械学習の技術要件:「The Next Platform」で読むグローバルITトレンド(13)(2/3 ページ)
機械学習、とりわけディープラーニングの市場での地位は今や確立されており、定着しているといえる。今回はこれらの技術要件と、近い将来に何が期待できるかを考えてみよう。
推論は逐次計算である
ANNは、推論に使用することで効果が得られる。推論は「ANNがタスクを実行する訓練プロセスを完了して得たパラメータを使って、与えられた入力を計算して数値結果を出す」ときに起こることを指す用語だ。推論は高速に、ほぼどこでも行われる。例えば、携帯電話やIoT(モノのインターネット)のエッジデバイスといった低消費電力デバイスでも行われる。
コンピュータサイエンスの観点から見ると、推論は基本的に逐次計算であり(※1)、メモリ帯域幅に制約される。推論が並列化されるのは、例えば、データセンターで大規模な推論演算が多数与えられ、それらがバッチ処理できる場合に限られる。これに対し、訓練は非常に並列的だ。作業の大部分は、訓練用のパラメータセットを全てのサンプルにわたって評価することだからだ。
この逐次と並列の違いは重要だ。その理由は以下の通り。
- ほとんどのデータサイエンティストは、データセンターで大量のデータ処理を行う計画がなければ推論に最適化されたデバイスを必要としない。同様に、IoTエッジデバイス、リアルタイム、監視、自動運転などの分野では、超並列推論ではなく逐次推論が行われる
- 個々のデータアイテムの推論パフォーマンスは、デバイスの逐次性能に左右される。この場合、アクセラレータのような超並列デバイスは、CPUのようなデバイスと比べて推論性能は貧弱だろうと予想される。FPGAは興味深い。推論レイテンシが最も低い部類に入る可能性があり、フィールドアップグレードも可能だからだ
並列処理で訓練が高速化する理由
市販のハードウェアは全て、並列処理を利用して訓練を高速化している。そこで課題となるのが、どのようなデバイスが訓練を高速化し、モデリング時間を最小化してくれるのかを判断することだ。
訓練プロセスの各ステップでは、モデルパラメータセットの候補(ブラックボックス最適化アルゴリズムで決定された)を、訓練データの全てのサンプルそれぞれに適用して推論を行う。この並列演算で生成された値は、エラー(またはエネルギー)を計算するために使われる。エラーは最適化アルゴリズムによって成功を判断したり、次のモデルパラメータセット候補を計算したりするのに使われる。
この評価は、SIMD(Single Instruction Multiple Data)計算モデルを使って非常に効率的に実行できる。目的関数(コスト関数)の推論演算は全て同時並行で行われるからだ。
ここで重要なポイントは次の通り。
SIMD計算モデルは、プロセッサ、ベクトルプロセッサ、アクセラレータ、FPGA、カスタムチップに、同じように美しく効率的にマッピングされる
ほとんどのデータセットでは、訓練パフォーマンスは浮動小数点演算機能ではなく、キャッシュやメモリの性能によって制限されることが分かっている。
ハードウェアが訓練の際にこうした並列演算を実行する能力は、FLOPS(1秒間に実行できる浮動小数点演算の回数)で表される浮動小数点演算性能よりも、キャッシュやメモリサブシステムの性能に依存する
メモリおよびキャッシュシステムが飽和状態になると、浮動小数点演算機能が増強されていても無駄になってしまう。浮動小数点演算性能のピーク値の高さをうたうデバイスの仕様だけを基準にして購入すると、自分の首を絞めることになる。
訓練セットは、デバイスの並列処理機構をフル稼働させるほど大規模でなければならない
さもないと、性能が浪費されてしまう。一般に考えられているのとは異なり、CPUは多くの訓練問題で、GPUよりも高い訓練パフォーマンスを提供可能だ。アクセラレータが高い浮動小数点演算性能を発揮するのは、同時実行スレッドが多数ある場合だ。サンプル数が数百から数万のデータセットによる訓練では、アクセラレータの並列処理機構のごく一部しか利用されない可能性がある。
そうした状況では、高速なキャッシュやスタックドメモリサブシステムを備えるメニーコアプロセッサ(「Intel Xeon Phi」プロセッサのような)の方が優れたパフォーマンスを実現するかもしれない。そのため、ハードウェアを選ぶときは、訓練のためにどれだけのデータを用意できるかを検討することが重要だ。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- もう絶望しない! ディープラーニングによる画像認識のビジネス活用事例
最近注目を浴びることが多くなった「Deep Learning」と、それを用いた画像に関する施策周りの実装・事例について、リクルートグループにおける実際の開発経験を基に解説していく連載。今回は、Deep Learning/CNN(Convolutional Neural Net)をどうビジネスに活用しているかに焦点を当て、その試行錯誤の過程を紹介します。 - LSTMとResidual Learningでも難しい「助詞の検出」精度を改善した探索アルゴリズムとは
本連載では、Deep Learningの中でも、時系列データを扱うRecurrent Neural Networkについて解説。加えて、その応用方法として原稿校正(誤字脱字の検知)の自動化について解説します。今回は、Long Short Term MemoryとResidual Learningの概要、「助詞の検出」精度を改善した探索アルゴリズムについて。