ホームページ > 記事 > テクノロジー周辺機器 > TensorFlow for Python がゆっくりと死につつある理由
科学技術の分野では常に「宗派論争」が存在します。さまざまなオペレーティング システム、クラウド プロバイダー、またはディープ ラーニング フレームワークの長所と短所に関する議論であっても、必要なのはビールを数杯飲むだけで、事実は脇に置き去りにされ、人々は自分たちがサポートするテクノロジをめぐって聖杯のように争い始めます。戦争。
IDE についての議論は終わりがないようです。VisualStudio を好む人、IntelliJ を好む人、そして Vim のような昔ながらのエディタを好む人もいます。使い慣れたテキストエディタにはそのユーザーの個性が反映されるとよく言われますが、これは少しばかげているように聞こえるかもしれません。
AI テクノロジーの台頭後、深層学習フレームワーク PyTorch と TensorFlow の 2 つの陣営の間で同様の「戦争」が勃発したようです。どちらの陣営にも多くの支持者がおり、どちらも自分たちの好む枠組みが最適であるという正当な理由がある。
そうは言っても、データはあまりにも明白な事実を示しています。 TensorFlow は、現在最も広く使用されている深層学習フレームワークです。 StackOverflow には毎月、PyTorch のほぼ 2 倍の質問が寄せられます。
しかし一方で、最近は PyTorch の開発が非常に順調で、TensorFlow のユーザーは伸びていません。この記事が掲載されるまで、PyTorch は着実に注目を集めていました。
完全を期すために、以下の画像には TensorFlow とほぼ同時期にリリースされた Keras も示しています。 Keras が近年パフォーマンスを下回っているのは明らかです。その理由は、単に Keras が少し単純で、ほとんどの深層学習実践者のニーズに対して遅すぎるためです。
#PyTorch の人気は依然として高まっていますが、TensorFlow の成長は停滞しています# StackOverflow トレンドのグラフ
TensorFlow の StackOverflow トラフィックは急速に減少しているわけではないかもしれませんが、依然として減少しています。したがって、この下降傾向が今後数年間、特に Python 分野でさらに顕著になると考えるのには十分な理由があります。
PyTorch はより Python 的なフレームワークです
Google によって開発された TensorFlow は、深層学習パーティーで最初に登場したフレームワークの 1 つです。 2015年の終わり。 1つ。ただし、他のソフトウェアと同様、最初のバージョンは常に非常に使いにくいものです。
これが、Meta (Facebook) が TensorFlow と同様の機能を持ちながら、より操作が便利なテクノロジーとして PyTorch の開発を開始した理由です。
TensorFlow 開発チームはこれにすぐに気づき、PyTorch で最も人気のある機能の多くを TensorFlow 2.0 メジャー バージョン アップデートに採用しました。
良い経験則として、ユーザーは PyTorch で実行できることはすべて TensorFlow で実行できるということです。コードを書くのに 2 倍の労力がかかります。今でもそれはそれほど直感的ではなく、非常に不自然な感じがします。
一方、Python を使用するのが好きなユーザーにとって、PyTorch のエクスペリエンスは非常に自然です。
多くの企業や学術機関には、大規模なモデルを構築するために必要な強力なコンピューティング能力がありません。ただし、機械学習に関してはスケールが重要であり、モデルが大きいほどパフォーマンスが向上します。
HuggingFace の助けを借りて、エンジニアは、トレーニングおよび調整された大規模なモデルを取得し、わずか数行のコードでワークフロー パイプラインに組み込むことができます。ただし、驚くべきことに、これらのモデルの 85% は PyTorch でのみ動作します。 TensorFlow に固有のものは、HuggingFace モデルの約 8% のみです。残りは 2 つのフレーム間で共有できます。
これは、今日多くのユーザーが大規模なモデルの使用を計画している場合は、TensorFlow から離れた方がよいことを意味します。そうしないと、モデルをトレーニングするために大量のコンピューティング リソースを投資する必要があります。
PyTorch は学生や研究用途に適しています
PyTorch は学界でより人気があります。これには理由がないわけではありません。研究論文の 4 分の 3 が PyTorch を使用しています。 TensorFlow を使い始めた研究者の間でも (覚えておいてください、TensorFlow はディープ ラーニングのはるか以前に登場したのです)、現在ではほとんどが PyTorch の使用に移行しています。
Google は AI 研究において重要な役割を担っており、主に TensorFlow を使用しているにもかかわらず、この驚くべき傾向は今後も続くでしょう。
より論理的に言えば、研究は教育に影響を与え、生徒が何を学ぶかを決定します。 PyTorch を使用してほとんどの論文を発表している教授は、講義で PyTorch を使用する傾向があります。 PyTorch についてより簡単に教えたり、質問に答えたりできるようになるだけでなく、PyTorch の成功をより強く確信できるようになります。
したがって、大学生は TensorFlow よりも PyTorch についての方がよく知っている可能性があります。さらに、今日の大学生が明日の労働者であることを考えると、この傾向の方向性は想像できます...
結局のところ、ソフトウェア フレームワークはエコシステムに参加している場合にのみ意味を持ちます。 PyTorch と TensorFlow はどちらも、HuggingFace に加えてトレーニング モデル用のリポジトリ、データ管理システム、障害防止メカニズムなどを含む、かなり発達したエコシステムを備えています。
これまでのところ、TensorFlow のエコシステムはまだ PyTorch よりもわずかに開発されていることは言及する価値があります。ただし、PyTorch は後から登場し、ここ数年でユーザーが大幅に増加したことを覚えておいてください。したがって、PyTorch のエコシステムは、いつか TensorFlow のエコシステムを超えるかもしれません。
TensorFlow コードは書くのが面倒ですが、一度書いてしまえば、PyTorch よりもデプロイしやすく、はるかに簡単です。 TensorFlow サービスや TensorFlow Lite などのツールは、クラウド、サーバー、モバイル、IoT デバイスに瞬時にデプロイできます。
一方で、PyTorch はリリース ツールのデプロイが遅いことで悪名高いことでした。そうは言っても、最近は TensorFlow との差が加速度的に縮まりつつあります。
現時点で予測することは困難ですが、今後数年間で PyTorch が TensorFlow のインフラストラクチャ展開に追いつくか、さらにはそれを超える可能性が非常に高いです。
TensorFlow コードは、デプロイ後のフレームワークの切り替えには費用がかかるため、しばらくは存在する可能性があります。ただし、新しいディープ ラーニング アプリケーションが PyTorch を使用して記述され、展開されることが増えてくると考えられます。
TensorFlow がなくなるわけではありません。ただ、以前ほど暑くないです。
主な理由は、機械学習に Python を使用する多くの人が PyTorch に注目していることです。
Python が機械学習用の唯一の言語ではないことに注意してください。これは機械学習の代表的なプログラミング言語であり、TensorFlow 開発者が Python のサポートに注力している唯一の理由です。
TensorFlow は JavaScript、Java、C でも使用できるようになりました。コミュニティは、Julia、Rust、Scala、Haskell などの他の言語のサポートの開発も開始しています。一方、
PyTorch は非常に Python 中心であり、それが非常に Python 的であると感じられる理由です。 C API を備えていますが、他の言語のサポートは TensorFlow の半分にも達していません。
PyTorch が Python の TensorFlow に取って代わることが考えられます。一方、TensorFlow は、その優れたエコシステム、展開機能、および他の言語のサポートにより、ディープラーニング分野の主要なプレーヤーであり続けるでしょう。
Python がどれだけ好きかによって、次のプロジェクトに TensorFlow を選択するか PyTorch を選択するかが決まります。
元のリンク: https://thenextweb.com/news/why-tensorflow-for-python-is-dying-a-slow-death
以上がTensorFlow for Python がゆっくりと死につつある理由の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。