2019年ディープラーニングフレームワークランキング(トップ10からトップ3まで)

2019年ディープラーニングフレームワークランキング(トップ10からトップ3まで)

【51CTO.comオリジナル記事】

1. 前に書く

5Gは2019年上半期の輝く「星」と言えるが、米国は中国の5G技術が海外に流出するのを何としても阻止しようとしている。 5Gが重要な理由は、AI技術やビッグデータ技術と相まって、私たちの既存のライフスタイルを覆し、インテリジェンスを現実のものにするからです。

インテリジェントな世界では、5Gテクノロジーは高速(> 1 Gbps)かつ低遅延(1ms)の基本ネットワークサービスを提供して、モノのインターネット(IoT)を構築します。ビッグデータテクノロジーは、モノのインターネットによって生成された膨大なデータを統合する機能を提供し、AIテクノロジーは、インテリジェントエコシステム全体にコンピューティングと意思決定の機能を提供します。ディープラーニングテクノロジーは非常に効率的な実装方法です。過去10年間、学界と産業界によって「万能薬」であることが繰り返し証明されてきました。さまざまなモデルとアルゴリズムに依存して、人間よりも正確で迅速な判断を下すことができます。

図1 インテリジェント時代

テクノロジーは、その応用を実現するために効率的なモデルを必要としており、ディープラーニングフレームワークは「魔法の薬」を実現する「錬金術炉」です。ディープラーニングアルゴリズムのモジュールパッケージを通じて、モデルの構築、データの入力、さまざまなモデルのトレーニング、調整、テスト、展開を迅速に実行でき、インテリジェントエコシステム全体に予測や意思決定などのコア推論機能を提供します。

2. ディープラーニングフレームワークランキング

ディープラーニングフレームワークの開発の初期段階で、技術開発をより促進するためにさまざまな企業が作成したオープンソースのエコロジカルモデルのおかげで、今日ではディープラーニングフレームワークが繁栄し、競争が激しくなり、産業分野でのディープラーニングテクノロジーの実装が急速に促進されています。もちろん、良い「薬」には良い「炉」も必要です。以下では、現在主流のディープラーニングフレームワークの開発状況、それぞれの特徴、適切なシナリオなどを紹介し、皆様が適切な「炉」を見つけるお手伝いをしたいと考えています。

以下の記事では、業界への影響、リソース投資、開発エコロジー、ドキュメントシステム、モデルの包括性、業界の実践、オープンソースの人気(GitHub)の7つの側面から各フレームワークの開発状況を評価します。結果は次の図に示されています(参考)。

図 2 上位 10 のディープラーニング フレームワークの開発レベル (caffe と caffe2 は別々にカウント)

GitHubから関連データをいくつか見てみましょう。Pytorch、TensorFlow、PaddlePaddleは過去2年間で比較的速い開発速度を維持しています。特にPytorchのスター数は3倍に増加しており、注目を集めています。 Caffe&Caffe2、Theano、CNTK などはイテレーションを停止していますが、業界の急速な発展により、GitHub スターの数は依然として増加しています。

図 3 上位 10 のディープラーニング フレームワークの GitHub データの変化 (caffe と caffe2 は別々にカウント)

図4 上位10のディープラーニングフレームワークの成長率(caffeとcaffe2は別々にカウント)

3. ディープラーニングフレームワークのトップ10の詳細な説明

テンソルフロー

Google の TensorFlow は、今日非常に人気のあるディープラーニング フレームワークと言えます。 Airbnb、DeepMind、Intel、Nvidia、Twitterなど多くの有名企業で使用されています。

Google は TensorFlow をオープンソース化して以来、基礎研究、AI 教育からアプリケーションの実装まで、AI エコシステムを段階的に構築するために多くの人的資源、物的資源、資金を投入してきましたが、このエコシステムの中核となるのが TensorFlow です。前述の通り、ディープラーニングはAIoT時代の礎であり、時代の転換期においてGoogleが今も最前線に立っていることは間違いありません。

