
本記事では、ディープラーニングの学習と推論の違いについて検証します。ディープラーニング(DL)と推論は、人工知能(AI)の開発と利用に不可欠です。
ディープラーニングの学習と推論の違いとは?
ディープラーニングの学習とは、画像認識や音声認識といったAIタスクを達成するために、データセットを使用してDNN(ディープニューラルネットワーク)に学習させるプロセスのことです。一方、ディープラーニングの推論とは、DNNが犬や猫といったデータが何を表しているのかを予測するために、これまでDNNが一度も見たことのない画像などの新しいデータをDNNに与えるプロセスのことです。
ディープラーニングの学習とは?
ディープラーニングの学習は、人工知能(AI)を作成する上で最も困難で時間のかかるプロセスです。しかし、ディープラーニングの学習は、与えられたタスクを達成するために、ディープニューラルネットワークを学習させるために必要です。ディープニューラルネットワーク(DNN)は、相互接続された多数の人工ニューロンの層で構成されています。人工ニューロンは、画像分類、動画分類、音声からテキストへの変換、レコメンデーションシステムの作成など、特定のAIタスクを実行する方法を学習しなければなりません。ディープニューラルネットワークの学習は、ディープニューラルネットワークにデータを与え、DNNがそのデータが何を表しているのか予測できるようにすることで実現されます。
例えば、DNNが犬、車、自転車の3つの異なる物体を識別する方法を学習しているとします。この場合、最初のステップは、犬、車、自転車を含む数千枚の画像で構成されるデータセットを準備することです。

DNNを学習させる第2のステップは、ディープニューラルネットワークに画像を与え、その画像が何を表しているかについて予測(推論)できるようにすることです。DNNが不正確な予測をした場合、将来の予測がより正確になるように、人工ニューロンはエラーを修正するために更新されます。このプロセスにより、次に同じ画像がDNNに提示されたときに、DNNがその画像が何で構成されているかを正確に予測する可能性が高くなります。
DNNが、学習を行っているデータサイエンティストまたは組織が望む精度を達成する予測を行うまで、学習プロセスは続きます。目的の精度が達成されると、DNNの学習は完了し、学習済みモデルは、DNNがこれまでに一度も見たことのない新しい画像を使用して予測を行う準備が整います。
ディープラーニングの学習は計算負荷が高いですか?
はい、ディープラーニングの学習は計算負荷が非常に高い場合があります。DNNを学習させるには、何十億もの計算を実行する必要があるため、ディープラーニングの学習では、計算を迅速に実行するための強力な計算能力が必要です。自宅のデスクトップコンピューターを使用してモデルを学習させることも可能ですが、完了までに数時間から数日かかる場合があります。そのため、ディープニューラルネットワークの学習は、マルチコアプロセッサ、GPU、VPU、およびその他のパフォーマンスアクセラレータを使用してAIワークロードを高速化するために、大規模な計算能力を備えたデータセンターで実行されます。
ディープラーニングの推論とは?
ディープラーニングの推論とは、モデルがこれまでに一度も見たことのない新しいデータに対して、完全に学習されたディープニューラルネットワーク(DNN)を使用して推論(予測)を行うことを指します。ディープラーニングの推論は、新しい画像などの新しいデータをネットワークに与え、DNNに画像を分類させることで実行されます。前述の例では、DNNに自転車、犬、車、その他の物体の新しい画像を与えることで、DNNはそのような画像を分類することができます。完全に学習されたDNNは、画像が何を表しているかについて正確な予測を行うはずです。

