PyTorch Lightningとは?(1/3)

入門/解説

1.PyTorch Lightningとは?(1/3)まとめ

・PyTorch Lightningは、PyTorchの上に構築された抽象化ライブラリ
・PyTorch Lightningによりモデルの構築とトレーニングがより速くより簡単になる
・PyTorch Lightningとfast.aiは似ているが設計思想と使い勝手が非常に異なる

2.PyTorch Lightningとfast.aiの違い

以下、www.kdnuggets.comより「Introduction to PyTorch Lightning」の意訳です。元記事の投稿は2021年10月、Kevin Vuさんによる投稿です。

アイキャッチ画像のクレジットはPhoto by Brandon Morgan on Unsplash

ディープラーニングに数年以上携わっている人なら誰でも、それが現在ほど簡単であるとは限らなかった時代を知っています。「近頃の子供たち」は、自分で独自にバックプロパゲーションを作ったり、数値勾配チェックを実装したり、TensorFlow1.0の不格好で定型文の多いAPIを使用したりするのがどのようなものかさえ知りません。

最先端のモデル実装や、(昔からあるが)新しく見える問題をトレーニングする事は大幅に容易になりました。特に、画像タスクなど、過去10年間で成熟するのに十分な時間があったカテゴリではそうです。

多くの手法、多くのタスクで、ディープラーニングは実験科学から工学的問題、そして最終的には技術的タスクに移行しました。実際、ほとんどの実務では、データと統計のスキルは、ディープラーニングやニューラルネットワークエンジニアリングよりもおそらく重要です。これをディープラーニングの「データサイエンス化」と呼ぶべきかもしれません。

Keras、fast.ai、そして本記事のトピックであるPyTorch Lightningのような高レベルのライブラリを使用すれば、モデルを構築、トレーニング、および転移を簡単に行う事ができます。

履歴書内のディープラーニング項目を目立たせるには、独自のMNISTデモといくつかのMOOC受講歴以上のものが必要です。

それは、最先端の研究文献に遅れずについていき、この分野を成長させるために独自の実験をいくつか展開することにもはや価値がないということではありません。

標準の畳み込みネットワーク(conv-net)は、もはやそれ自体のみで感銘を与えることはありませんが、開発の非常に初期の段階にあり、十分な成長の余地がある研究分野がたくさんあります。

多くの人々がここ数年、ディープラーニングの崩壊と次のAIの冬を予測してきましたが、特に構造生物学(structural biology)や計算化学(computational chemistry)、その他多くの刺激的で初期の活発な研究分野で、グラフニューラルネットワークが勢いを増しています。

ディープラーニングの研究では、研ぎ澄まされるべき最先端と探求する道がまだあります。研究が有望そうである事を言及さえされていない分野もあります。もし、探求したいと思える道を見たことがあるのであれば、それは道を探求する正当な理由です。

では、PyTorch Lightningはどこに収まるのでしょうか?

PyTorch Lightningは、ディープラーニングワークフローの多くの側面を抽象化および自動化することで開発をスピードアップします。

通常、ほとんどの作業時間はデータのクリーニングとパイプラインの構築に費やされるという決まり文句があります。

PyTorch Lightningは、この痛みの一部を取り除くことを目的としているため、開発者/研究者の時間は、ありふれた作業によって埋まってしまうことはそれほどありません。

この時点で、PyTorchの使用経験が豊富な読者は、PyTorchの別のプロジェクトとの類似点に気づき始めている可能性があります。結局のところ、PyTorchには、効率の向上に重点を置いた高レベルの抽象化ライブラリがすでにありませんでしたか?

PyTorch Lightningとは何ですか?

PyTorch Lightningは、PyTorchの上に構築された高水準プログラミングレイヤーです。これにより、モデルの構築とトレーニングがより速く、より簡単に、より信頼できるものになります。

しかし、それは、Jeremy HowardとRachel Thomasがfast.aiライブラリとオンラインコースを立ち上げたときに提供しようとしたものではありませんか?いくつかの点でそうですが、PyTorch Lightningとfast.aiの使用目的とユーティリティは実際にはまったく異なります。

fast.aiは、ディープラーニングのプログラミング作業(および計算コスト)のほとんどが実際には無駄になっているという考えに基づいて構築されました。

それは、他のすべてのディープラーニング学習者がまだ「ヒーローになろう」として、ゼロからトレーニングし、独自のモデルアーキテクチャ(これらのアーキテクチャが、他のディープラーニング実践者がコーディングしていたものとほぼ同じであったとしても)を構築しようとしていたためです。そして、独自のバグなどを特色として取り込むことがよくありました。

fast.aiが発表されたとき、基本的な前提は2つのことに焦点を当てていました。

(1)ディープラーニングはそれほど難しくありません
(2)ディープラーニングエンジニアリングの取り組みの90~99%は、転移学習を最大限に活用することで置き換えることができます。

fast.aiを使用すると、Francois CholletのKeras(TensorFlowに統合されて数年経ちます)に似た高水準プログラミングインターフェイスを提供するだけでなく、最先端の事前トレーニング済み重みを簡単にダウンロードできます。最適化された学習スケジュールを使用して、独自の問題に合わせて微調整できます。

これが、データサイエンスの競技ウェブサイトであるKaggleでライブラリが多く使用されている理由の大きな部分です。

3.PyTorch Lightningとは?(1/3)関連リンク

1)www.kdnuggets.com
Introduction to PyTorch Lightning

2)www.pytorchlightning.ai
PyTorch Lightning

3)github.com
fastai / fastai
pytorch / ignite

4)www.grid.ai
Grid.ai – Focus on Machine Learning Not Infrastructure

タイトルとURLをコピーしました