TensorFlow は包括的なサービスを提供します。Python、C++、JAVA、Go、さらには JavaScript、Julia、C# であっても、ほぼすべての開発者が使い慣れた言語からディープラーニングの旅を始めることができます。 TensorFlow はアクティブなコミュニティと完全なドキュメント システムを構築しており、学習コストを大幅に削減します。ただし、コミュニティとドキュメントは主に英語であり、中国語のサポートを強化する必要があります。さらに、TensorFlow では計算グラフを非常に直感的に視覚化できます。このモデルは、高性能コンピューターからモバイル デバイス、小型軽量のスマート端末まで、さまざまなハードウェア マシンに迅速に展開できます。

TensorFlow の欠点は長年批判されてきました。Pytorch や Caffe などのフレームワークと比較すると、TensorFlow の計算速度は「荷車を引く牛」と言えるでしょう。さらに、これを使用してディープラーニング フレームワークを構築するには、より複雑なコードと静的グラフの繰り返し構築が必要になります。

しかし全体的には、英語での読解やコミュニケーションに問題がない学生にとっては、TensorFlow は依然としてディープラーニング フレームワークの好ましい選択肢です。

ピトーチ

Pytorch は、Lua で記述された Torch ライブラリに基づいて Python で実装されたディープラーニング ライブラリです。Facebook によって作成され、現在、学界や産業界で広く使用されています。Caffe2 プロジェクトが Pytorch に組み込まれたことで、Pytorch はディープラーニング アプリケーション フレームワークの分野で TensorFlow の地位を脅かし始めています。

Pytorch の公式サイトのタイトルには、Pytorch の特徴と今後の発展の方向性が簡潔に説明されています。 Pytorch は学術界で大きな優位性を持っています。ディープラーニング モデルの使用に関する Google の記事を除いて、他のほとんどの記事は Pytorch で実験されています。その理由は、まず、Pytorch ライブラリは十分にシンプルで、NumPy、SciPy などとシームレスに接続でき、テンソル ベースの GPU アクセラレーションが非常に強力であることです。次に、トレーニング ネットワークの反復の核となる勾配計算、Autograd アーキテクチャ (Chainer から借用) は、Pytorch に基づいており、計算を実行するために不器用に静的ネットワーク グラフを定義することなく、ネットワークを動的に設計できます。任意のタスク用にネットワークを変更する場合は、静的グラフを最初から構築する必要があります。 Pytorch は、そのシンプルで柔軟な設計に基づいて、学術界における主流のディープラーニング フレームワークに急速に成長しました。

Pytorch の欠点は、モデルの展開にあります。展開の難しさについて聞いていたので、私は Pytorch モデルの展開を試みたことはありません。通常、私は Pytorch で新しいモデルをすばやくテストし、良好な結果を確認してから、簡単な最適化のために「既製の」TensorFlow モデルを探します。

しかし今、TensorFlow と Pytorch を詳しく見てみると、ますます似てきていることがわかります。TF は動的グラフ アーキテクチャを追加し、Pytorch は業界での使いやすさの向上に取り組んでいます。それぞれの公式サイトを開くと、文書のスタイルがどんどん似てきていることがわかります。

パドルパドル

PaddlePaddleはBaiduが独自に開発したオープンソースのディープラーニングプラットフォームで、最近では中国語名がFeipangになっています。公式サイトのスクリーンショットも、多くの人がパドリングをしている様子が写っていてとても興味深いです。 PaddlePaddle が最初にリリースされたとき、あまり評判が良くありませんでした。Google や Baidu にもあるような感じでした。しかし、最近、意味認識のプロジェクトに取り組んでいます。他のフレームワークには中国語をサポートするモデルがほとんどなく、時間も限られており、大規模なトレーニングを行う時間はありません。そこで、PaddlePaddle を試してみることにしました。BERT をベースにした ERNIE モデルは良い結果を達成し、展開も難しくありませんでした。個人的には、モデル ライブラリ内のクラシック モデルを独自の問題に適用し、ベースライン モデルとして簡単にテストしてから、ゆっくりと調整してより良い結果を得ることができると思います。

モデルライブラリから自分に合ったモデルを見つけて、実践的なチュートリアルをステップバイステップで実行します。プロセスは比較的簡単です。遭遇した問題は、GitHub の問題で見つけることができます。TF ほどアクティブではありませんが、サポートも非常にタイムリーです。公式サイトから機種を探していたところ、公式サイトが再度更新されていたので、対応機種の雰囲気をつかむために写真を盗んでみました。

