PyTorch ライブラリの 95% がこのバグの影響を受けます。テスラのAIディレクターも例外ではなかった

PyTorch ライブラリの 95% がこのバグの影響を受けます。テスラのAIディレクターも例外ではなかった

[[393110]]

この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載しています。転載の際は出典元にご連絡ください。

どのようなバグが Pytorch ライブラリの95% に影響を及ぼし、 Tesla の AI ディレクターにさえ問題を引き起こす可能性があるのでしょうか?

この虫は確かに小さいですが、かなり「狡猾」です。

これは最近 Reddit で話題になっています。ネットユーザーが一般的なPytorch+Numpy の組み合わせを使用しているときにこれを発見しました。

最も重要なことは、コードがスムーズに実行できたとしても、モデルの精度に影響するということです。

さらに、ネットユーザーの間で熱く議論されたもう一つのポイントは次の通り。

しかしそれはバグでしょうか?

[[393111]]

何が起こっているのか?

この事件の原因は、PyTorchでNumPyを使用して乱数を生成する際に、データの前処理の制限により、複数のプロセスがデータを並列にロードするが、最終的に各プロセスから返される乱数は同じになることをネットユーザーが発見したことでした。

彼はまた、自分の主張を裏付ける例も挙げた。

以下は、3 つの要素のランダムなベクトルを返すデータセットの例です。ここで使用されるバッチ サイズは 2 で、ワーカー プロセスの数は 4 です。

すると、不思議なことが起こりました。各プロセスによって返される乱数が同じになったのです。

この結果は本当にわかりにくいです。ちょうど、Xiao Ming が特定の距離を歩くのにどれくらい時間がかかるかを尋ねる数学の文章題で、計算すると負の数になるようなものです。

この問題を発見した後、ネットユーザーはGitHubから10万個以上のPyTorchライブラリをダウンロードし、同じ方法を使って乱数を生成した。

結果はさらに衝撃的で、 95% 以上のライブラリがこの問題に悩まされています。

その中には、PyTorch の公式チュートリアルや OpenAI のコードも含まれています。Tesla AI ディレクターの Karpathy 氏でさえ、「騙された」と認めています。

しかし、正直に言うと、このバグを解決するのは難しくありません。各エポックでシードをリセットするか、 Python の組み込み乱数ジェネレーターを使用してこの問題を回避します。

それはバグですか?

この問題はすでに解決できるのに、なぜこれほど大きな議論を呼んでいるのでしょうか?

ネットユーザーの注目が「哲学的」なレベルにまで高まったからだ。

これはバグですか?

Reddit の誰かがこう考えました: これはバグではありません。

この問題は非常に一般的ですが、バグではなく、デバッグ中に無視できないポイントです。

この見解が大きな騒動を引き起こし、多くの人が彼が問題の核心を見落としていると考えました。

これは疑似乱数を生成する問題ではなく、numpy の問題でもありません。問題の核心は、PyTorch の DataLoader の実装にあります。

ランダムな変換を含むデータ読み込みパイプラインの場合、これはすべてのワーカーが「同じ」変換を選択することを意味します。

NN の多くのデータ読み込みパイプラインは現在、データ拡張のために何らかのランダム変換を使用しているため、再初期化を行わないことがデフォルトになっている可能性があります。

別のネットユーザーも、このバグは実際にはデフォルトのプログラムで実行している場合にのみ発生するため、より多くのユーザーに指摘されるべきだと述べた。

そして、Pytorch ライブラリの 95% 以上がこれに悩まされていますが、これは決して誇張ではありません。

ある人は、以前の辛い経験を次のように話しました。

データセットを作成するために多くのプロセスを実行したときに、データの半分が重複していることに気付きました。何が問題なのかを突き止めるのに長い時間がかかりました。

また、95% 以上のユーザーが使用時にエラーを経験する場合、コードが間違っていると付け加えたユーザーもいます。

ちなみに、これはカルパシーの法則の別の例を示しています。つまり、非常に基本的なコードを台無しにしたとしても、「ニューラル ネットは機能しようとします」。

PyTorch で落とし穴に遭遇したことがありますか?

上記のバグは偶然ではありません。PyTorch を使用する人が増えるにつれて、バグもどんどん発見されます。ある Web サイトには PyTorch の落とし穴をまとめた記事もあり、49 万回も閲覧されています。

ベクトル、関数から model.train() まで、それが実際のバグであるか、自ら招いたバグであるかにかかわらず、誰もが経験する血と涙の物語は本当に異なります。

それで、PyTorch での経験について、共有できる血と涙の物語はありますか?

<<:  音声認識技術は急速に発展しており、その規模は今後5年間で300億近くに達するだろう。

>>:  アルゴリズムから離れた「ジレンマ」に直面し、専門家はシナリオベースの洗練されたガバナンスの実行を提案している。

ブログ    
ブログ    

推薦する

Meta AI が Omnivore をリリース: 画像、動画、3D データの分類タスクを処理できるモデル

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

スタートアップがAIを活用してデータ駆動型マーケティング戦略を開発する方法

データ駆動型マーケティング戦略は組織の成長と発展に重要な役割を果たしており、組織はデータ駆動型マーケ...

...

マイクロソフトは下書きを数秒でアプリに変換し、Mac Miniのようなミニデスクトップコンピューターを発売

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

CMU、清華大学、MITが世界初のエージェント無限フローをリリース。ロボット「007」は残業して勉強が止まらない!具現化された知能は革命を起こしている

世界初の生成型ロボットエージェントがリリースされました!長い間、大規模なインターネットデータでトレー...

大きなモデルに「深呼吸して一歩ずつ進んでください」と指示すると、驚くほど効果があります。DeepMindは、モデルに指示を与える最も効果的な方法を見つけました。

最適化はあらゆる分野で重要です。一部の最適化は初期化から始まり、その後ソリューションを繰り返し更新し...

ディープラーニングツール: TensorFlow と NLP モデル

[[200204]]序文自然言語処理 (略して NLP) は、コンピューターが人間の言語を処理する方...

...

百度のAIが海淀区の「スマートスクリーン」を実現、1秒で全状況を把握

今年初め、海淀シティブレインのインテリジェントオペレーションコマンドセンター(IOCC)が正式に公開...

世界をより高いレベルのイノベーションへと導く AI テクノロジー トップ 10

Analytics Insight は、世界を次のレベルのイノベーションに押し上げるトップ 10 ...

舌先にAI:人工知能技術が食卓に並ぶ

世界中の食べ物は、まさに世界の花火のボウルに過ぎません。人工知能は、新しい技術科学として、日常生活に...

...

百度の主任科学者アンドリュー・ン氏が辞任を発表

[[186234]] 3月22日、百度のトップ科学者アンドリュー・ン氏は、英語のセルフメディアプラッ...

JVM チューニングの概要: 新世代のガベージ コレクション アルゴリズム

ガベージコレクションのボトルネック従来の世代別ガベージ コレクション方式では、ある程度、アプリケーシ...