2017-05-23 4 views
0

私はGPU(1080 ti)を使ってニューラルネットワークを訓練しました。 GPUのトレーニング速度は、CPUを使用するよりもはるかに優れています。TensorFlowモデルを提供するパフォーマンスにおいてGPUを使用することの影響は何ですか?

現在、私はTensorFlow Servingを使用してこのモデルを提供したいと思います。私はサービングプロセスでGPUを使用してもパフォーマンスに同じ影響があるかどうかを知りたいだけですか?

トレーニングはバッチに適用されますが、推論(サービング)では非同期リクエストが使用されるため、TensorFlowを使用してモデルを提供する際にGPUを使用することをおすすめしますか?

答えて

1

何かを予測するためにグラフ上に多くのテンソル演算を行う必要があります。したがって、GPUは引き続き推論のパフォーマンスを向上させます。このnvidia paperを見てみましょうことは、彼らがTFに自分の作品をテストしていませんが、それはまだ適切である:

我々の結果は、GPUはそれらを作る、最先端の推論 性能とエネルギー効率を提供することを示していますこの分野で訓練されたニューラルネットワークを展開したい人にとっては、 のプラットフォームが最適です。特に では、Titan Xは、16コアXeon E5 CPUよりも5.335〜6.7倍高く、エネルギー効率は3.6〜4.4 倍に達しています。

1

答えが正しければ、トレーニング後にGPUで実行するとほぼ同じスピードアップが得られます。いくつかのマイナーな資格があります。

フィードフォワードの推論では、作業が少なくなっているので、トレーニング中のデータを2回通過しているため、計算に比べてGPUメモリにデータを転送する時間が長くなりますトレーニングよりも。これはおそらく小さな違いです。それが問題(https://github.com/tensorflow/tensorflow/issues/7679)であれば、非同期でGPUをロードできるようになりました。

推論を行うために実際にGPUが必要かどうかは、ワークロードによって異なります。とにかくCPUを使い果たしてしまうような作業負荷が過度に要求されない場合は、計算ワークロードが1サンプルあたり半分以下になるので、1秒あたりの要求数を考慮して、それを達成するためにCPUをオーバーロードします。もしそうなら、GPUを出す時間を!

関連する問題