昨年の初め、Google は論文「Fast Differentiable Sorting and Ranking」で、O(nlogn) の時間計算量と O(n) の空間計算量を持つ初の微分可能ソート アルゴリズムを発表しました。これは、既存の方法よりも桁違いに高速です。 最近、誰かが GitHub でプロジェクトをオープンソース化しました。これは、ソフトウェア パッケージの形式で高速な微分ソートとランキングを実装したものです。このプロジェクトは数日間オンラインになり、300 以上のスターを獲得しました。
トーチソート Torchsort は、Blondel らによって提案された高速微分ソートおよびランキングを実装し、純粋な PyTorch で実装されています。コードの大部分は、プロジェクト「google-research/fast-soft-sort」のオリジナルの Numpy 実装からコピーされており、高速パフォーマンスのためにカスタム C++ および CUDA カーネルが使用されています。 Torchsort のインストールは非常に簡単です。一般的に使用されている pip インストール方法を使用できます。インストール コードは次のとおりです。
CUDA 拡張機能をビルドする場合は、CUDA ツールチェーンをインストールする必要があります。 CUDA 以外のランタイム環境で docker などのアプリケーションをビルドする場合は、インストール前に環境変数「TORCH_CUDA_ARCH_LIST="Pascal;Volta;Turing"」をエクスポートする必要があります。 使い方 torchsort には、soft_rank と soft_sort という 2 つの関数があり、それぞれに、regularization (l2 または kl) (正規化関数) とregularization_strength (スカラー値) というパラメーターがあります。それぞれは、正規化の強度に応じて精度を変えながら、2D テンソルの最後の次元をソートします。
どちらの操作も完全に微分可能であり、次のように CPU または GPU に実装できます。
表示例 スピアマン順位係数は、2 つの変数間の単調な相関を測定するのに非常に役立つ指標です。 Torchsort を使用して微分可能なスピアマン順位係数関数を作成し、そのメトリックに対してモデルを直接最適化することができます。
ベンチマーク torchsort と fast_soft_sort はどちらも時間計算量が O(n log n) で、組み込みの torch.sort と比較してオーバーヘッドが若干追加されます。 Numba JIT のバッチ サイズが 1 の場合 (左の図を参照)、fast_soft_sort のフォワード パスは Torchsort CPU カーネルとほぼ同じパフォーマンスを発揮しますが、バックワード パスは依然として一部の Python コードに依存しているため、パフォーマンスが大幅に低下します。 さらに、torchsort カーネルはバッチ処理をサポートしており、バッチ サイズが大きくなるにつれて fast_soft_sort よりも優れたパフォーマンスが得られます。 トーチソート CUDA カーネルは、2000 未満のシーケンス長では優れたパフォーマンスを発揮し、非常に大きなバッチに拡張できます。将来的には、CUDA カーネルがさらに最適化され、組み込みの torch.sort に近いパフォーマンスが実現される可能性があります。 |
<<: 2025年までに音声認識市場は267億9000万ドルに達する
>>: NLP を上手に使いこなすには、適切な「武器」が必要です。GLUE で 1 位にランクされている武器をご存知ですか?
AI は、従来のプロセスや従来のテクノロジーにまき散らされた魔法の精霊ではなく、ビジネスのやり方を根...
OpenAI が最初に Sora を作成した理由は何ですか?現在、世界中の研究者、エンジニア、投資家...
[[378869]]前回の記事「仮想 DOM が実際の DOM に進化する方法」では、仮想 DOM ...
保険業界の企業や顧客にとって AI がどのように役立つか、また代理店向けの最新のポリシーについて説明...
はじめに: AI 開発についてさらに詳しく知りたいですか? この記事では、AIプログラムを作成する際...
移動ロボットは、環境認識、動的意思決定と計画、行動制御と実行などの複数の機能を統合した総合システムで...
海外メディアの報道によると、マイクロソフトは2月26日、生成AIシステムのリスクを積極的に特定するた...
数学は科学の基礎として、常に研究と革新の重要な分野となってきました。最近、プリンストン大学と他の 7...
人工知能の黄金時代を迎え、画像合成技術はかつてない速さで発展しています。単純な画像編集から複雑なシー...
C# 言語は、まだ比較的一般的なものです。ここでは、バブル ソート、選択ソート、挿入ソート、シェル ...
AIビデオ生成は最近最もホットな分野の一つです。さまざまな大学の研究室、インターネット大手の AI ...
LDA (潜在的ディリクレ分布) や Biterm などの統計トピック モデルを適用することで、大量...
真の人工知能技術がまだ成熟していないため、人間が自律知能に対して想定するリスクは、高度な知能を持つロ...
1. サイバーセキュリティにおける人工知能の応用1. 応用人工知能は、ネットワーク セキュリティにお...