図 5 PaddlePaddle モデル ライブラリ (出典: Baidu PaddlePaddle 公式サイト)

機能面では、PaddlePaddle は動的グラフと静的グラフの両方をサポートしているため、モデルのデバッグとデプロイが容易になり、ビジネス アプリケーションの実装に非常に適しています。 PaddlePaddle はすでに数百のノードの効率的な並列トレーニングもサポートしています。過去2年間でディープラーニングの分野は大規模に実践され、さまざまなフレームワークも急速に発展してきたと言えます。しかし、現段階ではBaiduのPaddlePaddleが最も急速に成長しているフレームワークであり、さらに最も急速に成長しているAI開発エコシステムのようです。

現時点では、上記 3 つのフレームワークは比較的急速に発展しており、現在も安定的に更新・メンテナンスが行われていると言えます。機能面では、フレームワークはますます似てきていますが、3 つのフレームワークにはそれぞれ独自の特徴があります。どれを選択するかは、目的によって異なります。

以下は、他の主要なフレームワークの簡単な紹介です。

ケラス

Keras の登場により、ディープラーニング アプリケーションの敷居は大幅に下がりました。Keras の API を使用すると、わずか数行のコードでネットワーク モデルを構築できます。かつては、Keras+Theano および Keras+CNTK モデルが開発者に深く愛されていました。現在、Keras アーキテクチャ全体が TensorFlow にカプセル化されており、すべての Keras タスクは TF.keras で完了できます。

ディープラーニング4j

Deeplearning4j は、その名前が示すように、JAVA で記述されており、Scala、Clojure、Kotlin などのあらゆる JVM 言語と互換性があります。基本的なコンピューティング モジュールは、C、C++、CUDA で開発されています。これに基づいて、DL4J は Spark および Hadoop エコシステムを適切にサポートし、マルチカード GPU でも優れたパフォーマンスを発揮します。 TF、Pytorch、PaddlePaddleと比較すると、DL4Jのドキュメントとコミュニティシステムはあまり充実しておらず、Python自体はサポートされておらず、高レベルのKeras APIによってサポートされているため、始めるのが少し難しくなります。また、そのアプリケーション例も非常に限られています。

MXネット

Mxnet は早くから有名になったと言えますが、その開発は生ぬるいものでした。現在は Apache プロジェクトの下でインキュベートされています。企業の支援を受けている TensorFlow、Pytorch、PaddlePaddle は、幅広い応用シナリオに依存して AI 開発の高速レーンに乗り出しました。Mxnet に欠けているのは、大手メーカーの応用シナリオの実装かもしれません。

カフェ&カフェ2

Caffe は、Yangqing Jia と Berkeley Artificial Intelligence Laboratory によって開発された、表現、速度、モジュール性を優先するように設計されたフレームワークです。 C、C++、Python などのインターフェースとコマンドライン インターフェースをサポートします。速度と変換性、そして畳み込みニューラル ネットワークのモデリングへの適用性で知られています。

Caffe ライブラリを使用する利点は、事前にトレーニングされ、すぐに使用できるディープ ネットワーク リポジトリ「Caffe Model Zoo」から利用可能なネットワークにアクセスできることです。 Caffe は、かつては強力な視覚認識用ディープラーニング ネットワークでした。ただし、Caffe は細粒度のネットワーク レイヤーをサポートしておらず、アーキテクチャを考慮すると、再帰ネットワークと言語モデリングの全体的なサポートは非​​常に貧弱であり、複雑なレイヤー タイプは低レベル言語で構築する必要があり、使用のハードルが高くなります。

Caffe2 は Facebook 組織によって開発されたディープラーニング モデルです。使用のハードルは Caffe ほど高くはありませんが、パフォーマンスをそれほど重視しない開発者にとっては依然として不向きであり、すぐに Pytorch プロジェクトに組み込まれました。 Caffe は 2017 年以降更新されておらず、新しいプロジェクトに登場することもほとんどありません。かつて有名だったフレームワークは終焉を迎えました。

チェイナー

Chainer は、NumPy や CuPy などのライブラリをベースに、純粋に Python で開発されています。その革新性は、ネットワークが静的なグラフではなく、柔軟に定義して高速に実行できるディープラーニング アーキテクチャであることです。また、大規模なシステムで実行し、高いパフォーマンスを維持できます。その後、Pytorch の設計上のインスピレーションは Chainer から部分的に借用されました。