DNNが完全に学習された後、他のデバイスにコピーできます。しかし、通常、DNNが展開される前に、計算能力、エネルギー、メモリを少なくするために簡素化および修正されます。これは、学習されたDNNが、数百層の人工ニューロンとそれらを接続する数十億の重みで完全に学習されると、非常に大きくなる可能性があるためです。DNNが大きければ大きいほど、必要な計算能力が増え、必要なストレージスペースが増え、実行に必要なエネルギーが増え、DNNからの応答を得るための遅延が増えます。
そのため、完全に学習されたDNNは、シンプルなハードウェアで動作し、消費電力を少なくし、可能な限り低い遅延で実行するために、修正および簡素化されます。もちろん、DNNを簡素化すると、モデルの精度は低下します。しかし、モデルの精度のわずかな低下は、簡素化のメリットによって上回ります。
一般的に、DNNは2つの方法で簡素化および修正されます。最初の方法はプルーニングとして知られており、2番目の方法は量子化として知られています。
プルーニング方法は、データサイエンティストがDNNにデータを与え、それを観察し、発火しない、またはほとんど発火しないニューロンまたはニューロンのグループを探すことに関与します。発火しない、またはほとんど発火しないニューロンが特定されると、DNNの精度を大幅に低下させることなくDNNから削除されます。これにより、ディープニューラルネットワークのサイズが縮小され、予測精度を大幅に低下させることなく遅延が改善されます。
ディープニューラルネットワークを簡素化するために使用できる2番目の方法は量子化です。これは、例えば32ビット浮動小数点から8ビット浮動小数点まで、重みの精度を低下させることに関与します。これにより、少ない計算リソースを使用する小さなモデルサイズが作成されます。ニューラルネットワークを簡素化すると、モデルの精度にわずかで無視できる影響しか与えません。しかし、モデルははるかに高速かつ小型になり、より少ないエネルギーを使用し、より少ない計算リソースを消費します。
エッジでのディープラーニング推論
DNNをデータセンターからエッジに移行するにつれて、DNNのサイズと必要な計算能力を削減することは非常に重要です。これは、エッジコンピューターが、データセンターやクラウドに配置されている大規模な計算能力よりもはるかに性能が劣るためです。
さらに、多くのエッジコンピューティングデバイスはエネルギー制約の対象となります。そのため、DNNは消費電力を少なくするように簡素化および修正する必要があります。これは、ディープラーニングの高い精度には多くの計算能力とメモリが必要であるためです。DNNを簡素化することで、エッジデバイスに展開してエッジでディープラーニング推論を実行できるようになります。
エッジでのディープラーニング推論の場合、一般的なアプローチはハイブリッドモデルを使用することです。このモデルでは、エッジコンピューターがカメラやセンサーから情報を収集し、その情報をクラウドに送信します。クラウドでは、データに対してディープラーニング推論分析が実行されます。しかし、推論分析が実行されるクラウドにデータを移動すると、いくつかの課題が生じます。
まず、データをクラウドに送信すると、いくつかの遅延の問題が発生します。データは、クラウドに送信され、分析され、元のデバイスに送り返されるまでに数秒かかることが多く、その結果、数秒の遅延が生じます。このようなモデルでは、リアルタイム推論分析を実行する必要がある一部のアプリケーションは実行できません。
例えば、自動運転車を考えてみましょう。自動運転車は時速60マイル(時速約96キロメートル)で道路を走行しており、1秒あたり90フィート(約27メートル)以上を移動します。推論分析のために画像や動画をクラウドに送信し、それを元のデバイスに送り返す必要があると想像してください。これには数秒かかり、その間に車両は誘導なしで100フィート(約30メートル)以上移動してしまう可能性があります。
自動運転車が他の車両、歩行者、または物体との衝突を避けるためには、推論分析はエッジコンピューティングデバイスでリアルタイムに実行されなければなりません。GPUやその他のアクセラレーターを搭載したエッジコンピューターは、リアルタイム分析と意思決定を必要とする自動運転車などのアプリケーションに必要な、わずか数ミリ秒という短時間でリアルタイムにデータを処理することができます。
さらに、生のデータ、特に生の動画フィードをクラウドに送信するには、膨大な量のインターネット帯域幅が必要です。従量制インターネットプランを利用している一部の組織にとっては、これは莫大な費用がかかる可能性があります。また、特にエッジコンピューターが信頼できるインターネット接続が常に利用できない遠隔地に展開されている場合、インターネット帯域幅がシステム全体をボトルネックにする可能性があります。さらに、エッジデバイスによって収集されたすべてのデータをインターネットにアップロードすると、特にデータが動画の場合、リソースの非効率的な使用につながります。これは、動画データが非常に大きくなる傾向があるためです。
では、解決策は何でしょうか?
解決策は、ディープラーニングAIアルゴリズムをエッジコンピューティングデバイス上でローカルに実行できる強力なAI推論コンピュータに投資することです。ディープラーニングアルゴリズムをローカルで実行することで、クラウド上でディープラーニング推論アルゴリズムを実行する際に関連する課題の多くが解消されます。
エッジデバイス上で、データ生成源の近くでローカルに推論分析を実行することで、レイテンシーの問題が解消されます。これは、データがローカルで処理されるため、データが分析のために数千マイル離れたデータセンターまで移動する必要がなくなるためです。これにより、リアルタイムの分析と意思決定がわずか数ミリ秒で可能になります。これは、分析と意思決定のためにデータをクラウドに送信するのにかかる数秒とは対照的です。自動運転車のようにリアルタイムの分析と意思決定を必要とするアプリケーションは、強力なAI推論PCでディープラーニング推論分析をローカルに実行することで得られるレイテンシーの短縮から大きな恩恵を受けるでしょう。
また、ディープラーニング推論分析は、インターネット帯域幅に関する問題を解決します。AI推論コンピューティングソリューション上でローカルに推論分析を実行することで、必要なインターネット帯域幅の量が削減されます。これは、データがローカルに保存および分析されるため、膨大な量の生データをインターネット経由でデータセンターまたはクラウドに送信する必要がなくなるためです。従量制データプランを利用している組織にとって、推論分析をローカルで実行することは非常に有効です。これにより、分析のためにクラウドに送信する必要があるデータが少なくなるため、インターネット帯域幅のコストを大幅に節約できます。
さらに、AIエッジ推論コンピュータは、マルチコアプロセッサ、GPU、VPU、FPGA、NVMe計算ストレージデバイスなどのパフォーマンスアクセラレータで構成できます。ディープラーニング推論分析で最も人気のある2つのオプションは、GPU(グラフィック処理ユニット)とVPU(ビジョン処理ユニット)です。
GPUとVPUは、多数の線形代数計算を実行できるため、ディープラーニング推論を高速化するために頻繁に使用されます。このような操作は、GPUによって簡単に並列化できます。したがって、CPUがAI推論計算を実行する代わりに、ワークロードはGPUまたはVPUにオフロードされます。GPUとVPUはどちらも数学計算の実行に優れており、そのため推論分析のパフォーマンスを大幅に高速化し、CPUが残りのアプリケーションプログラムの実行とオペレーティングシステム(OS)の実行に集中できるようにします。
Premio AI Edge推論コンピューティングソリューション
Premioは、強力な処理能力で構成できるAIエッジ推論コンピュータを幅広く提供しており、エッジで機械学習およびディープラーニング推論分析を実行できます。さらに、AIエッジ推論コンピューティングソリューションは、AIワークロードを高速化するためにGPUで構成できます。AI推論コンピューティングソリューションの選択についてサポートが必要な場合は、当社のAIコンピューティング専門家にご連絡ください。お客様の特定の要件を満たすソリューションの選択をお手伝いします。PremioはAIコンピュータの信頼できる供給源であり、米国で30年以上にわたって組み込みシステムの設計と製造を行ってきました。ご質問やご意見がございましたら、お気軽にお問い合わせください。
