論文の概要: Deep Learning Models on CPUs: A Methodology for Efficient Training
- arxiv url: http://arxiv.org/abs/2206.10034v1
- Date: Mon, 20 Jun 2022 22:42:14 GMT
- ステータス: 処理完了
- システム内更新日: 2022-06-22 14:28:20.009768
- Title: Deep Learning Models on CPUs: A Methodology for Efficient Training
- Title(参考訳): CPU上のディープラーニングモデル:効率的なトレーニングの方法論
- Authors: Quchen Fu, Ramesh Chukka, Keith Achorn, Thomas Atta-fosu, Deepak R.
Canchi, Zhongwei Teng, Jules White, and Douglas C. Schmidt
- Abstract要約: 本稿では,CPUを用いた深層学習モデルの学習にいくつかの貢献をする。
これは、Intel CPU上でディープラーニングモデルのトレーニングを最適化する手法と、ProfileDNNと呼ばれるツールキットを提供する。
- 参考スコア(独自算出の注目度): 1.7150798380270715
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: GPUs have been favored for training deep learning models due to their highly
parallelized architecture. As a result, most studies on training optimization
focus on GPUs. There is often a trade-off, however, between cost and efficiency
when deciding on how to choose the proper hardware for training. In particular,
CPU servers can be beneficial if training on CPUs was more efficient, as they
incur fewer hardware update costs and better utilizing existing infrastructure.
This paper makes several contributions to research on training deep learning
models using CPUs. First, it presents a method for optimizing the training of
deep learning models on Intel CPUs and a toolkit called ProfileDNN, which we
developed to improve performance profiling. Second, we describe a generic
training optimization method that guides our workflow and explores several case
studies where we identified performance issues and then optimized the Intel
Extension for PyTorch, resulting in an overall 2x training performance increase
for the RetinaNet-ResNext50 model. Third, we show how to leverage the
visualization capabilities of ProfileDNN, which enabled us to pinpoint
bottlenecks and create a custom focal loss kernel that was two times faster
than the official reference PyTorch implementation.
- Abstract(参考訳): GPUは、高度に並列化されたアーキテクチャのため、ディープラーニングモデルのトレーニングに好まれている。
その結果、トレーニング最適化に関するほとんどの研究はGPUに焦点を当てている。
しかし、トレーニング用の適切なハードウェアを選択する方法を決定する際には、コストと効率のトレードオフがしばしばあります。
特にcpuサーバは、ハードウェア更新コストが少なく、既存のインフラをより活用できるため、cpu上でのトレーニングがより効率的であれば有益である。
本稿では,CPUを用いた深層学習モデルの学習にいくつかの貢献をする。
まず、intel cpu上でディープラーニングモデルのトレーニングを最適化する手法と、パフォーマンスプロファイリングを改善するために開発したprofilednnと呼ばれるツールキットを提案する。
第2に、ワークフローをガイドし、パフォーマンス問題を特定するいくつかのケーススタディを探索し、PyTorch用のIntel Extensionを最適化することで、RetinaNet-ResNext50モデル全体の2倍のトレーニングパフォーマンスが向上する。
第3に、PyTorchの公式実装の2倍高速な、ボトルネックの特定とカスタム焦点損失カーネル作成を可能にするProfileDNNの可視化機能を活用する方法を示す。
関連論文リスト
- Harnessing Deep Learning and HPC Kernels via High-Level Loop and Tensor Abstractions on CPU Architectures [67.47328776279204]
この研究は、効率的でポータブルなDeep LearningとHigh Performance Computingカーネルを開発するためのフレームワークを導入している。
1)プロセッシングプリミティブ(TPP)を用いた計算コアの表現と,2)高レベルな宣言的手法でTPPのまわりの論理ループの表現の2つのステップでカーネルの開発を分解する。
我々は、スタンドアロンカーネルと、さまざまなCPUプラットフォームにおける最先端実装よりも優れたエンドツーエンドワークロードを使用して、このアプローチの有効性を実証する。
論文 参考訳(メタデータ) (2023-04-25T05:04:44Z) - RAF: Holistic Compilation for Deep Learning Model Training [17.956035630476173]
本稿では,学習のための深層学習コンパイラであるRAFについて述べる。
既存のDLCとは異なり、RAFはフォワードモデルを受け入れ、社内でトレーニンググラフを生成する。
RAFは、パフォーマンス、メモリ、分散トレーニングのためのグラフ最適化を体系的に統合することができる。
論文 参考訳(メタデータ) (2023-03-08T17:51:13Z) - Slapo: A Schedule Language for Progressive Optimization of Large Deep
Learning Model Training [17.556432199389615]
Slapoは、テンソルレベルの演算子の実行をその算術的定義から切り離すスケジュール言語である。
SlapoはNVIDIA V100 GPUを8台搭載した1台のマシンで最大2.92倍のトレーニングスループットを向上できることを示す。
論文 参考訳(メタデータ) (2023-02-16T00:34:53Z) - Intelligence Processing Units Accelerate Neuromorphic Learning [52.952192990802345]
スパイキングニューラルネットワーク(SNN)は、エネルギー消費と遅延の観点から、桁違いに改善されている。
我々は、カスタムSNN PythonパッケージsnnTorchのIPU最適化リリースを提示する。
論文 参考訳(メタデータ) (2022-11-19T15:44:08Z) - VeLO: Training Versatile Learned Optimizers by Scaling Up [67.90237498659397]
私たちは、ディープラーニングの成功の背後にある同じスケーリングアプローチを活用して、汎用性を学びます。
私たちは、パラメータの更新を取り込み出力する小さなニューラルネットワークであるディープラーニングのためのインジェクションをトレーニングします。
学習したメタトレーニングコード、関連するトレインテストデータ、およびvelo-code.ioのベースラインを備えた広範なベンチマークスイートをオープンソースとして公開しています。
論文 参考訳(メタデータ) (2022-11-17T18:39:07Z) - Scheduling Optimization Techniques for Neural Network Training [3.1617796705744547]
本稿では,ニューラルネットワークトレーニングに有効なスケジューリング手法であるアウト・オブ・オーダー(oo)バックプロップを提案する。
単一GPU、データ並列、パイプライン並列トレーニングにおけるGPU利用は、ooobackpropを適用することで、一般的に改善できることを示す。
論文 参考訳(メタデータ) (2021-10-03T05:45:06Z) - Computational Performance Predictions for Deep Neural Network Training:
A Runtime-Based Approach [1.5857983167543392]
本稿では,ユーザが情報と費用効率のよいGPU選択を行うための,新しい実践手法を提案する。
我々は、(i)ウェーブスケーリング、または(ii)GPUの実行モデルに基づく技術、または(ii)事前訓練されたマルチレイヤーパーセプトロンを用いて、トレーニングイテレーション中の各操作の実行時間を1つのGPUから別のGPUにスケーリングすることで予測を行う。
この手法をSurferというPythonライブラリに実装し、ResNet-50、Inception v3、Transformer、GNMT、DCGANで正確なイテレーション実行時間予測を行う。
論文 参考訳(メタデータ) (2021-01-31T20:17:46Z) - Optimising the Performance of Convolutional Neural Networks across
Computing Systems using Transfer Learning [0.08594140167290096]
本稿では,パフォーマンスモデリングの機械学習に基づくアプローチにより,長大なプロファイリングステージを置き換えることを提案する。
トレーニング後、我々のパフォーマンスモデルは任意のレイヤ構成における畳み込みプリミティブのパフォーマンスを推定できる。
プリミティブ選択による大規模ニューラルネットワークの実行を最適化する時間は、数時間から秒に短縮される。
論文 参考訳(メタデータ) (2020-10-20T20:58:27Z) - Tasks, stability, architecture, and compute: Training more effective
learned optimizers, and using them to train themselves [53.37905268850274]
我々は、自動正規化を実現するために、バリデーション損失などの追加機能にアクセス可能な、階層的で階層的なニューラルネットワークパラメータ化を導入した。
ほとんどの学習は単一のタスク、あるいは少数のタスクでトレーニングされています。
何千ものタスクをトレーニングし、桁違いに計算量を増やし、その結果、目に見えないタスクよりも優れたパフォーマンスの一般化を実現します。
論文 参考訳(メタデータ) (2020-09-23T16:35:09Z) - Optimizing Memory Placement using Evolutionary Graph Reinforcement
Learning [56.83172249278467]
大規模検索空間を対象とした進化グラフ強化学習(EGRL)を提案する。
我々は、推論のために、Intel NNP-Iチップ上で、我々のアプローチを直接訓練し、検証する。
また,NNP-Iコンパイラと比較して28~78%の高速化を実現している。
論文 参考訳(メタデータ) (2020-07-14T18:50:12Z) - PolyScientist: Automatic Loop Transformations Combined with Microkernels
for Optimization of Deep Learning Primitives [55.79741270235602]
深層学習カーネル開発のためのハイブリッドソリューションを開発する。
我々は、高度な多面体技術を用いて、パフォーマンスのために外部ループを自動的に調整する。
論文 参考訳(メタデータ) (2020-02-06T08:02:34Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。