テアノ

Theano はディープラーニング フレームワークの創始者です。2007 年に Yoshua Bengio 氏とモントリオール大学の研究チームによって作成され、広く使用されている最初のディープラーニング フレームワークです。 Theano は、より高速で強力な Python ライブラリです。数値表現や計算を効率的に実行できます。NumPy 行列表現からテンソル表現への飛躍とも言え、その後のディープラーニング フレームワークのモデルを提供します。残念ながら、Theano チームはプロジェクトの更新を停止しており、ディープラーニング アプリケーション フレームワークの開発は業界の大規模アプリケーションに依存する段階に入りました。

CNTK

CNTK は、Microsoft が開発したディープラーニング フレームワークであり、商用グレードの分散ディープラーニング用のオープン ソース ツールキットです。これは、ニューラル ネットワークを有向グラフを介した一連の計算ステップとして記述し、DNN、CNN、および自由な組み合わせモデルをサポートします。今年、CNTK チームもプロジェクトの更新を中止すると発表しましたが、残念です。

一般的に、各ディープラーニング フレームワークにはそれぞれ独自の利点があります。重要なのは、チームに適したフレームワークを見つけ、チームのテクノロジー スタックにすばやく適合させ、ディープラーニング テクノロジー アプリケーションの商業的価値を最大化するためにすばやく実験することです。

4. どのように選択するのですか?

では、これほど多くのフレームワークの中からどのように選択すればよいのでしょうか? TensorFlow、Pytorch、PaddlePaddle の 3 つのフレームワークをお勧めします。他のフレームワークはリソースが限られているか、メンテナンスされなくなっています。実際、私たちはこれら 3 つのフレームワークを多かれ少なかれ理解しているはずであり、実際の状況に応じて 1 つをすぐに選択できます。

ディープラーニングを初めて学びたい開発者であれば、TensorFlow と PaddlePaddle から始めることをお勧めします。少なくとも現時点では、Google と Baidu はこれら 2 つのプラットフォームの構築に全力を注いでいます。これらはもはや単なるディープラーニング フレームワークではなく、AI 開発エコシステムでもあり、基本的なビデオ コース、完全なドキュメント システムからオープンなプロジェクト実装まで、統合されたサービスを提供しています。ちなみに、Baidu PaddlePaddle の基本的なドキュメントは非常に詳細です。コードの実装とデータフロー プロセスのチュートリアルだけでなく、詳細なアルゴリズムの原理も含まれています。これにより、対応するモデルにあまり精通していない学生にとって非常に便利です。勉強する時間が余っている学生には、これら 3 つのフレームワークについて学ぶことをお勧めします。

学術目的であれば、まずはPytorchから始めるのがおすすめです。やはり学術研究は最先端を注視し、論文を読み、論文中のモデルの効果を再現することが大切です。誰もが使っているものを選ぶことで、無駄な時間コストを節約し、モデルの効果を高めるためのモデルの最適化に集中することができます。

すぐに使いたい、ディープラーニング技術を自分のシナリオに素早く適用したいという場合は、PaddlePaddle を選択することをお勧めします。PaddlePaddle には実践的なケースが多数用意されており、基本的にはそれを対応するシナリオに適用することで反復することができます。さらに、NLP の分野では、さまざまな言語を前処理する必要があります。PaddlePaddle は、膨大な中国語データをマイニングし、事前の意味知識をモデル化し、意味表現機能を強化する ERNIE など、中国語に対するサポートが優れていることは間違いありません。さまざまなシナリオでの NLP および NLU アプリケーションの基盤として機能します。

参考にして方向性を明確にするために、採用ウェブサイトからいくつかの JD を貼り付けます。

5. 未来

今は良い時代です。

インターネット文化とオープンソース文化のおかげで、テクノロジーは飛躍的に発展することができます。時代の転換点を導いてくれた人たちにも感謝しなければなりません。Google、Baiduなど、さまざまな業界に新しいテクノロジーを適用することに全力を尽くしてきた企業がいなければ、テクノロジーの急速な発展も、より良いライフスタイルへの変化もなかったでしょう。

