PyTorch または TensorFlow を使用していますか? 人々のグループによって答えは異なるかもしれません。研究者は、シンプルで使いやすく、アイデアを素早く検証して論文を発表する機会をつかむことができるため、PyTorch を好むかもしれません。 TensorFlow は多くの否定的なレビューを受けており、一部のユーザーは GitHub アカウントを登録して TensorFlow を批判する問題を提起しましたが、PyTorch は依然として業界のビッグ ブラザーとしての TensorFlow の地位を揺るがすことはできません。 では、2022 年を迎えるにあたり、PyTorch と TensorFlow のどちらを使用することに決めましたか? 長く続く甘さと塩辛さの論争TensorFlow は、2015 年 11 月 9 日に Apache 2.0 オープンソース ライセンスに基づいてソースコードを公開しました。その前身は、Google のニューラル ネットワーク アルゴリズム ライブラリ DistBelief でした。 TensorFlow は、データフロー プログラミングに基づく記号数学システムであり、さまざまな機械学習アルゴリズムのプログラミング実装で広く使用されています。 2017 年 1 月、Facebook Artificial Intelligence Research Institute (FAIR、現 MAIR) は Torch をベースにした PyTorch をリリースしました。これは主に次の 2 つの高レベル機能を提供します。
最近、Reddit での TensorFlow と PyTorch に関する議論が再びネットユーザーの注目を集めています。 質問の著者は、2 つのフレームワークとそれに対応するエコシステムが急速に発展しており、それぞれの陣営に熱狂的な支持者がいると述べています。おそらく、それらの違いは何かを分析する時期が来ているのでしょう。 現時点では、PyTorch はまだ「研究」フレームワークであり、TensorFlow はまだ「産業」フレームワークです。両者の間の議論は、主にモデルの可用性、モデルの展開、ソフトウェア エコロジーの 3 つの要素に起因しています。 モデルの入手可能性ディープラーニングの分野が年々拡大するにつれ、モデルはますます大規模化しています。SOTAモデルをゼロからトレーニングするにはコストが高すぎるため、ファインチューニングが新たな主流になってきました。したがって、公共SOTAモデルが採用する枠組みは、その後のコミュニティ生態学にとって非常に重要です。 PyTorch と TensorFlow はモデルの可用性の点で大きく異なります。PyTorch と TensorFlow はどちらも独自の公式モデル リポジトリを持っていますが、実践者は複数のソースからのモデルを活用したい場合があります。 現在、PyTorch は明らかに研究分野で勝利を収めています。ほとんどの研究者がこれを使用しており、公開されている論文やオープンソース モデルのほとんどは PyTorch を使用しています。 過去数年間にわたる 8 つのトップ研究ジャーナルからのデータを集計すると、PyTorch がますます一般的になり、論文での使用がわずか数年で約 7% から 80% 近くに増加していることがわかります。 TensorFlow の残りの問題のほとんどは 2019 年にリリースされた TensorFlow 2 で解決されましたが、少なくともコミュニティの観点からは、PyTorch は研究の世界でその地位を維持するのに十分な勢いを獲得しました。 Papers with Codeのウェブサイトに掲載されている論文では、PyTorchフレームワークを使用しているものがほとんどで、そのシェアは徐々に増加している一方、TensorFlowのシェアは年々減少しています。過去 3 か月間に作成された 4,500 個のリポジトリのうち、60% で PyTorch 実装が使用され、わずか 11% で TensorFlow が使用されました。 PyTorch は主流の研究ですが、例外もあります。Google と DeepMind は明らかに研究に TensorFlow を使用しています。OpenAI の古いベースラインの一部も TensorFlow でした。すべてが PyTorch に切り替えられたのは 2020 年になってからでした。 モデルの展開最高のパフォーマンスを持つモデルをトレーニングしても、それを本番環境に導入できない場合は意味がありません。 したがって、マイクロサービス ビジネス モデルの人気が高まる中、モデルの展開をより効率的に完了する方法が特に重要になります。効率的な展開は、AI を中核的な競争力とする企業の成功または失敗を決定する可能性があります。 TensorFlow は、登場以来、デプロイメント指向のアプリケーションに最適なフレームワークであり、TensorFlow Serving と TensorFlow Lite を使用すると、ユーザーはクラウド、サーバー、モバイル デバイス、IoT デバイスに簡単にデプロイできます。 大手企業がディープラーニングエンジニアを採用する場合、TensorFlowフレームワークの習得を求めるケースがほとんどです。 デプロイメントの観点から見ると、PyTorch はかつては非常に精彩を欠いていましたが、近年はその差を縮めるべく取り組んでいます。たとえば、TorchServe と PyTorch Live の相次ぐリリースではローカル デプロイメント ツールが提供されていますが、これらは依然としてモバイル デバイスのみを対象としており、多くのデプロイメント ツールはまだ初期段階にあります。 したがって、展開の利便性という点では、TensorFlow が勝ちます。 エコシステム現在、ディープラーニングは、高度に制御された環境での特定のユースケースに限定されなくなりました。つまり、AIはモバイル、携帯電話、Webページなど、あらゆる環境に適用できます。したがって、より大きなエコシステムを備えたフレームワークが非常に重要です。これにより、モバイル、ローカル、サーバーアプリケーションの開発が容易になります。 さらに、Google の Edge TPU などの特殊な機械学習ハードウェアの登場により、実践者はこのハードウェアと適切に統合されるフレームワークを使用する必要が生じています。 PyTorch と TensorFlow の関連エコシステムは非常に好調です。 HuggingFace に加えて、PyTorch のハブには、オーディオ、ビジョン、NLP のモデルを含む公式の PyTorch ハブもあります。また、有名人の顔の高品質な画像を生成する GAN を含む、いくつかの生成モデルも備えています。 SpeechBrain は、ASR、話者認識、検証、分類をサポートする、PyTorch の公式オープンソース音声ツールキットです。モデルを構築したくないが、自動チャプター分割、感情分析、エンティティ検出などを備えたプラグアンドプレイツールが必要な場合にも非常に便利です。 PyTorch Lightning は、PyTorch 用の Keras とも呼ばれ、PyTorch でのモデル エンジニアリングとトレーニング プロセスを簡素化し、2019 年の最初のリリース以来徐々に成熟してきました。 Lightning は、オブジェクト指向の方法でモデリング プロセスにアプローチし、プロジェクト間で使用できる再利用可能な共有コンポーネントを定義します。 また、分散トレーニング ツール TorchElastic もあります。これは、ワーカー プロセスを管理し、再起動の動作を調整することで、トレーニングに影響を与えることなく動的に変更できるコンピューティング ノードのクラスターでモデルをトレーニングし、トレーニングの進行状況を失うことなく、サーバー メンテナンス イベントやネットワークの問題などの問題によるダウンタイムを防ぐことができます。 TorchX は、機械学習アプリケーションを迅速に構築およびデプロイするための SDK です。 TorchX には、サポートされているスケジューラ上で分散 PyTorch アプリケーションを起動できるトレーニング セッション マネージャー API が含まれています。分散ジョブの起動を担当し、TorchElastic によってネイティブに管理されるジョブもネイティブにサポートします。 TensorFlow 陣営では、TensorFlow Hub は微調整可能なトレーニング済み機械学習モデルのライブラリであり、ユーザーはわずか数行のコードで BERT などのモデルを使用できます。Hub には、さまざまなユースケースに対応する TensorFlow、TensorFlow Lite、および TensorFlow.js モデルが含まれています。これらのモデルは、画像、ビデオ、オーディオ、およびテキストの問題に使用できます。 TensorFlow Extended は、TensorFlow を使用したモデル展開のためのエンドツーエンドのプラットフォームです。ユーザーは、データの読み込み、検証、分析、変換、モデルのトレーニングと評価、Serving または Lite を使用したモデルの展開、成果物とその依存関係の追跡を行うことができます。 TFX は Jupyter または Colab と一緒に使用でき、Apache Airflow/Beam または Kubernetes を使用してオーケストレーションできます。 TFX は Google Cloud と緊密に統合されており、Vertex AI Pipelines で使用できます。 MediaPipe は、顔検出、マルチハンド トラッキング、オブジェクト検出などに使用できる、マルチモーダルでクロスプラットフォームの応用機械学習パイプラインを構築するためのフレームワークです。このプロジェクトはオープンソースであり、Python、C++、JavaScript を含む複数の言語のバインディングを備えています。 TensorFlow.js は、Node.js を使用してブラウザーとサーバー上でモデルをトレーニングおよびデプロイできる機械学習用の JavaScript ライブラリです。 TensorFlow Cloud を使用すると、ユーザーはローカル環境を Google Cloud に接続できます。提供される API は、Cloud Console を使用せずに、ローカル マシンでのモデル構築とデバッグから GCP での分散トレーニングとハイパーパラメータ調整までのギャップを埋めます。 Google Colab は、Jupyter に非常によく似たクラウドベースのノートブック環境です。 Colab を Google Cloud に接続して GPU または TPU トレーニングを行うのは簡単です。また、PyTorch も Colab で使用できます。 これら3つの項目が完成しました。これら2つのフレームワークは、それぞれ長所と短所を持つ神々の戦いと言えます。 しかし、コメント欄の一部のネットユーザーは、「私は片足を業界に置いていますが、もう片方の足はまだ学問の世界にあります。しかし、TF は信頼性が低すぎ、特に TF1 から TF2 に移行するときにインターフェースが常に変更されるため、教えるときは依然として PyTorch を選択しています」と述べています。 また、柔軟性がより重要であるため、社内では PyTorch も使用しています。 上記の議論を読んでも、自分に合ったフレームワークを選択する方法がまだわからない場合は、League of Legends のヒーローのセリフが、この甘く辛い議論に対する究極の答えを提供してくれるかもしれません。 どのツールを好むかと尋ねるのはナイーブですが、私のお気に入りはハンマーです。 |
<<: 自動運転における説明可能なAIのレビューと今後の研究の方向性
>>: Meta AIは、ImageNetの事前トレーニングを超えて、小規模データセット向けの自己教師付き事前トレーニングであるSplitMaskを提案しています。
今週、OpenAIのビデオAIツール「Sora」が登場するや否や大きな話題を呼んだ。 「仕事を失う」...
12 月 9 日、Amazon Cloud Service (AWS) が開催する年次イベント AW...
この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...
[51CTO.comより引用] 2017年1月9日にWeChatミニプログラムが正式リリースされて以...
より高品質の製品をより多く、より低コストで生産することは、製造業の永遠の目標です。スマート製造革命に...
Python が最も人気のある言語であり、C が最も古典的な言語であるとすれば、Mojo にはその最...
[[204864]]機械学習 (ML) は、確率論、統計、近似理論、凸解析、アルゴリズム複雑性理論...
画像ソース: unsplash 30秒で読める1.複数の人工知能技術サービスプロバイダーがIT Ti...
1. 人工知能とディープラーニング2016年、AlphaGoとイ・セドルの囲碁対決は間違いなく、人工...
焼き菓子は、世界中のさまざまな料理の中で常に重要な位置を占めてきました。柔らかいパン、繊細なケーキ、...
多くの機械学習技術は、急速に概念実証から人々が日常的に頼りにする重要なテクノロジーの基盤へと移行して...
[[194310]]機械学習のタスクでは、データの不均衡という問題に頻繁に遭遇します。データの不均...