HPE Blog, Japan
1770942 メンバー
3134 オンライン
109003 解決策
新規ポスト
Masazumi_Koga

【前世紀AI技術者が語るシリーズ】AI学習サーバーとAI推論サーバーって?

筆者がFORTRAN 77とC言語でAIプログラミングを始めたのが1997年。そんなレトロ感満載のHPEエバンジェリスト古賀政純(こが まさずみ)が、AI・データサイエンスがらみの話をざっくり語るブログ記事をお届けします。今回は、AI(人工知能)における学習サーバーと推論サーバーの違いについてです。

AI学習、AI推論、なんだか難しそうな言葉ですよね。AIにおける学習、推論って一体なんなんでしょう。最近話題のAIですが、学習と推論という単語を理解する必要があります。そして、サーバーとどういった関わりがあるのでしょう。この推論と学習をざっくり知れば、AIの本質や、そのAIを動かすインフラをざっくり理解できます。

■AI学習サーバーって?

DL380a Gen11.pngAI学習サーバーとは、大量のデータを使ってAIに新しいことを教えるためのコンピューターです。たとえば、たくさんの乗用車やトラックや道路標識の写真をこのコンピューターに学ばせるとしましょう。ここでは、AIが何百万枚、何千万枚もの写真を見て、「これは、乗用車だ!これはトラックだ!これは道路標識だ!」という特徴を学びます。

これは、まるで、小学校の宿題の漢字ドリルで漢字の書き取りを学ぶ小学生と同じですよね。漢字ドリルや計算ドリルを何回も繰り返すことで、訓練されて、漢字が書けるようになったり、計算問題が解けるようになるのと同じです。

一般に、AI学習は、非常に複雑な処理です。

乗用車やトラックや道路標識の写真を読み取るAIがたくさんのデータを学習するとします。AIは、大量の画像データから、その画像特有のパターンを見つけて学習しなければなりません。乗用車やトラックや道路標識だけでなく、様々なパータンを学習するために、強力なプロセッサーを駆使して、非常に高度で、かつ、膨大な計算が必要になるのです。

「プロセッサー」というと、テレビCMでよく聞く「インテル入ってる」で代表される「CPU」(中央演算処理装置)が思い浮かびます。しかし、AIの世界のメインの登場人物は、実は、CPUではありません。CPUのみでAI学習の処理を行うと、何か月もかかるといったことがあります。あまりにも膨大な計算なので、CPUだと非力というわけです。

そこで登場するのがGPU(Graphics Processing Unit)です。GPUを使えば数週間かかっていたAIの学習処理が、数日で終われる、それくらいGPUはAI学習処理を高速化します。なので、AI学習の世界では、CPUよりもGPUなのです。GPUは、この種のAI学習に関する高度な計算を高速に行うのに非常に効果的です。それは一体なぜなのでしょうか?

実は、GPUは、通常のCPUよりも、並列処理に特化している演算処理装置なのです。つまり、同時に多くの計算(膨大な足し算と掛け算)を並行して同時に行うことができます。もともと3次元グラフィック処理は、そのような同時並行的に足し算と掛け算を行うといったことが多く、グラフィックボードは、そういった計算に特化したハードウェアなのです。そして、AI学習では、大量のデータを同時並行的に処理(膨大な足し算と掛け算)する必要があるので、そういった処理が得意なGPUにやらせる、つまり、CPUよりもGPUがAI学習に向いている、といえるわけです。現在、GPUは、あらゆる分野で、AI学習に必要な膨大な計算を迅速に処理するために重要な役割を果たしています。AI学習を行う際には、もはや、GPUが欠かせない存在になっています。

そんなGPUですが、最近のAI学習サーバは、複数のGPUボードが搭載できるようになっています。上図は、GPUボードが4枚搭載できるHPE ProLiant DL380a Gen11エイチ・ピー・イー・プロライアント・ディーエル・さんはちまる・エー・ジェン・イレブン)というGPUサーバーです。GPUボードが4枚載るので、なんと冗長電源も4基搭載可能なのです。GPUを4枚も駆使する場合、冗長電源の電源容量が足りなくなると、サーバーは止まってしまいます。そうならないように、電源を4基も搭載できるようになっています。まさに、AI学習処理を見据えたサーバーなのです。

