こんにちは、富士通研究所 先端技術開発本部の忽滑谷淳史、石井伴旺、藤原慎之介です。2024年11月17日~22日にアトランタ(アメリカ合衆国)で開催されたスーパーコンピュータの国際会議SC24にブース展示説明員として参加し、FUJITSU-MONAKAプロセッサの展示と関連技術の動向調査を行いました。富士通研究所からは複数のメンバーが現地参加しており、SC24で得られた知見などをまとめた記事について連載で投稿しています。第3回目となる本投稿では、Armベースの次世代プロセッサ「FUJITSU-MONAKA」の展示内容と関連する動向について報告します。
FUJITSU-MONAKAプロセッサの展示概要
先端技術開発本部では、Armベースの次世代プロセッサ「FUJITSU-MONAKA」を開発しており、その特徴やそれに必要なソフトウェアの取り組みについて、富士通ブースにて展示発表しました。FUJITSU-MONAKAは、従来のHPC領域に加えてAI・データ解析領域で活用できることを目指して開発を進めています。富士通独自の3次元メニーコアやConfidential Computingを採用することにより、FUJITSU-MONAKAは高性能・高信頼性・省電力なプロセッサをお客様に提供します。また、HPC・AI・データ解析領域におけるデファクトスタンダードな基盤となるソフトウェアをOSSコミュニティと連携して開発することにより、お客様が利用するソフトウェアをFUJITSU-MONAKA導入直後に使えることを目指します。ここでは、富士通ブースで展示発表したスライドの説明と現地でのやり取りについて記載します。
FUJITSU-MONAKAプロセッサ
FUJITSU-MONAKAのハードウェア仕様とConfidential Computingについて紹介しました。FUJITSU-MONAKAでは高性能・高信頼性・省電力を目標に開発しています。
FUJITSU-MONAKAでは2nmプロセスや3次元メニーコア等の最新テクノロジー採用しており、お客様にも大変興味を持っていただけました。プロセッサを超低電圧で動作させることで低消費電力を実現するUltra Low Voltage技術の質問も多くいただき、電力に対する関心の高さを感じました。また、水冷ではなく空冷を採用する理由についての質問もいただきましたが、幅広いお客様にFUJITSU-MONAKAを導入してもらうために装置の設置・運用が容易な空冷を採用していることをお伝えしました。水冷についても今後対応を検討していく予定です。
FUJITSU-MONAKAはセキュリティ機能としてArm CCA(Confidential Computing Architecture)によるConfidential Computingにも対応しています。それにより、プロセッサがクラウド上のユーザデータを暗号化し、保護することが可能になります。訪問されたお客様からセキュリティに関する課題をお聞きすることもあり、本機能の重要性をあらためて認識しました。
対象領域とソフトウェアスタック
FUJITSU-MONAKAの活用対象領域と、それらの領域に必要なソフトウェアスタックについて紹介しました。FUJITSU-MONAKAは、HPCクラスタシステムに加えて、AI開発・推論プラットフォームやデータセンターでも活用できるように、これらのシステムでの利用が見込まれるソフトウェアをユーザがそのまま利用できることを目指しています。
OSSベースのソフトウェアスタックサポートや、コンパイラや通信ライブラリ含めてFUJITSU-MONAKAに関する修正パッチをOSSに取り込む方向でのコミュニティ活動は、ブースに来訪された方々からも好評であり、ハードウェアのスペックに加えてソフトウェアの充実度も注目されていることを再認識できました。
OSSコミュニティと協調したソフトウェア拡充
FUJITSU-MONAKA向けのソフトウェア拡充の一環として、富士通がこれまでOSSコミュニティに貢献してきた活動について紹介しました。FUJITSU-MONAKAでは、各ソフトウェアの性能改善を目指し、OSSコミュニティとの協業を積極的に推進しています。
富士通はUXL FoundationのFounding Steering Committee Memberとして、PyTorchやscikit-learn等のAIフレームワークで幅広く利用されるライブラリoneDNNとoneDALについてArmサポートを主導した結果、Arm上における機械学習の性能を最大で約30倍高速化しました。また、富士通はArmのOSSコミュニティを牽引する非営利団体であるLinaroとも連携し、過去に富士通が開発した知見や技術をコミュニティに還元することで、LLVMの品質・性能向上に貢献しています。ブースに来訪された方々に本取り組みを説明したところ、ソフトウェアを使うために特別な手順を踏む必要がなくなることに期待しているとのコメントをいただき、活動内容に共感いただきました。また、ソースコードの煩雑さから過去にOpenBLASの性能改善を断念してしまった方から、複数組織と連携した取り組みに期待しているというコメントもいただきました。
お客様とのユースケース創出
FUJITSU-MONAKAを活かせるユースケースとして、2つのユースケース(LLM+RAGシステム、AIサロゲートモデル)を紹介しました。
LLM+RAGシステムにおいてLLMはGPUが活きる領域ですが、ベクトルデータベースの検索やEmbeddingなどの前処理はCPUが活きる領域であり、FUJITSU-MONAKAを導入することにより、効率的なLLM+RAGシステムの構築が期待できます。ブースではFUJITSU-MONAKAとGPUの併用に関する質問も多数あり、CPUとGPUの連携に興味のあるユーザが多いことを認識しました。富士通は2024年11月1日にAMDとAIのオープン化を加速するため、戦略的協業を発表しました。LLM+RAGに限らず、さまざまな分野でCPU・GPUを効果的に活用できる領域を探していく予定です。
AIサロゲートモデルにおいては、従来の物理シミュレーションで問題となっている長い実行時間を解決するPINNsとよばれるニューラルネットワークが注目を集めています。PINNsは高速かつ複数の異なる問題に有効な手法であり、FUJITSU-MONAKAと一緒に利用することにより、CAEのデザインを加速できることを期待しています。SC24では2つのユースケースについて説明しましたが、今後もFUJITSU-MONAKAを活用できるユースケースをお客様に提案していく予定です。
最新動向
SC24では、HPC分野におけるハードウェア・ソフトウェアの最新動向やLLM等の最新技術を聴講できるセッションが多数ありました。展示説明のために聴講できたセッションは少なかったですが、その中で興味深かったセッションを紹介します。
Dynamic Workloads and Cooling Controls: An Opportunity for Improved TCO
HPCのワークロードと冷却の動的制御に関するセッションに参加しました。ICTシステム導入から運用までに必要な総費用をTCO(Total Cost of Ownership)と呼びますが、そのTCO削減対策の一つとして冷却制御の改善が着目されています。
近年のエクサスケールシステムでは、電力と密度の増加により液冷の採用が進んでいます。従来技術では、液体や部品の温度測定結果をもとにシステムが適切な温度になるよう冷却制御が行われますが、大規模システムでは温度測定から冷却制御までに時間差があるため、部品に対する大きな温度変動や、冷却システムの過剰な電力消費が問題となっています。この問題解決に向けて、Energy Efficient HPC Working Group(EE HPC WG) では、液冷システムを対象に、液冷ループ内で温度が観測される前に熱負荷を予測する次世代システムへの拡張に取り組んでいます。この取り組みによって効率的な冷却制御による電力とエネルギーの節約、および部品温度安定化によるシステムパフォーマンスの向上が期待できます。
本セクションでは最近の取り組み内容と、次世代システム実現に向けた議論が行われました。また、オークリッジ国立研究所で稼働中のFrontierの冷却システムに関する紹介も行われました。会場の参加者から数多くの意見があり、冷却システムに対する関心の高さを強く感じました。今回のセッションを通してHPCの冷却設計の重要性をあらためて認識し、非常に良い経験となりました。
Sunfish: An Open Ecosystem to Define a Composable Disaggregated Systems Management Framework
CXL(Compute Express Link)と、CXLのユースケースであるCDI(Composable Disaggregated Infrastructure)に関する取り組みの一つのSunfishについて聴講しました。
CXLはCPU・メモリデバイス・アクセラレータ(GPU等)間でのキャッシュコヒーレンシを実現するインターコネクトの仕様で、1.0版が2019年3月、1.1版が2019年9月、2.0版が2020年12月、3.0版が2022年8月、3.1版が2023年12月にそれぞれリリースされました。
1.0版と1.1版では、筐体内のCXLデバイス(CPU・メモリデバイス・アクセラレータ)間で、CPU上のエージェントによるキャッシュコヒーレンシ実現に主眼が置かれていました。CXLでは、CXLプロトコルに対応したデバイスを次の3つのタイプに分類しています。
- Type-1デバイス:CPUメモリのコヒーレンシを担保したキャッシュを必要とする
- Type-2デバイス:Type-1に加えてデバイス自身のメモリをCPUからアクセス可能とする
- Type-3デバイス:CPUや他CXLデバイスからアクセス可能なメモリ領域を提供する
2.0版では、CXLスイッチで接続されたCPU搭載の筐体(ホスト)とCXLデバイスの間でメモリアクセスとキャッシュコヒーレンシを実現する、筐体外のHWリソースプールに範囲が拡大しました。また、CXLに対応したメモリデバイスのメモリ領域を分割し、各領域を複数のホストに割り当てる機能・Persistent Memoryのサポート・ホスト-CXLデバイス間の暗号化・ホットプラグ機能も導入されました。
3.0版では、CXLスイッチ・ホスト・CXLデバイスをツリー構造以外のトポロジで接続できるようになりました。また、コヒーレンシを維持した状態で異なるホストからCXLスイッチに繋がれたメモリ領域にアクセスする機能や、CXLデバイスからホストCPU上のエージェントに対するメモリのInvalidate通知機能も導入されました。3.1版では、同一ホストに接続したType-2デバイス・Type-3デバイス間でP2Pのメモリアクセスが可能になり、TEE(Trusted Execution Environments)によるConfidential Computingにも対応しました。
CXL 2.0に対応したメモリをブースで展示しているベンダも参加していました。CXLスイッチやCXL 3.1向けソフトウェア/ハードウェア開発を目的とした、FPGAベースの開発キット・CXLデバイス向けコントローラチップが紹介されていました。CXL 2.0対応メモリはLinuxディストリビュータによる認証済みで、CXLを実際に利用できる状況にあることと、最新のCXL仕様を実装するために開発が活発に行われていることを実感しました。
CXLスイッチによるホストとCXLデバイスの動的な接続のように、ニーズに応じてリソースプール内の計算リソースを動的に組み合わせて提供する基盤をCDIと呼びます。2.0版からCXLスイッチによるホストとCXLデバイスの動的接続・Type-3デバイスの分割が可能になり、CDIにも対応できるようになりました。これにより、ホスト-CXLデバイス間の接続やCXLデバイスの設定管理が必要になりますが、CXLではこれらを実施する主体をFabric Managerと定義しています。 リソースプール内の計算リソース組み合わせに必要な情報や各デバイスの設定管理はCDIにおける課題ですが、OpenFabric AllianceのSunfishプロジェクトではこの課題に取り組んでいます。Sunfishは、DMTFのRedfishプロトコルをベースに計算リソースの接続形態・デバイス設定を表現するデータ形式と、CXL Fabric Manager等の計算リソース管理機能との連携に必要なフレームワークを策定しています。
SC24ではSunfishのBoFに参加し、クラウド上のSunfishサーバからオンプレ上のFabric Managerを設定する方法や、計算センターのリソース管理OSS「Flux」におけるSunfish対応への取り組みについて聴講しました。Sunfishサーバが単一障害点となり得る点や、採用している認証認可方式について気になる点はありましたが、CDI実現に向けて様々な取り組みが行われていることを実感しました。
MIXQ: Taming Dynamic Outliers in Mixed-Precision Quantization by Online Prediction
LLMに適用する新たな量子化手法に関する論文発表セッションに参加しました。近年注目を集めている大規模言語モデル(LLM)は膨大なパラメータを持つため、推論や学習に多くの計算資源を要します。量子化はモデルのパラメータを少ないビット数で表現することにより、メモリ消費量や計算量を削減する最適化技術で、LLMの普及と実用化を加速させる技術として注目を集めています。量子化手法の1つとして、重みのみを量子化するWeight-only Quantizationがありますが、量子化範囲内に外れ値が存在すると、外れ値に引きずられて精度が大きく劣化する問題があります。Mixed-precision Quantizationは、重みの中で外れ値の大きい部分を量子化の対象外とすることにより、精度と計算量のバランスを取ることができる手法として注目されています。しかし、外れ値を検出するための新たな計算が必要となるため、そのオーバーヘッド削減が課題となっていました。
MixQは外れ値の局所性に着目し、Mixed-precision Quantizationにおける外れ値検出のオーバーヘッドを削減する手法を提案しています。本論文では、LLMの各層におけるパラメータの値を調査しており、外れ値が発生したチャンネルは後続の同チャンネルでも外れ値が発生する確率が高いと述べています。本論文では、外れ値が発生したチャンネルについては、後続の同チャンネルについても外れ値が存在すると想定することで、外れ値の検出コストを削減しています。また、量子化を適用した重みとそれ以外の重みの計算を効率的に行うデータ構造の導入に加え、量子化・逆量子化処理と他の演算カーネルを融合することで、PerplexityとMMLUを使った精度評価において精度劣化を1%に抑え、FP16に対して1.5倍~2.3倍の高速化を実現しています。
LLMはFUJITSU-MONAKAとしても重要なユースケースとして考えており、限られた計算資源の中で効率的にモデルを実行できる量子化技術は注目すべき技術であると考えています。今回、セッションに参加したことでLLM量子化の重要性や現状の量子化技術における課題を改めて確認できたことはとても有意義でした。今後も引き続き、量子化技術に関する最新動向を把握し、FUJITSU-MONAKAを活用できる領域を広げていく予定です。
おわりに
SC24へのFUJITSU-MONAKAの展示は、世界中の様々な企業で活躍する技術者と議論できる貴重な機会となりました。ハードウェアに関する質問が多く寄せられ、FUJITSU-MONAKAへの注目度の高さを改めて実感しました。また、富士通のソフトウェア関連の取り組みについても好評で、今後の活動の大きな励みとなりました。 FUJITSU-MONAKAと富士通のArmエコシステムへの貢献を、より多くの方に知っていただくため、今後も様々な展示会などで積極的にアピールしていきたいと思います。
謝辞
この成果は、NEDO (国立研究開発法人新エネルギー・産業技術総合開発機構) の助成事業の結果得られたものです。