DL Boostは、x86-64プラットフォームにおける一連の命令セットアーキテクチャ(ISA)機能に対してIntelが使用するマーケティング名称であり、トレーニングや推論などの深層学習タスクのパフォーマンス向上を目的としている。これらの機能は、Skylake-SP世代のサーバープロセッサを継承したCascade Lakeアーキテクチャで導入された。DL Boostは、畳み込みニューラルネットワークやトランスフォーマーベースのモデルを含む人工知能アプリケーションで一般的なワークロードを対象とし、特定の数学演算に対するハードウェアレベルのアクセラレーションを提供する。
この取り組みは、チップメーカーが機械学習ワークロード向けの専用命令を追加し、汎用コンピューティング機能を補完するという広範なトレンドを反映している。IntelはDL Boostを、GPUなどの専用アクセラレータを必要とせずに、標準的なx86サーバー上でAI推論とトレーニングのコストとレイテンシを削減する手段として位置づけた。
命令セットの機能
DL Boostは、主に2つの命令セットで構成される。最初のセットであるAVX-512 VNNI(ベクトルニューラルネットワーク命令)は、4VNNIWまたはAVX-VNNIとも呼ばれ、画像認識モデルなどの畳み込みに依存するニューラルネットワークを主に対象とした高速乗算累積演算を提供する。これらの命令は512ビットベクトルで動作し、クロックサイクルあたり複数の演算を可能にする。
2番目のセットであるAVX-512 BF16は、bfloat16浮動小数点形式のサポートを導入する。これは、標準的なfloat32の指数範囲を保持しつつ、仮数部の精度を削減した16ビット表現である。この形式は低精度計算向けに設計されており、許容可能なモデル精度を維持しながらトレーニングと推論を高速化できる。命令には、float32とbfloat16間の変換、および複数の値を効率的に組み合わせるドット積演算が含まれる。
両方の機能セットは、Cascade Lakeプロセッサ以降の世代で利用可能であり、Ice Lakeやその後のサーバーおよびクライアント製品も含まれる。これらの命令は、標準的なコンパイラおよびランタイムサポートを通じてソフトウェアに公開され、TensorFlowやPyTorchなどのフレームワークが自動的に活用できるようにしている。
パフォーマンスとベンチマーク
Google Cloud Platform Compute Engineで実行されたTensorFlowベースのベンチマークでは、DL Boostがこれらの命令を持たない従来のIntel CPUと比較してパフォーマンスを向上させ、コストを削減できることが実証された。このベンチマークは、スループットよりもレイテンシが重要となるリアルタイム推論シナリオで一般的な、小さなバッチサイズに対して特に利点を示した。
GPUと比較して、このベンチマークは、DL Boostを搭載したCPUが、特にモデルが小さい場合やバッチサイズが限られている場合に、特定のワークロードで競争力のある、または優れたコスト効率を提供できることを示した。これは、CPUが個別GPUを使用する際に必要な、別々のメモリ空間間でのデータ転送のオーバーヘッドを回避するためである。結果は、Andres RodriguesらによるIntelのホワイトペーパー「Lower Numerical Precision Deep Learning Inference and Training」で公開された。
ソフトウェアエコシステムと採用
DL Boostのサポートは、主要な深層学習フレームワークとコンパイラツールチェーンに統合された。Intel自身のOpenVINOツールキットとoneAPI Deep Neural Network Library(oneDNN)は、これらの命令用に最適化されたパスを提供する。TensorFlowやPyTorchを含むサードパーティのフレームワークも、AVX-512 VNNIおよびBF16のバックエンドサポートを追加し、開発者がモデルを変更せずに恩恵を受けられるようにした。
もともとGoogle Brainによって開発されたbfloat16形式は、業界全体でより広く採用され、他のハードウェアベンダーもこれを実装している。IntelがDL BoostにBF16を含めたことで、x86プラットフォームでの形式標準化が促進され、トレーニングと推論システム間の相互運用性が容易になった。
他のアクセラレータとの比較
DL Boostは、AWS Trainium、Groqのテンソルストリーミングプロセッサ、GraphcoreのIPUなどの専用AIアクセラレータと競合する。これらの専用チップとは異なり、DL Boostは汎用CPU内で動作するため、追加のハードウェアや複雑なシステム統合が不要である。これにより、すでにx86サーバーを運用している既存のデータセンターにとって魅力的である。
しかし、大規模言語モデルの大規模トレーニングでは、専用アクセラレータが通常、より高い生のスループットとメモリ帯域幅を提供する。DL Boostは、CPUの柔軟性が有利となる推論や小規模なトレーニングタスクでより一般的に使用される。精度と速度のトレードオフは、bfloat16形式によって管理され、多くの場合、モデル品質を維持しながらメモリ使用量と計算時間を削減する。
今後の方向性
Intelは、その後のプロセッサ世代でDL Boostを進化させ続け、より高度な命令を追加し、新興AIワークロードへのサポートを改善した。同社はまた、クラウド環境で広く展開されているXeonスケーラブルプロセッサにDL Boostを統合した。AIモデルが複雑化するにつれて、CPUベースのアクセラレーションの役割は、特に電力効率と低レイテンシが重要となるエッジコンピューティングやリアルタイムアプリケーションにおいて重要であり続けている。
このアプローチは、AMDの類似した命令拡張など、他のx86ベンダーの取り組みと類似しており、ヘテロジニアスコンピューティングへの広範な業界の動きを反映している。DL Boostは、NVIDIAやQualcommなどの企業による専用アクセラレータがますます支配的になるAIハードウェア市場で、Intelが関連性を維持するための戦略の一部である。