ちなみに、筆者が1997年当時、自作のAIを動かしていた環境は、MIPSという32ビットのプロセッサを搭載したエンジニアリングワークステーション(通称、EWS)と、旧DEC社(現HPE)のAlpha 64ビットプロセッサを搭載した超高速マシンと、コンシューマー向けのAMD社製のプロセッサを搭載したタワー型自作PCでした。当然、AI用でGPUを動かすなんて、筆者の頭に全くありませんでしたし、だれもGPUでAIを動かそうなんて考えてもいない時代でしたので、当時、もし今のような爆速GPUを4枚も搭載できるマシンがあれば、世界が違って見えたに違いありません。筆者の1997年当時の非GPUのAI環境は、ZDNetの連載記事として掲載されています。わりと人気の記事ですので、一読いただけると幸甚です。

 ■AI推論サーバーって? 

YOLO on RL300 Gen11.png一方、AI推論サーバーは、学習したことを実際に使う場所に設置されます。ここでは、例えば、AIが学習したことをもとに、Webカメラで目の前に映っている物体を認識するAIがあるとします。当然、学習した物体と全く同じ物体が登場するとは限りません。新しい物体が乗用車なのか、トラックなのか、道路標識なのか、はたまた、道路を横切る人間なのか、動物なのかを判断します。つまり、AIが学習したことを実際に活用するときに使うわけです。

Webカメラに映るクルマや人を読み取って、「これは乗用車だ!これはトラックだ!これは人間だ!」と教えてくれるのは、AI推論プログラムがAI推論用のコンピューターで動いているからなのです。

AI推論では、AIで学習した知識(=AIではモデルという)を使用して新しいデータを処理するだけです。なので、推論は、AI学習サーバーでの訓練よりも計算量が少なく、比較的単純な演算が中心です。そのため、AI推論サーバーでは、高度な数値計算を行うための強力なGPUは必要ありません。代わりに、ローエンドのGPUや、メニーコアのARM CPUなど、コスト効率の高いハードウェアで十分です。これらのハードウェアでも、十分なパフォーマンスを発揮し、AIの推論タスクを効率的に処理できます。

図に示すように、1ソケット128コアの省電力ARMサーバーであるHPE ProLiant RL300 Gen11(エイチ・ピー・イー・プロライアント・アールエルさんびゃく・ジェン・イレブン)は、こんなに薄型マシンで、省電力にもかかわらず、AI推論のオープンソースソフトウェアなどが軽快に動作します。例えば、物体認識をリアルタイムで行えるオープンソースソフトウェアのYOLO(ヨロ)は、GPU無しでRL300 Gen11で軽快に動作します。実際、YouTube動画内の乗用車やトラックや道路標識や人間や動物などの物体認識を行うYOLOのAI推論プログラム(プログラム言語のPythonを使って作成しました)をGPU無しのRL300 Gen11で動かしましたが、YouTube動画内の異なる種類の物体をリアルタイムに同時に認識できています。

1997年の筆者のマシンでは、当然GPUを使わずに非x86の32ビットMIPSプロセッサーやAlpha 64ビットプロセッサーでシミュレーションやAIを実行していたわけですが、まさか、25年以上経過した今になって、GPUを搭載しない非x86のARMプロセッサー搭載マシンでAIを動かす日がくるとは。そう考えると、なんだか感慨深いものがあります。

ちなみに、ARMプロセッサを出しているAmpere Computing(アンペア・コンピューティング)社も、AI推論サーバとしてのRL300 Gen11に関する文書を出しているので、是非参考にしてみてください。

YOLO_on_RL300Gen11_by_Ampere.png

 
以上で、AI学習サーバーとAI推論サーバーを、かなりざっくり解説しました。AI学習とAI推論の違い、そして、必要なハードウェア機材が異なることが、ざっくりご理解いただけたでしょうか?
最近なにかと話題のAIですが、身近なところで見聞きするAIが、学習なのか推論なのかという目線でみると、ちょっとだけ、AIサーバーの裏側を覗いた気分が味わえます。
 
身の回りで見聞きするAIについても、学習と推論のどちらなのか、ぜひ区別してみてください。
 
KOGA MASAZUMI ( X(旧Twitter): @masazumi_koga )
作者について

Masazumi_Koga

Hewlett Packard Enterprise認定のオープンソース・Linuxテクノロジーエバンジェリストの古賀政純が技術情報や最新トピックなどをお届けします。保有認定資格:CCAH(Hadoop)/RHCE/RHCVA/Novell CLP/Red Hat OpenStack/EXIN Cloud/HP ASE DataCenter and Cloud等