AI技術の普及は、インテリジェント時代の発展の触媒です。ディープラーニング技術を原理からフレームワーク、そしてアプリケーションプラットフォームツールに応用し、あらゆるシーンに実装します。これが将来の発展のトレンドです。 5G技術の発展により、近い将来、あらゆるものの相互接続が実現すると信じています。ディープラーニングはAIoT時代の鍵であり、さまざまなプラットフォーム上の既存の実用的なプロジェクトは、業界に実装するための道筋を示しています。一つの火花が草原の火事を引き起こす可能性があると言えます。また、我が国独自のAI開発エコシステムを発展させることも同様に重要です。最近の「ファーウェイ事件」を考えると、備えておく方が良いでしょう。

結論として、フレームワークとプラットフォームはツールを提供するだけであり、コア競争力を持つためには、目標を定義し、適切なシナリオを見つけて、ビジネスにおけるアプリケーションの実装を促進し、商業的価値を実現する必要があります。

6. 参考文献

  1. https://www.techspot.com/article/1582-state-of-5g-wireless/
  2. https://www.tensorflow.org/
  3. https://pytorch.org/
  4. https://www.paddlepaddle.org.cn/
  5. 詳しくはこちら
  6. https://chainer.org/
  7. https://mxnet.incubator.apache.org/
  8. https://keras.io/
  9. 翻訳元:
  10. 認知ツールキット
  11. テンソルフロー
  12. https://www.springboard.com/blog/deep-learning-frameworks/

[51CTO オリジナル記事、パートナーサイトに転載する場合は、元の著者とソースを 51CTO.com として明記してください]

<<:  ディープラーニングを使用してPythonコードを自動的に補完するこのオープンソースプロジェクトは非常に素晴らしい

>>:  中国の科学者が色を変えることができる柔らかいロボットを開発

ブログ    
ブログ    

推薦する

IBMの人工知能システム「プロジェクト・ディベーター」が両討論会で勝利

海外メディアの報道によると、IBMは人工知能システム「プロジェクト・ディベーター」をリリースし、経験...

マスク氏の元従業員が「宇宙工場」を建設し、スペースXのロケットで打ち上げられた新型コロナウイルス治療薬パクスロビドの製造を開始した。

人類が宇宙に建設した最初の工場がここにあります。しかも無人工場です!先週、この衛星はマスク氏のスペー...

人工知能業界では無視できない技術分野「ナレッジグラフ」

[[384932]] 2012 年に、Google は Metaweb から派生した Knowle...

自動運転:「乗っ取り」という言葉を恐れるのをやめよう

編集者注:過去2年間、ロボタクシーの公共運行は中国の多くの場所で開花しました。これらのロボタクシーに...

1,000元の予算で半日のトレーニングを実施し、その効果は主流の大型モデル、オープンソース、市販の中国製LLaMA-2に匹敵する。

LLaMA-1 と比較して、LLaMA-2 はより高品質のコーパスを導入し、大幅なパフォーマンスの...

人工知能がデータアナリストに与える影響

セミナーで講演したイエローフィンのCEO、グレン・ラビー氏は、多くのアナリストが自動化や人工知能によ...

...

長文情報の精度はChatGPTを上回る、Metaは大規模モデルの幻覚を軽減する新手法を提案

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

畳み込みニューラルネットワークの父:人工知能が動画から常識を学ぶための次のステップ

志東西(公式アカウント:zhidxcom)起源ディープラーニング分野の大物として、ヤン・ルカン氏は近...

不動産の持続可能な開発を推進する4つのテクノロジートレンド

不動産業界は、エネルギー需要の 22% を占めていることから、変化する環境の中で持続可能性を確保する...

1 つの文で 10 万以上のコンテキストを持つ大規模モデルの真のパワーが発揮され、スコアが 27 から 98 に増加し、GPT-4 と Claude2.1 に適用可能

大きなモデルはすべてコンテキスト ウィンドウをロールアップしました。Llama -1 のときは、標準...

人工知能は厳しい規制の時代に入る

ChatGPTに代表されるLLM(Large Language Model)に基づく生成AIアプリケ...

...

ビッグデータの3つの柱:データ、ブロックチェーン、アルゴリズム

[[180308]]環境は常に変化し、新しいテクノロジーが登場し、新しい組織が絶えず構築されており、...