言語モデルをより小さく高速にするためのブロック疎行列
Block Sparse Matrices for Smaller and Faster Language Models
Hugging Faceは、言語モデルの効率化を目指し、ブロック疎行列を扱う新しいライブラリ「pytorch_block_sparse」をリリースした。このライブラリは、既存の`torch.nn.Linear`モジュールと置き換え可能な`BlockSparseLinear`モジュールを提供し、モデルのサイズを小さくし、推論速度を向上させる。これは、ニューラルネットワークの層が密である必要はなく、枝刈りしても精度を大きく損なわないという仮説に基づいている。このライブラリは、C++ CUDAテンプレートとCUTLASSを利用してブロック疎行列の乗算を実装しており、特にNVIDIA Ampere世代のTensor Coreとの互換性により、大幅な高速化が期待できる。現在のところ、疎行列のパフォーマンスは密行列の最適化された実装より遅いが、疎行列の割合が増えるにつれてパフォーマンスの向上は顕著になり、例えば75%疎な行列では密行列の約2倍の速度になる。メモリ消費量も疎行列の割合に応じて大幅に削減され、75%疎な行列ではメモリ使用量が4分の1になる。将来的には、学習中に疎行列パターンを最適化する機能の追加が予定されている。
- Hugging Faceがブロック疎行列ライブラリ「pytorch_block_sparse」をリリース
Hugging Faceが公開したブロック疎行列ライブラリ「pytorch_block_sparse」は、LLMの推論コスト削減とメモリ効率化に直接寄与する技術である。75%疎な行列で密行列の約2倍の速度、メモリ使用量4分の1という性能向上は、クラウド推論インフラの運用コスト削減やエッジデバイスへのLLM搭載を現実的にする。オープンソースで提供されている点も普及を後押しし、AIモデルの効率化を競うエコシステム全体にとって重要な進展といえる。NVIDIA Ampere世代以降のGPUで効果を発揮するため、GPUベンダーにとっても追い風となる。