FlashML-org/flashlib

Fast and memory-efficient classical machine learning operators

何を解決するか

FlashLib は、クラスタリング、次元削減、回帰などの古典的機械学習演算子の高性能 GPU 実装を提供します。これらはしばしば現代のディープラーニングカーネルよりも遅く、効率が悪いです。このライブラリは、伝統的な ML タスクに「Flash」スタイルの最適化の効率をもたらすことを目指しています。

仕組み

Triton と CuteDSL を基盤として構築されており、幅広いプリミティブをトップレベル関数および scikit-learn 風のクラスとして実装しています。特に、高再現率を求める IVFFlat、メモリ圧縮を目的とした IVFPQ、近接グラフ上で融合グリーディ探索を使用した高スループット検索を実現する CAGRA といった、特別な近似最近傍(ANN)インデックスを含んでいます。

対象ユーザー

大規模なデータセット上で GPU を使って古典的 ML アルゴリズムを実行したいデータサイエンティストや ML エンジニア。

特徴

  • 広範なカバー範囲: クラスタリング、最近傍、分解、多様体学習、回帰、分類の各分野にまたがる 18 の高レベルプリミティブを含む。
  • 最適化された ANN 検索: 速度、再現率、メモリ使用量のバランスを取るための複数のインデックス戦略(IVF-Flat、IVF-PQ、CAGRA)を提供。
  • 多精度 GEMM: TF32、BF16、FP16、Int8 などの GEMM バリアントをパレート前線に沿って提供し、精度とパフォーマンスの柔軟な選択を可能にする。
  • リソース推定: GPU や重いインポートを必要とせずに CPU 上で実行時間、FLOPs、HBM バイト数を予測する flashlib.info サブモジュールを提供。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト