PyTorch と TensorFlow のベンチマーク: どちらのプラットフォームが NLP モデル推論をより速く実行しますか?

PyTorch と TensorFlow のベンチマーク: どちらのプラットフォームが NLP モデル推論をより速く実行しますか?

PyTorch と TensorFlow のどちらが優れているかという議論は、決して終わることはありません。

オープンソース コミュニティからのサポートと、使い始めることの容易さは重要な基準です。他の人はこう言います: PyTorch は学術界で使用され、TensorFlow は産業界で使用されます。

[[279747]]

しかし、無視できないもう一つの要素があります。それは、両者の実際のパフォーマンスです。

問題ありません。同意しない場合は、テストを実行してください。 !

最近、「Huggingface」のエンジニアが NLP の Transformer モデルを使用して、2 つの主要プラットフォームで一連の推論速度をテストしました。

Huggingface はスタートアップ企業ですが、NLP の分野ではかなりの評価を得ています。1 つの API だけで 27 の NLP モデルを呼び出すことができる GitHub 上のオープンソース プロジェクトは、広く称賛され、15,000 個のスターを獲得しています。

PyTorch と TensorFlow のどちらが速いでしょうか?以下に、詳細な評価データをお伝えします。

動作環境

著者は、PyTorch 1.3.0 と TenserFlow2.0 でそれぞれ CPU と GPU の推論パフォーマンスをテストしました。

2 つの異なる環境における具体的なハードウェア構成は次のとおりです。

  1. CPU の理由: Google Cloud Platform では、32 個の vCPU、120 GB のメモリ、2.3 GHz Intel Xeon プロセッサを搭載した n1-standard-32 ハードウェアを使用しています。
  2. GPU 推論: 12 個の vCPU、40 GB のメモリ、1 つの V100 GPU (16 GB のビデオメモリ) を含む Google Cloud Platform 上のカスタム ハードウェアを使用します。

[[279748]]

推論時間は、ネイティブ Python モジュール timeit を使用してテスト中に測定されます。各実験を30回繰り返し、これらの30個の値を平均して平均推論時間を取得しました。

NLP モデルのバッチ サイズはそれぞれ 1、2、4、8 に設定され、シーケンスの長さは 8、64、128、256、512、1024 です。

テスト結果

さっそく、実行結果をご紹介します。

ほとんどの場合、両方のプラットフォームで同様の結果が得られます。 PyTorch と比較すると、TensorFlow は一般的に CPU では遅くなりますが、GPU では速くなります。

CPU では、PyTorch の平均推論時間は 0.748 秒ですが、TensorFlow の平均推論時間は 0.823 秒です。

GPU では、PyTorch の平均推論時間は 0.046 秒ですが、TensorFlow の平均推論時間は 0.043 秒です。

上記のデータはすべてのモデルの平均結果です。結果は、入力サイズ (バッチ サイズ × シーケンスの長さ) が大きいほど、最終結果への影響が大きくなることを示しています。

入力が大きすぎると、PyTorch はメモリ不足になります。著者らは結果からこれらの部分を削除したため、結果が PyTorch に偏ることになります。

一般的に、PyTorch モデルは TensorFlow モデルよりもメモリ不足になる可能性が高くなります。 Distilled モデルを除き、入力サイズがバッチ サイズ 8 およびシーケンス長 1024 に達すると、PyTorch はメモリ不足になります。

より完全で詳細なリストについては、この記事の最後にある Google ドキュメントのリンクを参照してください。

両プラットフォーム向けのアクセラレーションツール

予備テストに加えて、著者は 2 つのプラットフォームに固有の加速ツールも使用して、モデルの推論速度をどの程度向上できるかを確認しました。

TorchScript は、C++ 環境など、Python に依存せずにさまざまな環境で実行できるシリアル化可能なモデルを作成する PyTorch の方法です。

TorchScript はモデルと入力サイズに大きく依存しているようです。

TorchScript を使用すると XLNet で永続的なパフォーマンス向上が得られますが、XLM で使用すると信頼性が低くなります。

XLM では、TorchScript は小さい入力ではパフォーマンスを向上できますが、大きい入力ではパフォーマンスが低下します。

平均して、TorchScript でトレースされたモデルは、PyTorch でトレースされていない同じモデルよりも推論が 20% 高速に実行されます。

XLA は、TensorFlow モデルを高速化する線形代数コンパイラです。著者らは、一部のモデルのサブグラフをコンパイルする TensorFlow の自動クラスタリング機能を備えた GPU でのみこれを使用しています。結果は次のようになります:

XLA を有効にすると、速度とメモリ使用量が改善され、すべてのモデルのパフォーマンスが向上します。

ほとんどのベンチマークは最大 1.15 倍高速に実行されます。極端なケースでは、特に入力が小さい場合、推論時間が 70% 短縮されます。

最後に、著者は Google ドキュメントのリストに「トレーニング」タブも追加しました。近い将来、2 つのプラットフォームでのトレーニング テストの比較を見ることができるかもしれません。このテストの唯一の障害は資金かもしれません。

ポータル

オリジナルリンク:

https://medium.com/huggingface/benchmarking-transformers-pytorch-and-tensorflow-e291​​7fb891c2

完全なランニングスコアリスト:

https://docs.google.com/spreadsheets/d/1sryqufw2D0XlUH4sq3e9Wnxu5EAQkaohzrJbd5HdQ_w/edit#gid=0

<<:  快手科技のY-tech AI Labが「2019 CCF科学技術賞」を受賞

>>:  すべてのAI公開コースが無料でご利用いただけます! 14 のカテゴリ、230 のコース、6,000 以上の GitHub スター

ブログ    
ブログ    

推薦する

ザッカーバーグは7億ドルの配当金を受け取り、Metaの株価は14%急騰、オープンソース計画は成功したのか?

メタの株価は木曜日の時間外取引で14%近く上昇し、史上最高値に達したが、同社は初の配当を発表した。最...

スマートヘルスケアが業界のトレンドをリード、AI無人薬局の導入が加速

スマート医療産業の急速な発展は、多くの患者に恩恵をもたらしています。伝統的な医療業界をアップグレード...

今後 10 年間で 21 の新しい仕事が生まれます。あなたに何ができるか見てみましょう。

[[242467]]現在観察できるマクロ経済、政治、人口、社会、文化、ビジネス、テクノロジーの一般...

人工知能の6つの主要概念とAIプロジェクトを実装するための7つの考慮事項を1つの記事で理解する

AI はすべての問題を解決できるわけではありませんが、正しく適用すれば短期間で大きな変化をもたらすこ...

人工知能、機械学習、アルゴリズムが施設・資産管理に与える影響

急速に進化する今日のテクノロジーの世界では、「人工知能」、「機械学習」、「アルゴリズム」などの用語が...

ニューラル タンジェント、無限幅のニューラル ネットワーク モデルを作成するための 5 行のコード

[[322852]]この記事はLeiphone.comから転載したものです。転載する場合は、Leip...

JavaScript における一般的なソートアルゴリズムの詳細な説明

諺にこうあります:雷鋒が雷鋒塔を倒し、Java が JavaScript を実装します。 Java ...

RoboFusion: SAM による堅牢なマルチモーダル 3D 検査

この記事は、Heart of Autonomous Driving の公開アカウントから許可を得て転...

顔認識技術はスマート建設現場やスマートコミュニティにどのようなメリットをもたらすのでしょうか?

スマートシティ、スマートコミュニティ、スマート交通は絶えず推進され、普及しており、ユーザーの使用習慣...

...

たった1ミリ低くなれば時間が遅くなります!科学者が初めてミリメートルスケールで一般相対性理論を検証

この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...

人工知能が教室に導入されると、教育プロセスにどのような変化が起こるでしょうか?

人工知能技術の応用により、コースの内容、教授法、教師と生徒の関係が変化しています。人工知能の利用によ...

MLタスクを効率的、迅速、正確に完了するにはどうすればよいでしょうか? 4つのAutoMLライブラリについて学びましょう

自動機械学習 (AutoML) は、データをモデル化するための機械学習モデルの構築プロセスを自動化す...

未来 | 人工知能が人間社会を変える24の方法

今こそ、AI の将来を本当に理解するときです。 AI を取り巻く不安は雇用の減少など多岐にわたります...