トピック
Intelプロセッサを利用したAIの実装のメリットとは?
~Intelがなぜデータセンターで強いのか? その包括的な製品群を徹底解剖!
- 提供:
- インテル株式会社
2021年9月21日 06:50
世界最大の半導体メーカーIntelは、さまざまなマイクロプロセッサを世の中に提供している。IA(Intel Architecture)プロセッサと呼ばれる、いわゆるx86の命令セットアーキテクチャを持つCPUはよく知られており、PCやデータセンターのCPUとして利用されている。
また近年では、GPU、FPGA(Field Programmable Gate Array)、AIアクセラレータなどのさまざまなプロセッサの提供を行っており、それらをXPUと呼んで、複数のプロセッサを異種混合の形で利用して演算性能を向上させる取り組みも行われている。
さらにIntelは、近年CPU上でのAI推論処理に力を入れており、ソフトウェアのソリューションを強化するなどの取り組みを実施。IAプロセッサを利用したAIの推論性能を年々向上させている。また、CPU側にも新しい命令セットが搭載されるなどして、より効率よく実行できる仕組みが整いつつあり、データセンター全体としても、推論処理能力は年々上がり続けているのだ。
データセンターやエッジ環境のAI推論処理では、IAプロセッサが一般的に利用されている
データセンターやエッジサーバー環境におけるAIの処理は、主に推論と学習という2つの処理に分類される。学習(Training)というのは、データをAIのモデルに読み込ませる処理のことで、言ってみれば幼児に“犬は犬”、“猫は猫”ということを教えていく、あるいは自分で学んでいく作業を指している。
それに対して推論(Inference)は、その学習より賢くなったAIが、猫の写真が来た時には猫、犬の写真が来た時には犬と答えることだと考えるとわかりやすい。そうした「画像認識」だけでなく、音から文脈を含めた文字を認識する「音声認識」など、学習の結果を利用して何らかの処理を行うことを「推論」と呼んでいる。
AIを構築する上では学習も推論も重要になるのだが、特に近年注目されているのが推論だ。というのも、AIのアプリケーションを導入し、ユーザーにとって有益な機能を提供するには、効率の良い推論処理が欠かせないからだ。
学習フェーズでは、推論→モデル修正のサイクルを膨大な回数実施するが、モデルの精度を向上させるために、GPUによる並列実行で処理時間の短縮を図ることが多い。それに対して推論フェーズでは、学習サイクルにあった推論パスを一度実行するだけのため、要求される計算資源も少なく済み、また、アプリケーションに対して迅速に結果を提供するという必要があるため、CPUが利用されることが圧倒的に多くなっている。
このためデータセンターでの推論に関しては、データセンター向けのCPUで圧倒的なシェアを持つIntelのIAプロセッサが利用されることがとても多いのだ。残念ながら、推論に利用されるプロセッサの市場シェアという統計はないのだが、半導体業界では、その大部分はIAないしはその互換プロセッサだと考えられている。
インテル株式会社 APJ データセンター・グループ・セールス AI テクニカル・ソリューション・スペシャリスト 大内山浩氏によれば、「IAプロセッサを利用したAIの実装のメリットは、すでにデータセンターやエッジ環境にあるIAプロセッサを活用してAIを実現できる点にある」と話す。すでにあるデータセンターやエッジサーバー環境のインフラをそのまま利用し、AI推論の環境を実現することができるので、AIの環境を低コストで整えられるという点でも大きな効果があるといえる。
4月に第3世代Xeon SPを発表、来年にはAIに特化した新命令対応の「Sapphire Rapids」も計画
そうした市場背景もあり、Intelはここ数年、データセンターやエッジサーバーなど向けに提供している同社のXeon Scalable Processors(以下、Xeon SP)での、AI推論処理の最適化、高性能化を日々行っている。
インテルの大内山氏が、「重要なことは、お客さまのTCOをできるだけ下げ、効率の最大化を目指すことだ。当社が提供するCPUの上でAIを動かしていただく場合に、ハードウェアの向上とソフトウェアの最適化という2つの軸で、TCOの削減や効率の最大化を目指していく」と述べる通り、ハードウェアの進化とそれを利用するソフトウェアの最適化、具体的には、より容易にAIのアプリケーションを構築できる開発キットなどを提供し、それを両輪にして日々アップデートしていくことで顧客のAI開発を支援する、というのがIntelのポジションだ。
両輪のうちハードウェアの強化に関しては、今年の4月に新製品を投入している。開発コード名「Ice Lake」で知られてきた「第3世代Xeon Scalable Processors」(以下、第3世代Xeon SP)がそれだ。
詳細に関しては上記記事が詳しいため、ここでは繰り返さないが、製造プロセスルールが従来製品(第2世代Xeon SP、開発コード名:Cascade Lake)の14nmから10nmへと微細化されて半導体としての基本性能が強化され、1ソケットあたりのCPUコアは、従来製品の最大28コアから最大40コアへと強化されている。
ほかにもキャッシュ周りの強化、PCI Express Gen 4に対応するなどI/O周りの性能向上といった強化が加えられているほか、第2世代Xeon SPで初めて導入された、AI推論をより効率よく行うための拡張命令セット(Intel Deep Learning Boost、以下、Intel DL Boost)も実装されており、ソフトウェアの最適化を行うことでAI推論の実行効率を引き上げられるようにしている。
インテルの大内山氏の「第2世代と比較して第3世代では、マシンラーニングの推論では約1.5倍に、そしてディープラーニングの推論では最大1.74倍に性能が引き上げられている」との言葉通りで、AIの推論時の性能は大きく引き上げられている。消費電力に関しては、基本的には従来世代と同じ枠内になっているので、同じ処理を行う場合にはより少ない消費電力で実行可能になり、電力効率も向上しているといえる。
Intelではこうしたハードウェアの拡張を止めることはなく、日々新製品の開発も続けている。先日行われた「Intel Architecture Day 2021」においては、第3世代Xeon SPの後継製品で、来年の前半に製品投入が計画されている「Sapphire Rapids」(サファイアラピッド)の概要も説明された。
Sapphire Rapidsでは、EMIB(イーミブ)と呼ばれる2.5Dのパッケージ混載技術が利用されており、複数のチップを1つのサブ基板上に実装し、CPUコアの数を無理なく増やす手法が使われている。業界では「チップレット」の呼び方で知られている技術で、CPUコアの数が第3世代Xeon SPよりも増えると予想されている(現地時点ではCPUコア数は公表されていない)。
Sapphire Rapidsのもう1つの特長は、新しいCPUアーキテクチャを採用していることで、AMX(Advanced Matrix Extensions)という新しい命令セットを搭載している。従来提供されていたIntel DL BoostがAVX512の拡張だったのに対して、このAMXはCPUの内部に演算器も拡張される形の新命令セットで、AIの学習・推論の演算を、さらに高効率で行うことが可能になる。
大内山氏によれば、GEMM(General Matrix to Matrix Multiplication)の運用が、AMXを利用しない場合と利用した場合では7.8倍にもなるという結果が、まだ初期段階のシリコンですでに実証されているとのことで、将来的にはソフトウェアをAMXに対応させることで、さらに実行効率を上げていくことが可能になりそうだ。
さらにIntelでは、学習向けにも新しいソリューションを提供する計画がある。同じくIntel Architecture Day 2021で発表されたのが、GPUのPonte Vecchio(ポンテベッキオ)で、Sapphire Rapidsで利用されている2.5Dの混載技術であるEMIBだけでなく、3Dの混載技術Foveros(フォベロス)も利用して、横にも縦にもチップを複数搭載し、高性能なGPUを実現する製品となる。
各種AIフレームワークへの最適化に加え、OpenVINOツールキットなどのソフトウェア開発環境を提供
そうしたIntelのIAプロセッサでのAI推論環境において、ハードウェアと並んで両輪となっているのが、ソフトウェアの最適化だ。すでに述べてきた通り、IntelではAI推論向けに優れたCPU製品をラインアップするのと同時に、ソフトウェアの開発キットを充実させることによって、よりCPUの可能性を引き出すソフトウェアを、開発者がより容易に使えるようにしている。
Intelの大内山氏は「IntelのAIソフトウェア開発に対する戦略は、3つの柱から成り立っている。1つめが『メジャーなOSS AIライブラリへの最適化』、2つめが『独自AIソフトウェアの開発提供』、3つめが『AIソフトウェアのスタートアップ企業の買収』だ。これらを組み合わせることにより、お客さまが、より効率の良いソフトウェア開発が可能になるようにしていく」と述べ、AI推論向けのソフトウェア開発環境の充実を、3つの柱を重視しながら進めていると説明した。
1つめの「メジャーなOSS AIライブラリの最適化」という観点では、GoogleのTensorFlow、FacebookのPyTorchなど、AIソフトウェア開発で一般的に利用されているAIフレームワークへの最適化が挙げられる。というのも、AIソフトウェアの開発現場では、そうしたフレームワークがすでに利用されており、ソフトウェア開発者はそれらのフレームワークに向けたコードを、すでにたくさん持っている場合が多いからだ。そのため、これらのフレームワークを利用して開発したコードを、IAプロセッサに容易に最適化できるツールの提供が重要になる。
その代表例として大内山氏は、「Intel Optimization for PyTorch」の例を挙げた。大内山氏によれば、PyTorch自体にもIAプロセッサ向けの最適化機能はすでに用意されており、それを利用すれば、ある程度の最適化はできるという。しかし、そうした最適化は一般的なものにとどまっており、より最新のIAプロセッサの機能拡張などに対応したい場合には、「Intel Extension for PyTorch(IPEX)」という拡張パッケージを利用することによって、最新のIAプロセッサへの最適化などが、より深くできるようになるとのことだ。
2つめの独自AIソフトウェアの開発提供では、Intel独自のAI推論ソフトウェア開発ツールとなる「OpenVINO(オープンビーノ)ツールキット」(以下、OpenVINO)の提供が挙げられる。OpenVINOではAIのモデルの最適化を行い、それを量子化する段階でIAプロセッサへの最適化を行う。例えば、第2世代Xeon SP以降でサポートされているIntel DL Boostを利用すると、FP32を利用しているAIモデルを、INT8に置き換えて演算することが可能になる。そうした最適化を施すと、AIソフトウェアをIAプロセッサに最適化し、性能向上させることが可能になる。
このOpenVINOは単体で利用可能だが、TensorFlowなどのフレームワークからの利用にも対応する。その場合には、既存のコード資産を生かしながらIAプロセッサへの最適化が可能になる。
3つめのAIスタートアップ企業の買収という動向では、SigOpt、cnvrg.io、COSMONiOなど、AIソフトウェアを開発している企業の買収などが挙げられる。その中の1つSigOptは、AIモデルの学習時に行うパラメーターのチューニングを、SaaS(Software as a Service)型で提供している企業になる。学習時にパラメーターをどう設定するかで、学習結果のモデル精度や学習そのものにかかる時間が大きく変わってくるため、パラメーターのチューニングは重要になってくる。それを最適化した状態で提案してくれるのがSigOptになる。
このように、Intelはソフトウェアによる最適化に関しても引き続き拡張を続けており、OpenVINOに代表される各種ツールを積極的に提供することで、顧客のAI推論のTCO削減や性能向上を確実にサポートしているのだ。
“両輪”を生かした事例はIntelのWebサイトでも多数公開
ここまで見て来たように、第3世代Xeon SPのような最新製品と、Sapphire Rapidsなど、将来の確実なロードマップによるハードウェアの進化、それとともに、ハードウェアへの最適化が確実に行えるOpenVINOのような開発ツールといったソフトウェアの進化という両輪により、IntelのAI推論ソリューションは進化を続けている。
大内山氏によれば、そうしたIntelのAI推論を実際に採用して役立てている事例もいくつもあるという。例えば、和歌山県立医科大学附属病院の事例では、輸血中の患者をカメラで撮影し、危険な方向に体の位置を変えた時などをAIが判別して、医師に通知するというシステムを構築したという。このシステムの構築には、姿勢検知にOpenVINOの姿勢推定学習済みモデル(体の部位を座標化し、それにより姿勢を検知するモデル)が利用されており、体位決定アルゴリズムと組み合わせることで、医師への通知を行う仕組みになっている。大内山氏によれば、すでに立位以外はほぼ正確に患者の状態を検出して、通知することができているという。
米国の首都ワシントンD.C.の上下水道局「DC Water」の事例では、AIを利用した下水道定期メンテナンスの効率化が行われているという。下水道を確実に維持するには定期点検が重要だが、従来は無線操縦のローバーで下水道を撮影し、動画などから人間の目で異常などを確認していたという。しかし、IAプロセッサを利用したAIが動画を画像認識することで、手作業(75分)よりも圧倒的に短時間(10分)で行うことが可能になり、検査にかかるコストを50%削減できたそうだ。
Intelではこうした事例をWebサイトで公開しており、金融、医療・ライフサイエンス、製造業などの業界別にまとめているという。すでに金融、医療・ライフサイエンス向けはWeb上で公開され、以下のURLから閲覧可能だ。そこには事例だけでなく、実際にどのようなコードを利用しているのかなども実践的に紹介されているそうなので、IAベースのAI構築に興味があるユーザーは、目を通しておいて損はないだろう。