トピック
新しいインスタンスを使うとパブリッククラウドのコストを適性化できる、その理由とは?
最新のCPUと、それに最適化されたソフトウェアを意識しよう
2023年10月16日 09:00
前回の記事では、CSP(クラウドサービスプロバイダー)が提供しているパブリッククラウドサービスが一般化していくにつれて、企業が費やすコストは上がり続けており、本当に必要なサービスを選択するなどしてコスト最適化を実現していくことが、吃緊の課題になっていることを指摘した。
その解決策の一つとなり得るのが、利用するインスタンスのプロセッサーを最新世代にすることだ。それにより15%のコスト最適化が実現できると、プロセッサーベンダーのインテルは指摘する。さらに、最新世代プロセッサーでサポートされる新しい拡張命令に対応したソフトウェアなど、最適化されたソフトウェアを活用すれば、それをさらに数倍から最大で十倍程度まで性能向上させることが可能になり、結果としてさらなるコスト削減が実現できるという。
コスト最適化の鍵はCPUにある、最新のインスタンスを利用すると性能あたりのコストを下げられる
パブリッククラウドサービスのコストを最適化していくにはいくつかの方法があり、一般的な手法としては、利用していないインスタンスを削除、サイズがあっていないインスタンスの調整、さらに土日夜間に利用されていないインスタンスの停止――などがあることを、前回の記事で説明させていただいた。
そうした一般的な対策を行った上で、さらに効果的なコスト最適化としては、ハードウェア構成の見直しが重要になってくる。というのも、パブリッククラウドサービスのインスタンスにハードウェアを提供しているプロセッサーベンダーは、多ければ1年に一度、長くても2年に一度といった間隔で新製品を投入し、そのたびごとに性能を向上させているからだ。
こうした新製品は従来製品と比較すると、平均して10~20%程度と2桁パーセントの性能向上が見込まれるのが一般的だ。そうした性能は、内部アーキテクチャの改良と、製造技術の改良という2つの要素から実現され、世代ごとに強化されている。
そして多くの場合、プロセッサーベンダーは同じグレードであれば価格を据え置くため、コストあたりの性能は世代を経るごとに高まっていく。同じコストでありながら10~20%程度性能が向上していくので、すごく単純に考えると、同じ性能の新世代のプロセッサーに移行することで、コストは10~20%程度下がることになる。
パブリッククラウドサービスのインスタンスもそうした状況を反映しているため、プロセッサーベンダーのインテルは、従来型のプロセッサーを搭載したインスタンスから最新型のプロセッサーを搭載したインスタンスに切り替えることでコスト削減が可能になると強調する。
インテルはここ数年、2年に一回程度、最新のプロセッサーを提供している。2019年に第2世代インテル Xeon スケーラブル・プロセッサー(以下、第2世代Xeon SP、開発コード名:Cascade Lake)を、2021年には第3世代インテル Xeon スケーラブル・プロセッサー(以下、第3世代Xeon SP、開発コード名:Ice Lake)を、そして本年の1月には、最新製品となる第4世代インテル Xeon スケーラブル・プロセッサー(以下、第4世代Xeon SP、開発コード名:Sapphire Rapids)の提供を開始しており、年々その機能や性能を高めている。
インテルの松田氏は「プロセッサー全体の性能が上がればソフトウェアの実行に割り当てるCPUコア数を減らせる。それにより、コア数でライセンス料金が変わるソフトウェアライセンスのコストを下げることが可能になる」と述べ、性能を上げることが結果的にソフトウェアライセンスコストの低下も実現するという点を指摘。ソフトウェアコストの最適化も可能だと説明している。
世代ごとに拡張命令セットは追加されていく、それに従って最適化を行っていくことで大きな性能向上を得られる
そうしたコストメリットがある新世代のプロセッサーへの移行だが、ただ新世代のプロセッサーに移行するだけでなく、「ソフトウェア周りの実装を見直すことで、さらなるコスト最適化が可能になる」とインテル株式会社 テクニカルセールス・ソリューション・サービス クラウド・テクノロジー・サポートグループ 松田貴成氏は指摘する。
というのも、新しい世代のプロセッサーには、新しい機能や新しい命令セット(従来にはなかった命令セットということで拡張命令などと呼ばれる)などが追加されているからだ。例えば第4世代Xeon SPでは、4つのアクセラレータ(QAT、DLB、DSA、IAA)と新拡張命令になるAMX(Advanced Matrix eXtensions)が実装されており、それを利用してAIなどの演算を行うことで、性能を大きく向上させることができる。
最新の第4世代Xeon SPで導入された新拡張命令のAMXでは、新しくTMUL(タイル行列乗算)というレジスターが導入され、大規模な行列乗算を一度の演算で実行することが可能になる。
そのAMXでは、AI推論で多用されるBF16とINT8という2つのデータ型をサポートしており、一度の命令実行でより多くのデータを処理できるため、AI推論の演算時に大きく性能が向上する。具体的には、従来のプロセッサーでFP32の処理を行う場合、1クロックサイクルで64回を処理できるが、それをAMXでBF16に置きかえると1クロックサイクルで1024回と実に16倍も高速化できる。
同じようにINT8を利用した整数演算では、AMX非対応では1クロックサイクルで256回の演算を行えるが、AMXに対応させることで2048回の演算が可能になり、実に8倍の高速化が実現される。
インテルが第4世代Xeon SPの発表時に公開したデータによれば、従来世代とAMXを利用した第4世代Xeon SPを比較すると、SSD-RN34では10.2倍と、最大10倍の性能を実現するという。
また、第4世代Xeon SP上でAMX未使用時と使用時を比較すると、SSD-RN34のリアルタイム物体検出では電力効率が14.2倍に、同じくSSD-RN34のバッチ物体検出では電力効率が13.53倍に、RN50のリアルタイム物体検出では電力効率が8倍に、RN50のバッチイメージ認識では9.76倍に電力効率が高まると説明している。
なお、AMXやアクセラレータは海外のインスタンスから先行して利用可能になっており、順次、国内にも展開される予定だ。現在、AMXやアクセラレータは以下のインスタンスで利用できる。
【AMXのみ利用可能】
AWS:c7i、m7i、m7i flex
GCP:C3
【QAT/IAA/DSA利用可能】
AWS:m7i.metal-24xl、m7i.metal-48xl
AMXに対応することで、AI推論処理を4倍、9倍と倍数で性能を向上させることが可能になる
このように、CPUの拡張命令は世代が新しくなるごとに進化しており、そうした新命令に対応したソフトウェアを利用することで、さらなる費用対効果を実現できる。一般的に、CPU世代間の性能向上率はおおむね10~20%程度だが、AMXのような拡張命令セットをうまく活用できれば、最大で10倍といった大きな効果を得られるのは説明してきた通りだ。
実は、AMXを活用して性能を大きく引き上げる事例が、すでにいくつも登場しつつある。中国のMeituan(美団、中国のECや中国最大の口コミサイトを運営している企業)の事例では、AMXに対応して画像認識でFP32をBF16に置きかえるだけで、4.13倍の性能向上を実現したという。従来はGPUで演算していたようなところを、CPUとAMXに対応したアプリケーションに置きかえることで、パブリッククラウドサービスの利用効率は3倍になり、サービスを提供するのに必要なコストは70%削減することが可能になったというのだ。
同じような性能向上は、マシンラーニングのアプリケーションを開発しているツールベンダー「Hugging Face」の事例でも確認できる。Hugging Faceは最近AIアプリケーションの構築に活用されることが多く、人気のツールだ。Hugging Faceでもインテルから提供されている最適化のモジュールなどを活用して最新CPUへの対応を進めており、同社のプラットフォーム上で動作している画像生成AIアプリケーション「Stable Diffusion」のライブデモが公開されている。
Stable Diffusion Inference Acceleration Comparison
between 4th Gen and 3rd Gen Intel Xeon Scalable Processor
https://huggingface.co/spaces/Intel/Stable-Diffusion-Side-by-Side
具体的には、AMXには未対応の第3世代Xeon SPと、AMXに対応している第4世代Xeon SPとの比較で、最大9倍性能が向上するという。そのデモはリンク先で実際に確認できるので、ぜひリンク先でご確認いただきたい。パラメーターなども調整可能で、「Generate Image」ボタンを押すと、すぐに画像生成が始まる。パラメーターを標準状態で実行すると、第4世代Xeon SPの方は約4.5秒で終わったが、第3世代Xeon SPの方は37秒程度かかった。サイトに書かれている9倍にはならなかったが、8.2倍程度になっていることは確認できた。
もちろん、こうした効果はAMXでだけ実現されることではなく、そもそもAVX-512に非対応の処理をAVX-512対応とすることで、同じような効果を得られる。例えば、JavaのミドルウェアであるOpen JDKでは、最新版でAVX-512への最適化を進めており、最新版のOpen JDKにするだけで、同じような効果を得ることが可能になる。
松田氏によれば、インテルはOpen JDKなどのオープンソースの開発に積極的に参加しており、最新プロセッサーへの最適化が最新のバージョンで搭載されることが多いとのことなので、Open JDKに限らずOSやミドルウェアを最新版にすることで、新しい拡張命令の恩恵を得ることが可能になるということだった。
ソフトウェアの最適化によるコスト最適化効果は大きいとインテル、今後続々と新プロセッサーが登場予定
このように、インテルのデータセンター向けプロセッサーは、世代が新しくなるたびにCPUコアの数が増えるなどの機能面での強化、さらには新しい拡張命令が追加されるなどソフトウェア面での強化が加えられている。世代が新しくなっても同じグレードの製品はほぼ同じ値段で提供されることが通例なので、新世代になればなるほど費用対効果(コストパフォーマンス)は上昇していくと言える。Hugging FaceのAMXに関するデモでもわかるように、特に新拡張命令に対応することで、通常は10~20%の性能向上幅であるところが、8倍、9倍と大きな性能向上を実現しているのは紹介した通りだ。
インテルの松田氏は「インテルは、こうした新拡張命令への対応を含むソフトウェアの最適化に多大な投資を行っており、業界各社と協力して最適化を進めている。パブリッククラウドサービスを利用する場合にも、新しい世代のプロセッサーを利用したインスタンスにするだけで約15%のコスト最適化効果を得られるが、それに加えてソフトウェアの最適化を進めることで、より大きなコスト最適化効果を得られる」と述べ、パブリッククラウドサービスのコスト最適化を実現する上で重要なことは、新世代のハードウェアを選ぶことだけでなく、同時にソフトウェアの最適化を常に意識することだと強調した。
インテルのデータセンター向け製品の拡張はこれで終わりではない。インテルは9月中旬にサンノゼで開催した「Intel Innovation 2023」というイベントの中で、次世代のデータセンター向けプロセッサーとなるEmerald Rapids(開発コード名)を、第5世代インテルXeonスケーラブル・プロセッサー(以下、第5世代Xeon SP)として、12月14日に正式に発表する計画であることを明らかにしている。
インテルによれば、第5世代Xeon SPでは1ソケットあたりのCPUコアが増加し、PCI Express経由で利用できるメモリが利用できるようになるCXL Type3のサポートが追加されるなど、第4世代Xeon SPからさらに性能や機能が強化される。
さらに2024年には、次世代製品としてGranite Rapids(開発コード名)とSierra Forest(開発コード名)という2つの製品が投入される。インテルはクライアントPC向けの製品で、Pコア(高性能コア)とEコア(高効率コア)という2つの種類のCPUを搭載したハイブリッド・アーキテクチャを導入している。データセンター向けでは、Pコアが「Rapids」のコードネームがつく製品に投入され、Eコアが「Forest」のコードネームが付く製品に投入される。
PコアになるGranite Rapidsは、現在の第4世代Xeon SP、そして12月14日に正式に発表される第5世代Xeon SPの後継となる製品になる。現在のXeon SPの機能を拡張させ、発展させていく製品がGranite Rapidsとなる。
それに対してEコアのSierra Forestは、新しい市場を切りひらく製品となる。Sierra Forestは電力効率に優れたEコアをCPUコアとして採用することで、1ソケットあたりのCPUコアが最大で288コアになる製品になる。これにより、1つのサーバー機器に実装できるCPUコア数を増やして高密度なサーバーを実現することが可能になる。これにより電力効率を大きく改善できるため、CSPがパブリッククラウドサービスでSierra Forestを採用すると、電力コストなどを削減可能になる。インテルは2025年にSierra Forestの後継となるClearwater Forestも計画しており、今後も継続して「Forest」ラインも継続して開発していく意向だ。
このように、今後もインテルはデータセンター向けの製品を投入する計画があり、そのたびにCSPからは新しいプロセッサーを採用したインスタンスが登場することになるだろう。これまでは2年に一度程度の新製品だったが、本年からは1年に一度のペースで新製品が投入されていくロードマップになっており、変化は加速している。
当然CSP側でも、こうした新しいハードウェアの採用は常に意識しているため、利用するエンタープライズの側でも、今から新しいハードウェアの投入計画、そして新しい最適化されたソフトウェアの投入計画を知り、それに対応していくことが、パブリッククラウドサービスのコスト最適化への近道になっていくのではないだろうか。
そして、コスト削減の鍵となる最新CPUが搭載されたインスタンスが、日本でも早く使えるようになることを楽しみにしていきたい。