論文の概要: FLInt: Exploiting Floating Point Enabled Integer Arithmetic for
Efficient Random Forest Inference
- arxiv url: http://arxiv.org/abs/2209.04181v1
- Date: Fri, 9 Sep 2022 08:36:12 GMT
- ステータス: 処理完了
- システム内更新日: 2022-09-12 13:09:09.787271
- Title: FLInt: Exploiting Floating Point Enabled Integer Arithmetic for
Efficient Random Forest Inference
- Title(参考訳): FLInt:効率的なランダム森林推定のための整数算術可能な浮動小数点の爆発
- Authors: Christian Hakert, Kuan-Hsun Chen, Jian-Jia Chen
- Abstract要約: 本稿では,無作為林のフル精度浮動小数点比較であるmdnameを提案する。
我々はmdnamein低レベル実現を実装しており、浮動小数点ハードウェアを完全に不要にしている。
X86 と ARMv8 デスクトップおよびサーバクラスシステムの実験的評価により,新しいアプローチで実行時間を最大30%削減できることがわかった。
- 参考スコア(独自算出の注目度): 3.667549316391049
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: In many machine learning applications, e.g., tree-based ensembles, floating
point numbers are extensively utilized due to their expressiveness. Nowadays
performing data analysis on embedded devices from dynamic data masses becomes
available, but such systems often lack hardware capabilities to process
floating point numbers, introducing large overheads for their processing. Even
if such hardware is present in general computing systems, using integer
operations instead of floating point operations promises to reduce operation
overheads and improve the performance.
In this paper, we provide \mdname, a full precision floating point comparison
for random forests, by only using integer and logic operations. To ensure the
same functionality preserves, we formally prove the correctness of this
comparison. Since random forests only require comparison of floating point
numbers during inference, we implement \mdname~in low level realizations and
therefore eliminate the need for floating point hardware entirely, by keeping
the model accuracy unchanged. The usage of \mdname~basically boils down to a
one-by-one replacement of conditions: For instance, a comparison statement in
C: if(pX[3]<=(float)10.074347) becomes
if((*(((int*)(pX))+3))<=((int)(0x41213087))). Experimental evaluation on X86
and ARMv8 desktop and server class systems shows that the execution time can be
reduced by up to $\approx 30\%$ with our novel approach.
- Abstract(参考訳): 木に基づくアンサンブルのような多くの機械学習アプリケーションでは、浮動小数点数は表現力のために広く利用される。
現在、組み込みデバイスで動的データマスからデータ分析を行うことができるが、そのようなシステムは浮動小数点数を処理するハードウェア機能に欠けており、処理のオーバーヘッドが大きい。
このようなハードウェアが一般のコンピュータシステムに存在しているとしても、浮動小数点演算の代わりに整数演算を用いることで演算オーバーヘッドを減らし、性能を向上させることができる。
本稿では、整数演算と論理演算のみを用いることで、ランダムな森林に対する完全精度浮動小数点比較である \mdname を提供する。
同じ機能を維持するために、この比較の正しさを正式に証明します。
ランダムフォレストでは、推定中に浮動小数点数を比較するだけでよいため、低レベル実現において \mdname~ を実装し、モデルの精度を保ちながら浮動小数点ハードウェアを完全に不要にする。
例えば、c における比較文 if(px[3]<=(float)10.074347) は if(*(((int*)(px))+3))<=((int)(0x41213087)) となる。
X86 と ARMv8 のデスクトップおよびサーバクラスシステムに対する実験的評価により,我々の新しいアプローチにより,実行時間を $\approx 30\% まで短縮できることがわかった。
関連論文リスト
- Addition is All You Need for Energy-efficient Language Models [13.063639073834906]
浮動小数点乗算器は高い精度で1つの整数加算器で近似することができる。
浮動小数点数乗算と整数加算演算を近似した線形複雑度乗算L-Mulアルゴリズムを提案する。
論文 参考訳(メタデータ) (2024-10-01T17:53:28Z) - KGym: A Platform and Dataset to Benchmark Large Language Models on Linux Kernel Crash Resolution [59.20933707301566]
大規模言語モデル(LLM)は、ますます現実的なソフトウェア工学(SE)タスクにおいて一貫して改善されている。
現実世界のソフトウェアスタックでは、Linuxカーネルのような基本的なシステムソフトウェアの開発にSEの取り組みが費やされています。
このような大規模システムレベルのソフトウェアを開発する際にMLモデルが有用かどうかを評価するため、kGymとkBenchを紹介する。
論文 参考訳(メタデータ) (2024-07-02T21:44:22Z) - Shedding the Bits: Pushing the Boundaries of Quantization with Minifloats on FPGAs [39.410068572891475]
後トレーニング量子化(PTQ)はモデル圧縮の強力な技術であり、追加のトレーニングオーバーヘッドなしにニューラルネットワークの数値精度を低下させる。
近年,モデル推論におけるPTQの文脈における8ビット浮動小数点形式(FP8)の適用について検討している。
本稿では,モデルのメモリフットプリント,レイテンシ,エネルギーコストをさらに削減できる,精度の低い浮動小数点形状のミニフロートを提案する。
論文 参考訳(メタデータ) (2023-11-21T05:27:16Z) - Compressed Real Numbers for AI: a case-study using a RISC-V CPU [2.0516276923852415]
我々は、機械学習アプリケーションにおいて、バイナリ32数値を圧縮する興味深い結果を得た2種類のフォーマットに焦点を当てる。
本稿では,計算直前に浮動小数点のテンソルを分解する方法を提案する。
論文 参考訳(メタデータ) (2023-09-11T07:54:28Z) - INR-Arch: A Dataflow Architecture and Compiler for Arbitrary-Order
Gradient Computations in Implicit Neural Representation Processing [66.00729477511219]
計算グラフとして表される関数を考えると、従来のアーキテクチャはn階勾配を効率的に計算する上で困難に直面している。
InR-Archは,n階勾配の計算グラフをハードウェア最適化データフローアーキテクチャに変換するフレームワークである。
1.8-4.8x と 1.5-3.6x の高速化を CPU と GPU のベースラインと比較した結果を示す。
論文 参考訳(メタデータ) (2023-08-11T04:24:39Z) - PARTIME: Scalable and Parallel Processing Over Time with Deep Neural
Networks [68.96484488899901]
PartIMEは、データが継続的にストリーミングされるたびにニューラルネットワークを高速化するように設計されたライブラリです。
PartIMEは、ストリームから利用可能になった時点で、各データサンプルの処理を開始する。
オンライン学習において、PartialIMEと古典的な非並列ニューラル計算を経験的に比較するために実験が行われる。
論文 参考訳(メタデータ) (2022-10-17T14:49:14Z) - GPU-Accelerated Optimizer-Aware Evaluation of Submodular Exemplar
Clustering [5.897728689802829]
サブモジュール関数の最適化は、クラスタリングを実行する実行可能な方法を構成する。
強近似保証と実現可能な最適化 w.r.t.
ストリーミングデータはこのクラスタリングアプローチが好都合です
exemplarベースのクラスタリングは、可能なサブモジュラー関数の1つであるが、高い計算複雑性に苦しむ。
半精度のGPU計算は、シングル精度のシングルスレッドCPU計算と比較して452倍の高速化を実現した。
論文 参考訳(メタデータ) (2021-01-21T18:23:44Z) - FBGEMM: Enabling High-Performance Low-Precision Deep Learning Inference [1.1292678337479967]
fbgemmは、次世代cpuの高性能量子化推論のための高性能カーネルライブラリである。
fbgemmは、高速なgem実装で共通量子化演算を融合させ、実行時に形状およびサイズ固有のカーネルコード生成によって効率を向上する。
このライブラリはfacebookにデプロイされ、現在のプロダクションベースラインの2倍以上のパフォーマンス向上を実現しています。
論文 参考訳(メタデータ) (2021-01-13T00:34:04Z) - I-BERT: Integer-only BERT Quantization [78.43819756382103]
トランスフォーマーモデルのための新しい量子化手法であるI-BERTを提案する。
I-BERTは浮動小数点演算なしでエンドツーエンドの整数のみのBERT推論を実行する。
いずれの場合も,I-BERTは全精度ベースラインと同等(かつ若干高い)精度が得られた。
論文 参考訳(メタデータ) (2021-01-05T02:42:58Z) - AQD: Towards Accurate Fully-Quantized Object Detection [94.06347866374927]
本稿では,浮動小数点演算を除去するために,AQDと呼ばれる高精度な量子化オブジェクト検出ソリューションを提案する。
我々のAQDは、非常に低ビットのスキームの下での完全精度と比較して、同等またはそれ以上の性能を実現しています。
論文 参考訳(メタデータ) (2020-07-14T09:07:29Z) - Kernel methods through the roof: handling billions of points efficiently [94.31450736250918]
カーネル法は、非パラメトリック学習に対するエレガントで原則化されたアプローチを提供するが、今のところ大規模な問題ではほとんど利用できない。
最近の進歩は、最適化、数値線形代数、ランダム射影など、多くのアルゴリズム的アイデアの利点を示している。
ここでは、これらの取り組みをさらに進めて、GPUハードウェアを最大限に活用する解決器を開発し、テストする。
論文 参考訳(メタデータ) (2020-06-18T08:16:25Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。